【发布时间】:2016-06-03 04:38:15
【问题描述】:
我正在使用 Imagick 将 PDF 中的所有页面转换为 JPG。但是有些东西不对劲,可能是因为我缺乏 PDF 知识。
问题
我正在转换的 PDF 是一本书。除了封面/第一页外,所有页面都很棒。如果我在 PDF 预览器中打开 pdf,它看起来应该是这样,但我转换后的图像显示封面页 + 书的背面。如果我在 Illustrator 中打开 PDF 的第一页,我会得到与图像相同的结果。我也有一些 pdf 包含边距的问题,这些边距没有显示在 PDF 预览器中,而是在我的图像中显示为空白。
但是当转换为图像时,背面是白色的。就像它不存在但图像尺寸等于它们两者一样。
原因及解决方法
为什么会发生这种情况,我可以以某种方式忽略背部吗?还是应该在 PDF 中修复?该死的……
代码示例
//...
$imagick->readImage('book.pdf[0]');
//...
file_put_contents('cover.jpg', $imagick):
可能的解决方案
好像如果我使用 trimImage 我会得到预期的结果。所以我有一个额外的问题。 trimImage 是如何工作的?它如何知道要修剪什么,例如,如果我有一个中间有文字的白色图像?
【问题讨论】:
-
您能否分享一份显示此行为的 PDF 文档?
-
我可以尝试创建类似的效果,但我无法分享我目前拥有的书籍
-
如果 trimImage 重置它,那么测试一下
$imagick->setImagePage($imagick->getImageWidth, $imagick->getImageHeight(), 0, 0);做了什么会很有趣。 -
嗯,是的,一定会尝试的。非常有趣,它要么会导致出现白框,要么会神奇地解决问题。