如何在Unix中将多个.png
文件合并为一个PDF文件?
答案 0 :(得分:131)
答案 1 :(得分:27)
如果我想将一些扫描合并到一个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
命令是Jejmiah Willcock在答案中提到的PDFjam的一部分。因此,您很可能必须使用您的发行包软件包管理器安装名为pdfjam
或texlive-extra-utils
的软件包。 PDFjam能够使用png
文件作为自2010-11-13发布的2.07版以来的输入。
答案 2 :(得分:8)
ImageMagick 的convert工具是我的首选。
转换程序是ImageMagick工具套件的成员。 用它来转换图像格式以及调整图像大小, 模糊,裁剪,去除斑点,抖动,绘制,翻转,加入,重新采样等等。
convert [input-option] input-file [output-option] output-file
如果您希望图像文件(以及它们的质量和文件大小)保持不变,只需在其周围放置PDF容器:
convert In.png In-2.png Someother-*.png Result.pdf
如果您希望文件较小,并且质量下降,则可以先将它们转换为JPEG格式。
convert 1.png 2.png -compress jpeg -quality 50 Result.pdf
quality
选项使用0到100之间的值。
答案 3 :(得分:4)
我偷了这个,但这是我从Jeremiah Willcock和另一个答案网站使用的解决方案。目前还没有挖掘历史。我骗了,我做了。 (Tully @ 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
。