如何使用pdfbox库的PDPageContentStream类创建自定义pdf注释?

时间:2017-06-29 12:19:18

标签: pdf annotations pdfbox

我已经实现了使用PDPageContentStream类的addBezier曲线方法创建云标记的功能。现在,我想将此标记创建为页面注释,以便我可以删除这些标记。我尝试使用PDAnnotation.createAnnotation方法创建自定义注释,但它需要COSBase变量。那么,如何使用PDPageContentStream类创建一个COSBase变量来指定注释的形状。

1 个答案:

答案 0 :(得分:2)

你可以单独做一些

    PDAnnotation annot = new PDAnnotationMarkup();
    PDAppearanceDictionary appearance = new PDAppearanceDictionary();
    PDAppearanceStream appearanceStream = new PDAppearanceStream(new COSStream());
    appearance.setNormalAppearance(appearanceStream);
    annot.setAppearance(appearance);

    PDPageContentStream contentStream = new PDPageContentStream(pdfDocument, appearanceStream);
    contentStream.addBezier(....);
    ..... more additions to the content stream

我已将代码添加到页面等中,因为可以从示例包中的AddAnnotations.java示例查看。