将页面转换为图像对象时,注释会丢失。
我想做的是将页面转换为图像,以便我可以调整其大小,在必要时旋转它并将其居中放置在新文档的页面上。这是为了为页眉和页脚腾出空间。
我用于将其转换为图像的代码如下:
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规范的了解还不够。
有人可以帮我吗?