使用 ImageMagick 将 pdf 转为 jpg
pdf to jpg with ImageMagick
在本地服务器上安装了 imagemagick,但不了解如何将 pdf 文件的所有页面转换为单个图像 jpg。甚至是否可能。
不指定页码只转换第一页
$im = new imagick( "libs/pdf/files/$Jfile" );
// convert to jpg
$im->setImageColorspace(255);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setCompressionQuality(60);
$im->setImageFormat('jpeg');
//resize
$im->resizeImage(385, 500, imagick::FILTER_LANCZOS, 1);
//write image on server
$im->writeImage("libs/pdf/files/$JPGfile");
$im->clear();
$im->destroy();
两个选项...
选项 1
要使 PDF 的每一页都以单独的 JPEG 格式输出,请将倒数第三行从:
更改为
$im->writeImage("libs/pdf/files/$JPGfile");
类似于:
$im->writeImages("z%03d.jpg",false);
选项 2
要使 PDF 的所有页面都显示在一个长列表中,请将注释 "write image on server" 的位置更改为以下内容:
// Write on server
$im->resetIterator();
$appended = $im->appendImages(true);
$appended->writeImage("appended.jpg");
将 true
更改为 false
,具体取决于您想要长图片列表还是宽图片列表。
在本地服务器上安装了 imagemagick,但不了解如何将 pdf 文件的所有页面转换为单个图像 jpg。甚至是否可能。
不指定页码只转换第一页
$im = new imagick( "libs/pdf/files/$Jfile" );
// convert to jpg
$im->setImageColorspace(255);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setCompressionQuality(60);
$im->setImageFormat('jpeg');
//resize
$im->resizeImage(385, 500, imagick::FILTER_LANCZOS, 1);
//write image on server
$im->writeImage("libs/pdf/files/$JPGfile");
$im->clear();
$im->destroy();
两个选项...
选项 1
要使 PDF 的每一页都以单独的 JPEG 格式输出,请将倒数第三行从:
更改为$im->writeImage("libs/pdf/files/$JPGfile");
类似于:
$im->writeImages("z%03d.jpg",false);
选项 2
要使 PDF 的所有页面都显示在一个长列表中,请将注释 "write image on server" 的位置更改为以下内容:
// Write on server
$im->resetIterator();
$appended = $im->appendImages(true);
$appended->writeImage("appended.jpg");
将 true
更改为 false
,具体取决于您想要长图片列表还是宽图片列表。