我有一个pdf,其中包含用Type 3 Font编写的文本。
我想从中获取一些文字并将其写入完全相同形状的其他pdf中。
我正在使用itext。请给我一个提示。
编辑:我附上了我的代码。
DocumentFont f = renderInfo.getFont();
String str = renderInfo.getText();
x = renderInfo.getBaseline().getStartPoint().get(Vector.I1);
在这段代码中,我想将str写入x值位置。 在Type 3 Font中,它有效吗?
答案 0 :(得分:0)
您可以使用以下代码将一页的部分内容复制到新页面:
InputStream resourceStream = getClass().getResourceAsStream("from.pdf");
PdfReader reader = new PdfReader(new FileOutputStream("from.pdf"));
Rectangle pagesize = reader.getPageSizeWithRotation(1);
Document document = new Document(pagesize);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("areaOfFrom.pdf"));
document.open();
PdfContentByte content = writer.getDirectContent();
PdfImportedPage page = writer.getImportedPage(reader, 1);
content.saveState();
content.rectangle(0, 350, 360, 475);
content.clip();
content.newPath();
content.addTemplate(page, 0, 0);
content.restoreState();
document.close();
reader.close();
这会改变你的
到
不幸的是,隐藏内容只是...... 隐藏 ......但它仍然存在。您可以使用隐藏文本标记线条并尝试复制并粘贴它们。
如果要完全删除隐藏文本(或仅通过复制所需文本开始),则必须检查导入页面的内容并对其进行过滤。我担心iText还没有明确支持类似的东西。它可以使用iText低级API完成,但这是一些工作。