【问题标题】:How to move block of text in a PDF (using PDFBox)如何在 PDF 中移动文本块(使用 PDFBox)
【发布时间】:2014-10-04 14:50:11
【问题描述】:

我目前正在尝试使用 PDFBox 为一些手动封面生成 PDF,我想知道是否可以在我的 PDF 中获取精确的文本区域并将其移动(向左),具体取决于我的手册厚度(其中将取决于我的手册页数)

我成功地创建了我的 PDF,但我没有找到只获取文本块的方法。

PDFBox可以做到吗?

注意:我尝试在网络和其他问题上进行搜索,但没有一个有用。

谢谢

【问题讨论】:

  • 您是否在单个连续的操作块中创建了该文本区域?还是各自的操作与为不应移动的材料创建的操作混合在一起?
  • 我不能告诉你,整个东西是作为一个整体导入的(我没有选择文本和图像)。我们没有找到一个简单的解决方案来移动现有 PDF 文件中的文本,所以我们决定从头开始创建一个(会更容易)。很抱歉打扰各位了!编辑 PDF 不是一项简单的任务!创建一个新的更容易。谢谢你!
  • 所以最初的问题是关于更改现有文件?我不是这么理解的。
  • 我们通过导入一些数据“创建”了一个手动封面,然后我们想根据书的厚度移动本应在封底上的文本。对不起,如果我的问题不是很准确:S

标签: java pdf pdf-generation pdfbox


【解决方案1】:

将 saveGraphicsState() 和 restoreGraphicsState() 包裹在该块周围。在其中,使用 moveTextPositionByAmount()(在 beginText() 之后!)或 setTextTranslation() 或(更一般的)concatenate2CTM(1, 0, 0, 1, tx, ty) 移动位置。

【讨论】:

  • 嗯,@Kaptin 谈到了一个文本区域;从问题中不清楚该 zone 是由一组操作创建的,以按照您的建议进行转移。
【解决方案2】:

就像我在评论中所说的那样,我们决定创建一个包含所需信息的新 PDF,而不是尝试编辑现有的 PDF。

我们尝试编辑 PDF,但是当我们决定从头开始时,这样做更容易。

感谢那些试图帮助我的人!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2014-07-11
    • 2013-11-15
    • 2013-10-19
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多