0

在使用 Imagick 的 php 中,我可以一次将一个 pdf 页面转换为 jpg 图像。但我需要将我的 pdf 的所有页面转换为单独文件夹中的 jpg 文件。

在我的代码下面

<?php 
  for($i=0;$i<=20;$i++){
  $pdf_file   = 'book.pdf';
  $save_to    = 'pages/tw'.$i.'.jpg';
  $img = new imagick();
  $img->setResolution(200,200);
  $img->readImage("{$pdf_file}[$i]");
  $img->scaleImage(800,0);
  $img->setImageFormat('jpg'); 
  $img = $img->flattenImages();
  $img->writeImages($save_to, false);
  $img->destroy();     
 }
 ?> 

上面的代码产生最多 10 页的结果。然后它以 30 秒的执行时间终止。我无法管理php.ini,因为我正在与另一家公司一起使用托管。

4

1 回答 1

1
 $mypdf = escapeshellarg( "mysafepdf.pdf" );

  $newjpg = escapeshellarg( "output.jpg" );

  $result = 0;

  exec("convert -density 600 {$mypdf} {$newjpg} -colorspace RGB -resample 300", null, $result);

如果转换有效,$ result 将为 0

-密度 = dpi

我希望这能帮到您!

PS.:这仅适用于一张图片,但您可以根据您的 $i 进行调整。

于 2013-06-25T06:03:28.970 回答