我有一个用例,但我不知道如何实现。
我正在使用 headless chrome 将富文本编辑器导出为 pdf,然后我需要剪切创建的 PDF 的一部分并将其作为 pdf 注释嵌入到另一个父 pdf 中,以便注释看起来完全相同作为我从创建的 PDF 中剪切的部分。
我能够使用以下提供的说明从创建的 PDF 中正确计算并剪切我需要的精确区域: https://developers.itextpdf.com/examples/stamping-content-existing-pdfs-itext5/cut-and-paste-content-page
PdfTemplate template2 = cb.createTemplate(pageSize.getWidth(), pageSize.getHeight());
template2.rectangle(toMove.getLeft(), toMove.getBottom(), toMove.getWidth(), toMove.getHeight());
template2.clip();
template2.newPath();
template2.addTemplate(page, 0, 0);
cb.addTemplate(template1, 0, 0);
cb.addTemplate(template2, -20, -2);
我想通过 PdfStamper 添加 PDFTemplate。
这可能吗?如果现在不行,我可以用其他方法实现这一点吗?
最佳答案
在您引用的示例中,您获得 cb
如下:
PdfContentByte cb = writer.getDirectContent();
使用PdfStamper
时,您可以这样获取cb
:
PdfContentByte cb = stamper.getUnderContent(p);
或者像这样:
PdfContentByte cb = stamper.getOverContent(p);
前一种方法会将新内容添加到现有内容下;后一种方法将在现有内容之上添加新内容。在这些行中,p
是页码(从 1 到现有文档的总页数)。请参阅How to superimpose pages from existing documents into another document?举个例子。
如果您想向现有文档添加新页面,请使用 insertPage()
方法,如 How to add blank pages to an existing PDF in java? 中所述。添加空白页面后,您可以向其中添加 PdfTemplate
。
关于java - 在 iText5 中,如果可能的话,如何将 PdfTemplate 添加到 PdfStamper 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49912903/