【发布时间】:2016-08-05 15:41:19
【问题描述】:
我正在尝试将 JPG 格式的图像与标准 PDF 文档合并,同时保持图像大小相同。早些时候我使用 ImageMagick 的 convert,但由于它将所有内容都转换为图像,因此导致质量大幅下降,因此我正在切换到 ghostscript(或最终使用 itextpdf)。
我发现this code 将缩放后的图像插入 A4 页面:
gs \
-sDEVICE=pdfwrite \
-o foo.pdf \
/usr/local/share/ghostscript/8.71/lib/viewjpeg.ps \
-c \(my.jpg\) viewJPEG
this way 或 that way 中来自 itextpdf 的 PdfWriter 可能是替代方案,但它也会将图像添加到页面中。
检查 ImageMagick 的行为后,我发现它使用的命令最接近我的解决方案,但当我尝试修改或使用它时它似乎不起作用。应该怎么修改?
gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=pngalpha -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 -sOutputFile=out_gs.pdf fox_big.jpg
【问题讨论】:
-
这很奇怪:当您谈论 iText 时,您指的是两个与 iText 没有任何关系的晦涩网站上的文章。我希望您链接到official iText web site 上的文章。您在使用 iText 时不使用 iText 网站有什么原因吗?
-
我的印象是整个生态系统都是糟糕的教程,通常是过时的代码复制/粘贴在一起,唯一的目的是生成网页浏览量......
-
我在另一个与 itext 相关的 SO 问题上找到了第一个链接。在谷歌上搜索“itext jpg pdf”时,当您的页面位于第 9 位时,我发现第二个链接是第一个结果。我保证在将来提出问题之前会进行更好的研究。
-
顺便说一句,上述命令不起作用的原因是它不使用viewjpeg.ps,因此无法直接读取JPEG文件。您需要包含“/usr/local/....../viewjpeg.ps -c (fox_big.jpg) viewJPEG” 当然,该命令的其余部分会生成 PNG,但也许这就是您所期望的。如果你打算使用 Ghostscript,最好使用更新一点的东西,8.71 是(IIRC)6 岁。
标签: java pdf itext ghostscript imagemagick-convert