将PDF文档的一部分呈现为图像文件需要哪些库、扩展等?

我发现大多数PHP PDF库都围绕着创建PDF文档,但是是否有一种简单的方法可以将文档渲染成适合web使用的图像格式呢?

我们的环境是一个LAMP堆栈。


当前回答

你也可以尝试执行imagemagick附带的“convert”实用程序。

exec("convert pdf_doc.pdf image.jpg");
echo 'image-0.jpg';

其他回答

使用php扩展Imagick。 要控制栅格输出图像的所需大小,请使用setResolution函数

<?php    
$im = new Imagick();
$im->setResolution(300, 300);     //set the resolution of the resulting jpg
$im->readImage('file.pdf[0]');    //[0] for the first page
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>

(Paolo Bergantino的回答和Luis Melgratti的评论。您需要在加载图像之前设置分辨率。)

你也可以尝试执行imagemagick附带的“convert”实用程序。

exec("convert pdf_doc.pdf image.jpg");
echo 'image-0.jpg';

你需要ImageMagick和GhostScript

<?php
$im = new imagick('file.pdf[0]');
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>

[0]表示第一页。

你可以使用下面的库来使用javascript将pdf转换为图像

http://usefulangle.com/post/24/pdf-to-jpeg-png-with-pdfjs

您还可以使用

$im->getNumberImages();

然后你可以创建拇指的所有页面使用循环,例如。

'file.pdf['.$x.']'