带有PHP意外行为的PDF到JPG

时间:2016-02-21 21:04:37

标签: php pdf jpeg imagick

我使用Imagick将PDF中的所有页面转换为JPG。但有些事情已经结束,可能是因为我缺乏PDF知识。

问题
PDF I' m转换是一本书。除封面/第一页外,所有页面都很棒。如果我在PDF预览器中打开pdf,它看起来应该如此,但我转换的图像显示封面页+书的背面。如果我在Illustrator中打开PDF的第一页,我会得到与我的图像相同的结果。我也有一些包含边距的pdf的问题,这些边距不会显示在PDF预览器中,而是显示在我的图像中的空白处。

enter image description here

但是当转换为图像时,背面是白色的。它不存在,但图像尺寸等于它们。

原因和解决方案
为什么会发生这种情况,我能否以某种方式忽略背面?或者这应该在PDF中修复?屎出来......

代码示例

//...
$imagick->readImage('book.pdf[0]');
//...
file_put_contents('cover.jpg', $imagick):

可能的解决方案
好像我使用trimImage我得到了预期的结果。所以我有一个奖金问题。 trimImage如何运作?它是如何知道要修剪的,例如,如果我的中间有一个带有文字的白色图像,那就说了吗?

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题,解决方案非常简单。解决方案是使用 cropbox 。您可以使用setOption设置Imagick选项。

$imagick->setOption('pdf:use-cropbox', 'true');

可在此处找到可用选项:http://www.imagemagick.org/script/command-line-options.php