我有大量的pdf文件,必须合并。
invoice12-105767-1510781492.pdf - 105767是将与Folder2中的pdf文件名匹配的组件.
"invoice12-“文件名的第一部分。有时这可能是"invoice11-“或"invoice6-”,因此基于字符长度的合并变得具有挑战性。"invoicexx-“基于文件来自系统的位置。
"105767“文件名的第二部分。这是匹配和合并的关键组件。这将是它所属的Folder2中的文件名。
"-1510781492.pdf“文件名的第三部分是一个系统生成的唯一ID,它可以包含或多或少的字符。
Folder1:
Folder2:
OutputFolder:
例如,我不想将两个文件夹中的所有文件合并到一个大文件中。我需要根据Folder2文件名合并它们。(105767.pdf + invoice12-105767-1510781492.pdf)
最后的输出应该是三个pdf文件,按如下顺序合并:
我希望能提供任何帮助,使这一过程自动化。我每天合并超过800个文件。这个小小的自动化将使我的一天和我的手腕从心皮隧道减少几个小时。
我主要使用MacOS10.13.1。我在Mac的"Automater“程序中环顾四周,不知道如何让它做我需要的事情。(我确实想出了一种将文件分割成单个页面的好方法)
我下载了pdftk服务器(因为这是Mac兼容的),但无法确定这种类型的匹配和合并是否能够与此程序兼容。
我有,它似乎没有这个匹配和合并功能。
我甚至向其他付费项目开放。我只需要一个相当未来的方法,让这个平凡的任务通过我的Mac上的自动化完成。
发布于 2018-06-26 21:20:10
您可以查看示例代码提供的APDFL库示例。这些库在Mac上是支持的,但不是免费的。
https://dev.datalogics.com/adobe-pdf-library/sample-program-descriptions/c1samples/#mergedocuments
下面是您需要使用的代码片段:
APDFLDoc doc1 ( csInputFileName1.c_str(), true);
APDFLDoc doc2 ( csInputFileName2.c_str(), true);
// Insert doc2's pages into doc1.
// Here, we've stated PDLastPage, which adds the pages just before the last page of the target.
// If we specify PDBeforeFirstPage instead, doc2's pages will be inserted at the head of doc1.
PDDocInsertPages ( doc1.getPDDoc(),
PDLastPage,
doc2.getPDDoc(),
0,
PDAllPages,
PDInsertAll,
NULL, NULL, NULL, NULL);
doc1.saveDoc ( csOutputFileName.c_str(), PDSaveFull | PDSaveLinearized);https://stackoverflow.com/questions/47318025
复制相似问题