Itext 如何将以Type 3字体书写的文本从一个pdf移动到另一个pdf?

Itext 如何将以Type 3字体书写的文本从一个pdf移动到另一个pdf?,itext,Itext,我有一个pdf,其中包括文本写在类型3字体 我想从中获取一些文本,并将其以完全相同的形状写入其他pdf 我正在使用itext。请给我小费 编辑:我附加了我的代码 DocumentFont f = renderInfo.getFont(); String str = renderInfo.getText(); x = renderInfo.getBaseline().getStartPoint().get(Vector.I1); 在这段代码中,我想将str写入x值位置。 在Type3字体中,它

我有一个pdf,其中包括文本写在类型3字体

我想从中获取一些文本,并将其以完全相同的形状写入其他pdf

我正在使用itext。请给我小费

编辑:我附加了我的代码

DocumentFont f = renderInfo.getFont(); 
String str = renderInfo.getText();
x = renderInfo.getBaseline().getStartPoint().get(Vector.I1);
在这段代码中,我想将str写入x值位置。
在Type3字体中,它可以工作吗?

您可以使用如下代码将一个页面的部分复制到新页面:

    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 lowlevel API完成,但这是一项相当艰巨的工作。

您希望将文档a中的一部分(包含类型3字体图示符)按原样复制到文档B,还是希望内容发生一些重新流动?我希望以类型3字体编写的内容重新流动。我尝试了RenderListener.renderText,但是renderInfo.getFont(),getBaseline()得到了奇怪的值。我不知道下一步该怎么做。@mkl我更新了问题,你们能指导我吗?我想让内容重新流动——这可能会很困难。您能否提供一份具有代表性的样本文档,其中包含此类类型3字体文本,并指出如何选择要复制的图示符?@mkl我想