该怎么做?
我希望使用命令行,因为此过程会更快。
#1 楼
从imagemagick
软件包中,使用convert
命令:convert *.jpg -auto-orient pictures.pdf
您将获得一个包含当前文件夹中所有jpg的pdf。
选项
-auto-orient
读取图像的EXIF数据以旋转图像。 使用以下命令安装IM:
sudo apt-get install imagemagick
来源:stackoverflow
imagemagick选项
编辑:请注意,如果未编号,则图像将不按特定顺序排列。如果您有10个或更多,则需要给它们命名以filename01.jpg ... filename99.jpg等结尾。为正确排序,必须使用前导零。如果您有100个或更多的001 ... 999。
#2 楼
不幸的是,convert
在将其“打包”成PDF之前改变了图像质量。因此,为了使质量损失最小,最好将原始jpg
放入PDF中,您需要使用img2pdf
。 我使用以下命令:
在注释中添加了
img2pdf
的一种较短的衬管解决方案制作PDF
img2pdf *.jp* --output combined.pdf
OCR输出PDF
ocrmypdf combined.pdf combined_ocr.pdf
带有更多命令和更多工具的原始命令:
此命令是在每个
pdf
图像中制作一个jpg
文件,而不会降低分辨率或质量:ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {}.pdf
此命令将
pdf
的页面连接到一个文档中:pdftk *.pdf cat output combined.pdf
最后,我添加了一个OCRed文本层,该层不会改变pdf中的扫描质量,因此可以搜索它们:
pypdfocr combined.pdf
pypdfocr
:ocrmypdf combined.pdf combined_ocr.pdf
评论
很棒的方法!没有压缩的唯一缺点是生成的.pdf文件大小会很高(即比所有图片的总和稍大)。但是如果您要转换的文档确实很重要,则值得!
–Gokul NC
18/12/23在13:14
转换失败并显示“尝试执行安全策略'PDF'不允许的操作”后,此方法运行良好。
–马特西亚斯·布劳恩(Matthias Braun)
19年5月6日15:33
img2pdf支持同时输入许多JPEG。请参见其手册页中的示例。
– Yai0Phah
20 Jan 2 '20 at 10:54
img2pdf * .jpeg --output jpegsas.pdf对我有用,没有管道或多个步骤,订购是正确的。虽然我不关心ocr,但是可以轻松添加该代码。谢谢!
– JanBühler
20-2-11在8:52
@MatthiasBraun在此处解决问题askubuntu.com/questions/1081695/…
– yroc
20 Mar 17 '20 at 20:50
#3 楼
convert `ls -1v` file.pdf
此ls将以“自然顺序”(1,2,3 ...)一次列出一个文件,然后进行转换。
评论
我尝试了这个,但对我却没有用。许多错误表明它可能与文件名中的空格有关。
–古怪的长老
2015年12月1日23:31
要解决空间问题,请首先执行模式替换:对于* .jpg中的ThisFile;做MV“ $ ThisFile”“ $ {ThisFile // / _}”> / dev / null 2>&1; d
–西蒙磨砂
18年5月1日在13:06
#4 楼
为我工作(但警告!关闭压缩,结果PDF将会很大!):convert page1.jpg page2.jpg +compress file.pdf
甚至:
convert -rotate 90 page\*.jpg +compress file.pdf
来自ubuntuforums.org的
+compress
帮助它挂起。注意:+ compress关闭压缩。没有+ compress选项,当时我正在使用的计算机似乎“永远挂着”(虽然我并没有永远等待着发现。)。您的里程可能会有所不同!在imagemagick.org选项-compress上的RTFM,如果您遇到缓慢的压缩/挂起问题,可以尝试使用-compress
评论
如上面建议的那样,不要在转换命令中使用+ compress选项!实际上,它会禁用所有压缩功能,使您的PDF比原始JPEG大10倍。只是不指定压缩选项,然后convert将使用输入压缩格式(JPEG),在这种情况下,按大小选择最佳压缩文件。来源:http://www.imagemagick.org/script/command-line-options.php#compress
–user335432
2014年10月7日20:25
那不直观!谢谢S Minddal。那确实对我有用。我认为当时使用的计算机在执行压缩时出现问题。我会调整答案。
–gaoithe
2014年10月8日14:31
因此$ converet * .jpg file.pdf与+ compress参数相比,在较小的文件大小下效果很好
–博士
2015年9月1日于18:02
#5 楼
用LibreOffice Writer打开jpg或png文件并导出为PDF。我希望这是导出pdf的简单方法。
评论
是! LibreOffice是将图像文件导出为PDF的最佳方法。我们完全控制PDF输出,包括页面布局,调整导入文件的大小,可选的页眉和页脚等等。非常感谢user359154的巧妙建议!
–user371260
15年1月22日在16:59
#6 楼
以下解决方案还依赖于ImageMagick的convert
,但由于以下原因而更加复杂:它允许所有图像具有不同的尺寸,同时保持输出PDF页面大小相同(下面的示例)。
它使图像在PDF页面上居中。
它可以保证图像边界和PDF页面边界之间的最小距离,从而可以毫无问题地打印PDF。
它不会更改图像数据。 (因此,图像质量不受影响,PDF文件与图像的文件大小几乎相同,因此您以后可以使用
pdfimages -j file.pdf img
重新提取原始图像。)目前,这仅适用于PNG –请参阅@dma_k的注释下面的说明。说明:
使用此答案中的脚本将每张图像转换为自己的一页A4页大小和5%边框的PDF文件
使用PDFtk连接所有一页PDF文件,如下所示:
pdftk *.pdf cat output out.pdf
评论
此命令表明(至少在Ubuntu 16.04上提供的版本中)图像数据受到影响:convert some.jpg -format pdf -compress jpeg generate.pdf; pdfimages -j生成.pdf生成.pdf; diff -sq some.jpg生成.pdf-000.jpg
–StéphaneGourichon
16年7月21日在0:14
我在玩GraphicsMagick时,发现它执行图像重新压缩。 PDF页面上生成的JPEG图像的质量差得多。因此,目前最安全的方法是添加PNG图片-正确插入它们。也请参阅此帖子。
– dma_k
17-10-1在16:55
#7 楼
我很好奇,没有人指出pdfjam,这是一种将图像/ pdf合并为pdf的超高效方法:pdfjam --a4paper *.jpg
会为您创建A4格式的pdf用于所有
.jpg
文件,通常以-pdfjam.pdf
结尾。要强制使用特定的输出名称,您有一个--output <your output>
选项!据我所知,没有对该文件进行重新编码,与
convert
相比,该命令相当快。 > 要安装pdfjam,我不确定最有效的方法是什么(LaTeX自动提供),但是您可以尝试:
sudo apt install pdfjam
或也许
sudo apt install texlive-extra-utils
#8 楼
我使用了http://convert-my-image.com/您可以提供的积极的东西(相同的站点,但是不同的页面)是图像的存档,并将它们连接到常见的pdf
评论
该建议至少具有三个问题:(1)由于将图像上传到网站并下载生成的PDF,速度会很慢; (2)它会将您的数据公开给运营该网站的任何人,可能违反该网站的任何人以及在线的任何人; (3)它不是命令行解决方案。
–user13975
18-10-12在16:59
评论
使用小丑对我不起作用,我不得不使用@Alex的解决方案。
–尤塞比乌斯
2015年9月11日9:31
@Eusebius如果通配符不适用于您的convert,则可以在* .jpg中使用像f一样的oneliner;确实转换“ $ f”“ $ f.pdf”;完成pdftk * .pdf cat输出final.pdf
–古怪的长老
2015年12月2日,00:00
GrphicMagick用户应运行gm convert * .jpg图片.pdf
– michaelbn
17年1月16日在9:50
也许我的jpg文件太大并且太多了,但是这样做几乎立即消耗了太多的RAM,以至于我的16GB系统开始交换。
–罗恩·约翰(RonJohn)
18年4月12日在21:18
请注意,此方法现在可能会导致未经授权的错误;看到这个相关的问题(和答案)。
–贾尼·乌西塔洛(Jani Uusitalo)
19年4月16日在12:45