我使用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);
和使用此文档的代码生成的预览正好在下面
我的实际PDF文件如下所示
你可以看到很多不平等之处,我需要一种转换方式,就像它的副本一样。 并且我确定PDf报告中没有任何错误,我尝试将其上传到Google邮件中,这给了一个完美的图像,我确实将PDf转换为jpeg http://pdf2jpg.net/ 这给了文档的完美副本,只有Imagemagick / Gjostscript无法生成一个完整的副本。 任何帮助都会有所帮助。
答案 0 :(得分:0)
您正在使用什么来查看'正确的'显示PDF?渲染时Ghostscript会发出任何警告吗?
在我看来,就像那里可能'原始PDF文件中缺少字体,这将导致字体替换。
为什么使用-dUseCIEColor?这几乎肯定会导致颜色变化,我也会在你的图像中看到。如果你有充分的理由使用它,它是什么?如果你没有充分的理由,那就不要这样做。
第二张图片是JPEG吗?第一个显然是,jpeg是一个有损压缩,你试过使用TIFF吗?
将这些类型的问题发布到原始PDF文件的链接总是有用的,这样可以进行一些调查,如果不这样做,这就是我所害怕的所有猜测。