如何在不耗尽资源的情况下将大量图像转换为 1 个 pdf

如何在不耗尽资源的情况下将大量图像转换为 1 个 pdf

我正在尝试将数千张 jpg 图像转换为 1 个大 PDF。每张图片都是书中的一页。我尝试使用以下命令:

convert * out.pdf

但大约 150 张图像后我会收到此错误:

convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244. 
convert-im6.q16: cache resources exhausted `0-23/3_014.jpg' @ error/cache.c/OpenPixelCache/3984. ... 
convert-im6.q16: too many exceptions (exception processing suspended).

是的,我将 imagemagick 的 policy.xml 文件中的资源限制更改为 8GiB。我有一台像样的笔记本电脑。 8GB 内存、2.4hz x 4、2GB GPU

大约有3000张图片,总共1GB

还有别的办法吗?

答案1

不知道这是否有效,但您可以尝试以下两步过程。

首先,分别转变每个 jpg 图像都有自己的 pdf,

转换 image1.jpg image1.pdf
转换 image2.jpg image2.pdf

然后使用pdfjam(man pdfjam 获取信息)将所有图像收集到一个 pdf 中,

pdfjam 图像*.pdf --outfile allimages.pdf

并看到http://go.warwick.ac.uk/pdfjam(如联机帮助页上的建议)还有更多 --switches 等。

答案2

我发现的资源消耗最少的方法是在图像查看器/浏览器中打开图像(gThumb、Pix、Gwenview、肖特韦尔) 进而将它们打印到文件中- 也就是说pdf

更多详细信息 - 带图片 - 此处:https://unix.stackexchange.com/a/555535/341192。在“打印”为 pdf 之前,也可以通过这种方式重新排列图像。

一个相当简单的方法(与其他 CLI 相比,但可能不是我上面提到的)

相关内容