【发布时间】:2011-06-14 07:10:46
【问题描述】:
如何在 Unix 中将多个 .png 文件合并为一个 PDF 文件?
【问题讨论】:
如何在 Unix 中将多个 .png 文件合并为一个 PDF 文件?
【问题讨论】:
通过查看 ImageMagick 上的文档,可能很简单:
convert 1.png 2.png myfile.pdf
请参阅 cmets 了解可能的风险。如果这不起作用,PDFjam 声称能够解决您的问题。
【讨论】:
-quality 选项,但文件大小始终为 ~9.5 MiB。
convert *.jpg file.pdf转换指定类型文件夹中的所有文件
-compress jpeg -quality 50压缩文件。见my answer
如果我想将一些扫描合并到一个 PDF 文件中,我会这样做:
pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png
这为您提供了一个 DIN-A4 页面大小的 PDF 文档,其中每个 png 文件都以它自己的页面为中心。对于一个 DIN-A4 页面来说太大的图像会按比例调整大小以适合一页。较小的图像不会调整大小(不会变大)。
你必须在命令行上命名所有png文件,但你也可以使用通配符来合并当前目录中的所有png文件:
pdfjoin --a4paper --fitpaper false --rotateoversize false *.png
pdfjoin 命令是 Jeremiah Willcock 的回答中提到的 PDFjam 的一部分。因此,您很可能必须使用您的发行版包管理器安装一个名为 pdfjam 或 texlive-extra-utils 的包。自 2010 年 11 月 13 日发布的版本 2.07 起,PDFjam 能够使用 png 文件作为输入。
【讨论】:
pdfjoin 在某些平台上的 texlive-extra-utils 包中可用。您也可以随时从源代码安装它。
pdfjoin,但您可以使用 pdfjam 来实现。它采用相同的参数
ImageMagick 的 convert 工具是我的首选。
转换程序是 ImageMagick 工具套件的成员。 使用它在图像格式之间进行转换以及调整图像大小, 模糊、裁剪、去斑、抖动、绘制、翻转、连接、重新采样等等。
convert [input-option] input-file [output-option] output-file`
如果您希望图像文件(以及它们的质量和文件大小)保持不变,只需在它们周围放置一个 PDF 容器:
convert In.png In-2.png Someother-*.png Result.pdf
如果您想要较小的文件大小,并且可以接受质量损失,您可以先将它们转换为 JPEG 格式。 (ImageMagick 也支持更改 PNG 压缩级别,但通常您的输入文件已经使用最高级别。)
convert 1.png 2.png -compress jpeg -quality 50 Result.pdf
为 quality 选项使用介于 0 和 100 之间的值。
或者,您可以通过将图像重新采样到特定分辨率来降低文件大小(和质量)。
convert *.png 2.png -resample 300 Result.pdf
resample 的值是指每英寸的像素数。 ImageMagick 从输入图像的 EXIF 部分读取原始密度,回落到 72 dpi。您可以使用density 参数为输入图像设置自定义分辨率。
您当然也可以组合compress、quality 和resample 参数。
【讨论】:
我偷了这个,但这是我从 Jeremiah Willcock 和另一个答案网站使用的解决方案。暂时不去挖掘历史。我撒谎了,我做到了。 (塔莉@https://askubuntu.com/a/626301)
我需要一个足够小的文件来发送电子邮件。
将图像组合成 PDF (从工作目录使用命令行:
user@box:/home/user/scans/:$
convert 1.png 2.png convertoutput.pdf
合并后使用 ghostscript 缩小 (我在kde默认系统上用的差不多):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
-dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
-r150 -sOutputFile=output.pdf convertoutput.pdf
我的文件有 14 张图片(转换后为 19MB,gs 为 1.6MB,质量仍然很好)。输出文件名为output.pdf。
【讨论】:
-compress jpeg -quality 50。见my answer