在使用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
,因为我正在使用其他公司托管。
答案 0 :(得分: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
-density = dpi
我希望这会对你有所帮助!
PS:这仅适用于一张图片,但您可以根据自己的价格进行调整。