首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于文件名的PDF文件合并

基于文件名的PDF文件合并
EN

Stack Overflow用户
提问于 2017-11-15 22:01:11
回答 1查看 209关注 0票数 0

我有大量的pdf文件,必须合并。

invoice12-105767-1510781492.pdf - 105767是将与Folder2中的pdf文件名匹配的组件.

"invoice12-“文件名的第一部分。有时这可能是"invoice11-“或"invoice6-”,因此基于字符长度的合并变得具有挑战性。"invoicexx-“基于文件来自系统的位置。

"105767“文件名的第二部分。这是匹配和合并的关键组件。这将是它所属的Folder2中的文件名。

"-1510781492.pdf“文件名的第三部分是一个系统生成的唯一ID,它可以包含或多或少的字符。

Folder1:

  • invoice12-105767-1510781492.pdf
  • invoice12-105768-1510781484.pdf
  • invoice12-105769-1510781469.pdf

Folder2:

  • 105767.pdf
  • 105768.pdf
  • 105769.pdf

OutputFolder:

例如,我不想将两个文件夹中的所有文件合并到一个大文件中。我需要根据Folder2文件名合并它们。(105767.pdf + invoice12-105767-1510781492.pdf)

最后的输出应该是三个pdf文件,按如下顺序合并:

  • 105767.pdf + invoice12-105767-1510781492.pdf生成一个名为105767.pdf的文件
  • 105768.pdf + invoice12-105768-1510781484.pdf生成一个名为105768.pdf的文件
  • 105769.pdf + invoice12-105769-1510781469.pdf生成一个名为105769.pdf的文件

我希望能提供任何帮助,使这一过程自动化。我每天合并超过800个文件。这个小小的自动化将使我的一天和我的手腕从心皮隧道减少几个小时。

我主要使用MacOS10.13.1。我在Mac的"Automater“程序中环顾四周,不知道如何让它做我需要的事情。(我确实想出了一种将文件分割成单个页面的好方法)

我下载了pdftk服务器(因为这是Mac兼容的),但无法确定这种类型的匹配和合并是否能够与此程序兼容。

我有,它似乎没有这个匹配和合并功能。

我甚至向其他付费项目开放。我只需要一个相当未来的方法,让这个平凡的任务通过我的Mac上的自动化完成。

EN

回答 1

Stack Overflow用户

发布于 2018-06-26 21:20:10

您可以查看示例代码提供的APDFL库示例。这些库在Mac上是支持的,但不是免费的。

https://dev.datalogics.com/adobe-pdf-library/sample-program-descriptions/c1samples/#mergedocuments

下面是您需要使用的代码片段:

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47318025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档