【问题标题】:move PDF content using PDFBox使用 PDFBox 移动 PDF 内容
【发布时间】:2016-06-23 15:27:48
【问题描述】:

我需要能够在 PDF 页面上指定一个矩形区域,并使用 PDFBox 将该区域的文本和图形内容移动到同一页面上的新位置。如果在该区域中选中,任何图形(线条、图片等)都将作为一个整体移动。

正在修改的 PDF 文档源自基于文本的 PCL,并使用第三方工具转换为 PDF。如果需要,我可以回答有关这些文档的技术问题。

This Stack Overflow question 正是我所追求的,但在找到可行的解决方案之前,这个问题似乎已经被放弃了?

如果我有更多的声望点,我会悬赏这个问题。

如果您能对此问题的任何方面提供帮助,我将不胜感激,谢谢。

【问题讨论】:

  • 这个问题似乎在一个可行的解决方案之前就被放弃了的原因是你的任务很难实现。 PDF 中的每条绘图指令都可以针对矩形内部、矩形外部或部分内部和部分外部。因此,对于每条指令,您可能必须更改坐标、操作当前剪辑路径等(这可能已经够复杂了);或者您甚至可能不得不以某种方式将指令拆分为内部零件和外部零件。画一条线是可行的,但画一个字母?
  • 你似乎不需要拆分指令的复杂性,但仅仅移动就已经很复杂了。
  • 我们只会移动完整的文本或图形单元。看起来我们只需要调整与文本或图形元素关联的坐标。 PDFBox 源代码中有许多用于修改文档的示例,还有一个用于在某个矩形内定位文本的演示。我们应该能够在一个矩形中定位文本元素并更新它们的坐标。我什至会接受这个问题的答案,它只处理文本并将图形作为一个单独的问题留给我们解决。

标签: pdf pdfbox


【解决方案1】:

我对 PDFBox 并不熟悉,但任何库都应该能够执行以下操作;我知道我所代表的人可以。

创建一个与原始页面大小相同的新空白页。将原始内容复制到 XObject 并将其应用于空白页。在页面上添加一个白色矩形以遮盖相关矩形。将原始页面的内容剪辑到要“移动”的矩形。从中创建第二个 XObject。将其应用到您想要的位置的新页面。

如果 PDFBox 有能力,清理新页面以删除白框下的隐藏内容。

【讨论】:

    猜你喜欢
    • 2011-10-30
    • 2014-10-04
    • 2017-12-16
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多