0

Imagick を使用する php では、一度に 1 つの 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);

変換が機能する場合、$ 結果は 0 になります

-密度 = dpi

これがお役に立てば幸いです。

PS .: これは 1 つの画像のみですが、$i に適応させることができます。

于 2013-06-25T06:03:28.970 に答える