将列表中的多个图像合并为 PDF

Merge Multiple Images into PDF from List

我有数千张图片需要转换并组合成多个 PDF 文件。一些图像被多次使用。我正在寻找一个自动化的解决方案。

我在电子表格中命名和组织了所有 .tif 文件。我想使用那个文件列表和 运行 一个自动脚本来为自己节省数百小时一个一个地转换这些文件。

所有文件都在同一个文件夹中。

我不是程序员。我曾尝试寻找某种文档、代码或 third-party 工具,但这似乎是一项不常见的任务。提前致谢。

我在 Windows。下面是电子表格的示例。我在 Excel 中使用公式制作我需要的任何格式或代码都没有问题。这些文件是许多扫描文档的单独页面。 “第一页”是指一个部分的开头。示例:0066.tif-0068.tif 是一个文档,其中 0066.tif 是文档的标题页。 0070.tif-0081.tif 是三个单独的文档合二为一,0070.tif 作为所有三个文档的标题页。所以它将是 0070.tif-0072.tif、0070.tif & 0073.tif-0074.tif 和 0070.tif & 0075.tif-0081.tif. 0069.tif 是单页文档。

Document Title Page First Page Last Page
P-05593.pdf 0066.tif 0066.tif 0068.tif
P-05594.pdf 0069.tif 0069.tif 0069.tif
P-05595.pdf 0070.tif 0071.tif 0072.tif
P-05596.pdf 0070.tif 0073.tif 0074.tif
P-05597.pdf 0070.tif 0075.tif 0081.tif
P-05598.pdf 0082.tif 0083.tif 0084.tif
P-05599.pdf 0082.tif 0085.tif 0090.tif
P-05600.pdf 0091.tif 0091.tif 0093.tif
P-05601.pdf 0094.tif 0094.tif 0100.tif

更新: 我敢肯定这很少见。我找到了解决方案,以防万一有人遇到类似情况。

我结合使用了 Excel 和 nConvert。仍在研究 easier/faster 方法来识别哪些页面是哪些页面,因此目前这仍然是一个主要是手动过程。但是,在我得到该列表后,我使用 Excel 公式和 VBA 命令将列表导出为 .bat 文件,我可以 运行 一次处理所有文件。不确定我是否能够 post 文件,但这是我之前 post 编辑的 table 文件的代码输出,减去一些因为这变得冗长:

    nconvert
    C:\Users\username\NConvert\nconvert.exe -multi -dpi 200 -c 1 -out pdf -o P-05593.PDF -n 0066 0068 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -dpi 200 -c 1 -out pdf -o P-05594.PDF 0069.tif
    C:\Users\username\NConvert\nconvert.exe -multi -dpi 200 -c 1 -out pdf -o P-05595.PDF -n 0070 0072 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -overwrite -out pdf -o TEMPA 0070.tif
    C:\Users\username\NConvert\nconvert.exe -overwrite -multi -out pdf -o TEMPB -n 0073 0074 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -overwrite -D -multi -out pdf -dpi 200 -c 1 -xall -o P-05596.PDF TEMPA.pdf TEMPB.pdf
    C:\Users\username\NConvert\nconvert.exe -overwrite -out pdf -o TEMPA 0070.tif
    C:\Users\username\NConvert\nconvert.exe -overwrite -multi -out pdf -o TEMPB -n 0075 0081 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -overwrite -D -multi -out pdf -dpi 200 -c 1 -xall -o P-05597.PDF TEMPA.pdf TEMPB.pdf
    C:\Users\username\NConvert\nconvert.exe -multi -dpi 200 -c 1 -out pdf -o P-05598.PDF -n 0082 0084 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -overwrite -out pdf -o TEMPA 0082.tif
    C:\Users\username\NConvert\nconvert.exe -overwrite -multi -out pdf -o TEMPB -n 0085 0090 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -overwrite -D -multi -out pdf -dpi 200 -c 1 -xall -o P-05599.PDF TEMPA.pdf TEMPB.pdf
    C:\Users\username\NConvert\nconvert.exe -multi -dpi 200 -c 1 -out pdf -o P-05600.PDF -n 0091 0093 1 "####.tif"
    C:\Users\username\NConvert\nconvert.exe -multi -dpi 200 -c 1 -out pdf -o P-05601.PDF -n 0094 0100 1 "####.tif"

大大减少了我的处理时间。 1,169 份文件中的 5,759 页,全部用这种方法在不到一个小时的时间内编译完成。通常会花费我几周的时间。

编辑:

好的。我回到这个线程是因为我解决了我的问题,但正如 cday 在 上的 post 中指出的那样,它看起来过于复杂。他们似乎对解决方案投入了精力,所以我会尝试解释我在这里所做的事情,如果可能的话,我会 post 附件。

如前所述,我有多个文件夹,每个文件夹都有 5,000 多个原始 .tif 页面扫描。奇怪的文件类型选择,因为扫描它们的人没有保存多页,每个文件只保存一页。这些扫描件是带有标题页的编号文档,一些具有自己的标题页,另一些则共享一个标题页。我需要一种方法将这些单独的页面分解为每个文档编号的有组织的列表,有时 re-using 那些 multiple-document 标题页,因此直接文件列表可能不会起作用。至少不容易。

我最初执行此任务的过程非常缓慢,是手动滚动浏览每个扫描并将其文件名输入电子表格。然后,在资源管理器中突出显示这些文件,右键单击并在 Adob​​e 中合并。另存为。相应地命名文件。完成 1,600 多份文件后,我需要抽查以确保没有遗漏任何文件。我总是这样。所以这个解决方案不仅可以大大加快这个过程,而且还可以确保准确性。

长话短说,我在 Excel 中用 VBA 编写了以下代码(付出了巨大的努力、反复试验和挫折):

我想在没有上下文的情况下解释起来有点困难。我正在努力简化公式和 VBA 代码,因为这东西很丑。我更专注于功能,不是优雅。我会附上文件,但看起来我无法 post Excel 文件。 Link 到我下面的 Dropbox。

Real Estate Spreadsheet

从cday开始https://newsgroup.xnview.com/index.php

我前几天给你发了邮件,不知道你收到没有?

我对你的问题很感兴趣,我开发了简单的代码,一行 .bat 来批量转换来自 Excel 的适当格式的输出。我还没有 post 编辑它,因为它需要在 NConvert 选项中修复错误,并且可能需要对另一个选项进行小幅增强,这两者都可以很快实现。

快速查看上面的代码,它看起来不必要地复杂,但我对此持保留意见。

如果您有兴趣,最好联系我,或者直接通过 PM 或电子邮件联系我。

编辑:

为了其他任何可能感兴趣的人的利益,这是 Michael Clark 在 XnView 论坛上使用不同用户名的原 post:

https://newsgroup.xnview.com/viewtopic.php?f=57&t=42567

这是我稍后在同一个主题中的草稿解决方案:

https://newsgroup.xnview.com/viewtopic.php?p=173583#p173583