如何将PDF转换为与PHP / Imagemagick / Ghostscript完全相似的图像

时间:2014-03-29 05:36:37

标签: php imagemagick gd tcpdf ghostscript

我使用PHP生成PDF文档(TCPDF是后面的库)并显示它们我使用ghostscript将它们转换为图像,并显示预览,但预览实际上与PDF文档类似。

我用来转换的代码在这里

$pdf = 'my_report.pdf';
$output = 'my_preview.jpg';
$quality=90;
$res='300x300';
$exportPath=$output;
set_time_limit(900);
exec("'gs' '-dNOPAUSE' '-sDEVICE=jpeg' '-dUseCIEColor' '-dTextAlphaBits=4' '-dGraphicsAlphaBits=4' '-o$exportPath' '-r$res' '-dJPEGQ=$quality' '$pdf'",$output);

和使用此文档的代码生成的预览正好在下面 enter image description here

我的实际PDF文件如下所示 enter image description here

你可以看到很多不平等之处,我需要一种转换方式,就像它的副本一样。 并且我确定PDf报告中没有任何错误,我尝试将其上传到Google邮件中,这给了一个完美的图像,我确实将PDf转换为jpeg http://pdf2jpg.net/ 这给了文档的完美副本,只有Imagemagick / Gjostscript无法生成一个完整的副本。 任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:0)

您正在使用什么来查看'正确的'显示PDF?渲染时Ghostscript会发出任何警告吗?

在我看来,就像那里可能'原始PDF文件中缺少字体,这将导致字体替换。

为什么使用-dUseCIEColor?这几乎肯定会导致颜色变化,我也会在你的图像中看到。如果你有充分的理由使用它,它是什么?如果你没有充分的理由,那就不要这样做。

第二张图片是JPEG吗?第一个显然是,jpeg是一个有损压缩,你试过使用TIFF吗?

将这些类型的问题发布到原始PDF文件的链接总是有用的,这样可以进行一些调查,如果不这样做,这就是我所害怕的所有猜测。