インターネット上で配布されているプログラムを使用して PDF のスクリーンショットを PNG に変換するには、Imagic 拡張子を使用する必要があります。 Windows でのインストール後、次のプロンプトが表示されます:
致命的なエラー: C:wwwhxpdf_to_png.php の 17 行目で Imagick クラスの複製不可能なオブジェクトを複製しようとしています
このプロンプトは、IIS および Apache を使用しているときに表示されます。多くのテストの後、次の 2 つの解決策が見つかりました:
1.php.ini; Zend Engine 1 (PHP 4.x) との互換性モードを有効にする
zend.ze1_compatibility_mode = Off
デフォルトは On ですが、これを Off に変更すると、次のことが可能になります。解決される。
2. imagick::... を使用して呼び出します。
つまり、$im->setResolution(120, 120); は次のように書き換えることができます:
imagick::setResolution(120, 120); 他の拡張機能でこの種のエラーが発生した場合は、通常、これら 2 つのメソッドを使用できます。それを解決するために。
pdf を png に変換するためのプログラム コード スニペットを添付します:
コードをコピーします コードは次のとおりです:
function pdf2png($pdf, $filename, $page=0) {
if (! extension_loaded('imagick')) {
exit('no imagick');
if (!file_exists($pdf)) {
$im = new Imagick(); $im->setResolution( 120, 120);
$im->setCompressionQuality(100);
$im->readImage($pdf . "[" . $page . "]"); >setImageFormat('png' );
$im->writeImage($filename);
$im->resizeImage(120, 150, Imagick::FILTER_LANCZOS, 1);
$im->writeImage($filename)
}
上記では、クローン可能なプロンプト「Imagic クラスのクローン不可能なオブジェクトをクローンしようとしている」に対する解決策を紹介しました。クローン可能な側面も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。