使用iText7将PdfPage制作为图像时,注释丢失

时间:2018-07-20 08:20:07

标签: java pdf annotations itext itext7

将页面转换为图像对象时,注释会丢失。

我想做的是将页面转换为图像,以便我可以调整其大小,在必要时旋转它并将其居中放置在新文档的页面上。这是为了为页眉和页脚腾出空间。

我用于将其转换为图像的代码如下:

public static final Image convertPageToImage(PdfDocument src, int pageNumber, PdfDocument dest) throws IOException, BadPasswordException {

    PdfPage page = src.getPage(pageNumber);
    PdfFormXObject copy = page.copyAsFormXObject(dest);
    return new Image(copy);
}

我转换为图像的PDF页面是用来表示图像的,但是仅使用实际图形是不可行的...

我已经在寻找一种将注释“展平”到页面上的方法,以免丢失。但是,使用iText7只能平整表单字段。我还发现了如下代码:

pdfDocument.getCatalog().getOCGProperties(true).remove(PdfName.OCProperties);

但这也不起作用。

到目前为止,我发现的最好的主意是通过提取一些外观流并将其环绕在FormXObject周围,从而将其放到Canvas上来手动拉平注释。但是我对PDF规范的了解还不够。

有人可以帮我吗?

0 个答案:

没有答案