Merging png images into one pdf file

如何在 Unix 中将多个 .png文件合并为一个 PDF 文件?

57007 次浏览

通过查看 ImageMagick 上的文档,可能很简单:

convert 1.png 2.png myfile.pdf

查看关于可能的风险的评论。如果这不起作用,PDFjam声称能够解决你的问题。

如果我想把一些扫描合并到一个 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

正如 Jeremiah Willcock 在答案中提到的,pdfjoin命令是 PDFjam 的一部分。因此,您很可能必须使用您的发行版软件包管理器安装一个名为 pdfjamtexlive-extra-utils的软件包。PDFjam 从2010-11-13发布的2.07版本开始就能够使用 png文件作为输入。

我偷了这个,但这是我从 Jeremiah Willcock 和另一个答案网站上找到的解决方案。现在不是在挖掘历史。我撒谎了,真的。(Tully@https://askubuntu.com/a/626301)
我需要一个足够小的文件来发电子邮件。

To combine images into a 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个图像(转换后为19 MB,gs 为1.6 MB,质量仍然很好)。输出文件称为 output.pdf

ImageMagick 转变工具是我的首选。

该转换程序是 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

Use a value between 0 and 100 for the quality option.

或者,您可以通过对图像重新采样以达到一定的分辨率来达到较低的文件大小(和质量)。

convert *.png 2.png -resample 300 Result.pdf

resample的值是指每英寸的像素数。ImageMagick 从输入图像的 EXIF 部分读取原始密度,下降到72dpi。可以使用 density参数为输入图像设置自定义分辨率。

当然,您也可以组合 compressqualityresample参数。