如何从一系列图像生成 PDF?

如何从一系列图像生成 PDF?

我有一系列图像(实际上是一本扫描的书),想将其制作成 A4 格式的 PDF。

我为什么要这么做:我正在帮助另一个国家不太懂电脑的人获取这本书的印刷版。我知道他们有能力打印 PDF,但我不想费尽心思去弄清楚并试图解释如何调整一系列图像的大小和打印它们。——我只想通过电子邮件向他们发送一些他们可以毫不费力地打印的东西。

答案1

使用img2pdf

img2pdf --pagesize A4 file1.jpg file2.jpg > book.pdf

根据其描述:

无损地将光栅图像转换为 PDF,无需重新编码 JPEG 和 JPEG2000 图像。这样可以无损地转换 JPEG 和 JPEG2000 图像,而文件大小只会增加,这来自 PDF 容器本身。

另一方面,ImageMagick 将解码并重新编码 JPEG 数据,从而得到发电损失性能比img2pdf差10-100。

答案2

我找到了一个使用 ImageMagick 的解决方案,但我花了一段时间才弄清楚我必须使用该选项-page A4来生成 A4 格式的 PDF。最后,这个简单的命令帮我解决了问题:

convert *.gif -page A4 book.pdf

故障排除

在谷歌搜索答案时,我发现其他人也尝试过这个,并且遇到了我从未见过的问题。这些提示可能对你们中的一些人有帮助。

不同尺寸的图像:如果您的图片尺寸不尽相同,请观看此 YouTube 视频:“如何使用 imagemagick 将多张图片转换为 A4 pdf”视频中的人使用了该命令(他声称该命令可以产生 A4 输出):

convert *.jpg -resize 595x842 -gravity center -background white \
    -extent 595x842 resultimage.pdf

后记

这个问题已经在 stackoverflow 上提出,但因偏离主题而关闭(“如何在 Linux 上通过命令行将一系列图像转换为 PDF?”)。因为这给了我一个提示,但不是完整的解决方案,所以我在这里创建(并回答)了这个问题,希望其他人也会发现它很有用。

答案3

使用convert项目中的图像格式转换器图像魔法并使用参数和定义纸张-density尺寸-resize

convert file?.jpg -gravity center -resize 612x792! -units PixelsPerInch -density 72x72 book.pdf

相关内容