【问题标题】:PDF document manipulationPDF文档操作
【发布时间】:2010-10-18 08:28:54
【问题描述】:

我有几个具有以下属性的 PDF:

每个 PDF 都包含数量不定、页数不同的“文档”。

“文档”中的每一页都有文本,例如“Page 3 of 26”。

我希望能够自动识别 PDF 中每个“文档”的第一页和最后一页(注意:这与 PDF 的第一页和最后一页不同,因为每个 PDF 可能包含多个“文档” ) 并将它们提取到新的 PDF 中,以供以后打印和存档。

我不确定我可以使用哪些工具来解决这个问题,以及有哪些库可以解决这个问题。

有什么建议吗?最好是免费的,可用于创建将在 Windows 上运行的工具。

【问题讨论】:

  • pdf 是电子创建的,不仅仅是扫描的,所以文本“page 3 of 26”应该是 grep-able。我正在考虑一种可以通过正则表达式识别页面然后打印但不知道什么工具可以解析 PDF 的解决方案。

标签: pdf pdf-manipulation


【解决方案1】:

Java 有一个不错的免费 pdf 库。查看iText。

来自 iText 的网站:

您可以使用 iText 来:

  • 将 PDF 提供给浏览器
  • 从 XML 文件或数据库生成动态文档
  • 使用 PDF 的许多交互功能
  • 添加书签、页码、水印等
  • 拆分、连接和操作 PDF 页面
  • 自动填写 PDF 表单
  • 为 PDF 文件添加数字签名
  • 还有更多...

由于它是 Java,因此在 Windows 或其他任何地方运行应该没有问题。

【讨论】:

    【解决方案2】:

    您可以尝试使用pdftk解压PDF,解析数据,拆分,然后重新压缩。

    【讨论】:

      【解决方案3】:

      我设法想出了一个可行的可怕的 unix hack:

      • 使用pdftk解压并分解成单独的页面
      • 使用pdftotext将每一页转换成文本
      • 编写脚本识别txt中合适的字符串,并将对应的pdf复制到子目录[进行中]
      • 找一些工具重组[待研究,pdftk可能可以做]

      应该在我的 unix 平台上工作,但不确定是否可以将所有这些工具带入 windows 环境。

      一种可能性是使用电子邮件网关接收 pdf 并返回处理后的 pdf,这使得它更加丑陋。

      有本机 win32 解决方案的人吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多