6

我有一系列 JPG 图像。每个扫描都已被裁剪为一页的确切大小。它们是一本有价值的绝版书籍的连续页面。发布应用程序要求将这些页面作为单个 PDF 文件提交。

我可以将这些图像中的每一个都放入文字处理器(例如 OpenOffice)中——不幸的是,这里的问题是它是一本非常大的书,而且我有很多这样的书要读完。这显然会很耗时。这是志愿者工作!

我的第二个想法是使用 LaTeX(实际上是 pdflatex)——我可以制作一个非常简单的文档,其中仅包含一系列内嵌图像。我确信这种方法可以发挥作用,对于看似非常简单的工作来说,它只是有点复杂。

我突然想到必须有一种更简单的方法-有什么建议吗?

我在 Ubuntu 9.10 上,我的主要编程语言是 Python,但如果解决方案非常简单,我很乐意采用任何可行的技术。


更新,有人可以解释这里出了什么问题吗?

sal@bobnit:/media/NIKON D200/DCIM/100HPAIO/bat$ convert '*.jpg' bat.pdf
convert: unable to open image `*.jpg': No such file or directory @ blob.c/OpenBlob/2439.
convert: missing an image filename `bat.pdf' @ convert.c/ConvertImageCommand/2775.

转换命令语法中有没有办法指定 bat.pdf 是输出?

谢谢

4

3 回答 3

12

我突然想到必须有一种更简单的方法-有什么建议吗?

你是对的,有!尝试这个:

sudo apt-get install imagemagick
cd ~/rare-book-images
convert "*.jpg" rare-book.pdf

注意:根据您使用的外壳,“*.jpg”可能无法按预期工作。尝试省略引号,看看是否能得到你期望的结果。

于 2010-04-11T23:15:11.060 回答
6

如果您对 Python 解决方案感兴趣,可以使用ReportLab库。例如:

from reportlab.platypus import SimpleDocTemplate, Image
from reportlab.lib.pagesizes import letter
from glob import glob

doc = SimpleDocTemplate('image-collection.pdf', pagesize=letter)
parts = [Image(filename) for filename in glob('*.jpg')]
doc.build(parts)

这将获取当前目录中的所有 jpg 文件并生成一个名为“image-collection.pdf”的文件。

于 2010-04-12T05:31:25.573 回答
0

我想知道你是否可以通过一个for循环来完成它,\includegraphics里面有一个命令,还有一些合适的漂亮的标准图像文件命名等等在一个 LaTeX 文件中。这可能具有允许标题页等和页码等的优点。(我不确定其他任何一种解决方案都可以做到这一点,我也懒得去检查。我只是在这里大声思考,真的)

于 2010-04-13T17:29:44.277 回答