PDFBox:写入 PDPageContentStream 或 PDPage 时剪切文本

jmc*_*c34 4 pdf pdf-generation clipping pdfbox

我正在寻找布局 PDF 文档的选项,该文档必须非常整洁和准确。

该文档是一种报告,并将数据显示在现有背景上。在某些情况下,文本大于其应容纳的空间。

我想将文本剪切到允许的精确区域(这不是换行或“省略”,因为文本大部分时间都是数字)。

这是我正在寻找的效果(这是一个示例,我不打算缩短字符串,我希望字符串保持不变,但实际上被剪裁到其允许的区域之外)。

在此输入图像描述

谢谢,JM

Til*_*err 5

首先创建一个路径,例如使用PDPageContentStream.addRect(). 然后打电话PDPageContentStream.clip()。这将使当前剪切路径与您的路径相交。然后画出你想要剪裁的任何东西。

不要忘记将整个内容放在saveGraphicsState()和之间restoreGraphicsState(),否则您的剪切路径有时会因为再次相交而变空。

要在开发时验证您的剪切路径是否正确,请将调用替换clip()stroke(),以便您可以看到它在哪里。