将目录中的 JPEG 文件转换为单个 PDF 文档

将目录中的 JPEG 文件转换为单个 PDF 文档

我在一个目录中有许多 JPEG 文件,我想将它们转换为 PDF 并将它们连接在一起制作一个文档。

如何才能做到这一点?

我更喜欢使用命令行,因为这个过程会更快。

答案1

imagemagick包中使用以下convert命令:

convert *.jpg -auto-orient pictures.pdf

您将获得一个包含当前文件夹中所有 jpg 的 pdf。该选项-auto-orient读取图像的 EXIF 数据来旋转图像。

使用以下方式安装 IM:

sudo apt-get install imagemagick

来源:堆栈溢出 imagemagick 选项

编辑:请注意,如果图像未编号,则其顺序将不固定。如果您有 10 张或更多,则需要以 filename01.jpg...filename99.jpg 等结尾命名。前导零是正确排序所必需的。如果您有 100 张或更多,则以 001...999 结尾。

答案2

不幸的是,convert在将图像“打包”到 PDF 之前会改变图像质量。因此,为了将质量损失降到最低,最好将原始图像jpg(或.png)放入 PDF 中。为此,您需要使用img2pdf以下方法:

(根据评论中的建议更新)较短的一行解决方案使用img2pdf

  1. 制作 PDF

    img2pdf *.jp* --output combined.pdf
    
  2. (可选)对输出的 PDF 进行 OCR

    ocrmypdf combined.pdf combined_ocr.pdf
    

以下是原来的用更多的命令和更多的工具来回答:

  1. 此命令用于将pdf每个jpg图像制作成一个文件,而不会损失分辨率或质量:

    ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {}.pdf
    
  2. 此命令将把各pdf页面连接成一个文档:

    pdftk *.pdf cat output combined.pdf
    
  3. 最后,我添加了一个 OCR 文本层,它不会改变 PDF 中的扫描质量,以便可以搜索它们:

    pypdfocr combined.pdf
    

    或者,作为使用方法的替代pypdfocr

    ocrmypdf combined.pdf combined_ocr.pdf
    

答案3

convert `ls -1v` file.pdf
  • 此 ls 将按照“自然顺序”(1,2,3......)一次列出一个文件并进行转换。

答案4

我很好奇没有人指出 pdfjam,这是一种将图像/pdf 合并为 pdf 的超有效方法:

pdfjam --a4paper *.jpg

将为您创建所有.jpg文件的 A4 格式 PDF,通常以-pdfjam.pdf结尾命名。要强制使用特定的输出名称,您可以--outfile <your output>选择!

据我所知,该文件无需重新编码,因此与 相比,该命令非常快convert

要安装 pdfjam,我不确定什么是最有效的方法(它会随 LaTeX 自动出现),但您可以尝试:

sudo apt install pdfjam

或者可能

sudo apt install texlive-extra-utils

相关内容