问题描述
我在目录中有很多jpeg文件,我想将它们转换为pdf并将它们连接在一起以生成文档。如何做呢?我更喜欢命令行,因为它会更快。
最佳解决方法
从imagemagick
包中,使用convert
命令:
convert *.jpg pictures.pdf
您将得到一个包含当前文件夹中所有jpg的pdf。
安装IM:
sudo apt-get install imagemagick
编辑:请注意,如果图像没有编号,图像将不符合特定的顺序。如果你有10个或更多,你需要命名他们结束filename01.jpg … filename99.jpg等。前导零需要正确的排序。如果您有100或更多001 … 999。
次佳解决方法
convert `ls -1v` file.pdf
-
这个ls将在”natural order”(1,2,3 …)中一次列出一个文件并继续转换。
第三种解决方法
为我工作(但警告!关闭压缩和产生的PDF将是巨大的!):
convert page1.jpg page2.jpg +compress file.pdf
甚至:
convert -rotate 90 page\*.jpg +compress file.pdf
从ubuntuforums.org,+compress
帮助它不会挂起。注意:+ compress会关闭压缩。当时我正在使用的机器似乎永远挂不停(我没有永远等待,直到找出答案)。没有+ compress选项。您的里程可能会有所不同!在imagemagick.org option -compress上的RTFM,可能试验-compress<类型>如果你有缓慢的压缩/悬挂问题,以找出什么适合你。
第四种方法
使用LibreOffice Writer打开jpg或png文件并将其导出为PDF。
我希望,这是导出PDF的简单方法。
第五种方法
以下解决方案也依赖于ImageMagick的convert
,但稍微复杂一些,因为:
-
它允许所有图像具有不同的尺寸,同时保持输出PDF页面大小相同(下例中为A4)。
-
它将图像集中在PDF页面上。
-
它允许您在图像和PDF页面边框之间添加最小边框,以便在没有问题的情况下打印PDF。
-
它不会更改图像数据。 (因此图像质量不受影响,PDF文件的大小与图像大小相同,稍后您可以通过
pdfimages -j file.pdf img
将re-extract转换为原始JPG文件。)
说明:
-
使用this answer中的脚本将每个图像转换为A4页面大小和5%边框的one-page PDF文件。
-
使用PDFtk连接所有one-page PDF文件,如下所示:
pdftk *.pdf cat output out.pdf