Cakephp 如何使用ImageMagick for PHP将多页PDF转换为图像?
我想将pdf文件转换为图像。我在cakePHP中使用ImageMagick进行图像转换 当我使用单页PDF时,它会被转换为图像,但问题是当我使用多页PDF时,只有文档的最后一页转换为图像,而不是所有页面 我怎样才能解决这个问题 这是我的密码Cakephp 如何使用ImageMagick for PHP将多页PDF转换为图像?,cakephp,imagemagick,Cakephp,Imagemagick,我想将pdf文件转换为图像。我在cakePHP中使用ImageMagick进行图像转换 当我使用单页PDF时,它会被转换为图像,但问题是当我使用多页PDF时,只有文档的最后一页转换为图像,而不是所有页面 我怎样才能解决这个问题 这是我的密码 public function convertToImage() { $this->layout = "ajax"; $uploadfile=APP.WEBROOT_DIR.DS.'files'.DS.$this-&g
public function convertToImage() {
$this->layout = "ajax";
$uploadfile=APP.WEBROOT_DIR.DS.'files'.DS.$this->request->data['f'];
$uploaddir=APP.WEBROOT_DIR.DS.'files'.DS.'images'.DS;
$im = new imagick();
$im->setResolution(80,80);
$im->readimage($uploadfile);//."[0]");
$im->setImageFormat('jpeg');
$image_name = $this->request->data['f'].".jpg";
$imageprops = $im->getImageGeometry();
if ($imageprops['width'] <= 1275 && $imageprops['height'] <= 1650) {
// don't upscale
} else {
$im->resizeImage(1275,1650, imagick::FILTER_LANCZOS, 0.9, true);
}
$im->writeImage($uploaddir .$image_name);
$im->clear();
$im->destroy();exit;
}
您可以通过以下方式访问每个页面:
$im->readimage($uploadfile."[".$pageNumber."]");
使用imagemagick,您还可以读取pdf中的页面数:
$document = new Imagick('document.pdf');
$document->getNumberImages();
使用这个数字,您可以在每个页面上迭代并保存图像
如上所述:当与pdf一起使用时,imagemagick的指针设置为最后一页。我想知道是否可以将所有pdf页面转换为一个连续图像。