可以使用这样的代码在一个页面的部分复制到一个新的:
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();
这就使你的
到
不幸,但是,那隐藏en内容仅仅是... 隐藏 ...但它仍然存在。您可以特别用该隐藏文本标记行,并尝试复制&粘贴它们。
如果您想要完全删除该隐藏文本(或者仅通过复制所需的文本开始),则必须检查导入页面的内容并对其进行过滤。恐怕iText尚未明确支持这样的事情。它可以使用iText低级API来完成,但这是相当的工作。
来源
2014-05-06 08:31:19
mkl
您是否希望文档A中的页面部分(其中包含类型3字体字形)原样复制到文档B,或者您希望某些内容重新流动吗? – mkl
我想要以Type 3字体书写的内容重新流动。我尝试了RenderListener.renderText,但renderInfo.getFont(),getBaseline()得到了奇怪的值。我不知道下一步。 – marcus
@mkl我更新了问题,你能指导我吗? – marcus