Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用itext中已签名pdf上的批注添加用户定义的外观图标?还是有可能?_Java_Pdf_Annotations_Itext - Fatal编程技术网

Java 如何使用itext中已签名pdf上的批注添加用户定义的外观图标?还是有可能?

Java 如何使用itext中已签名pdf上的批注添加用户定义的外观图标?还是有可能?,java,pdf,annotations,itext,Java,Pdf,Annotations,Itext,我正在尝试在签名的pdf上添加“用户定义的外观图标”。 如何实施这一问题? 请帮我修一下。谢谢。使用预定义图标创建注释很容易。只需在以下位置查找“注释>注释图标”: 将这些注释添加到签名的PDF中是一个棘手的部分。在某些情况下,如果不破坏签名,这是不可能的,更具体地说,当签名的MDP设置阻止添加注释时。在那种情况下,你的问题无法回答 但是,如果MDP设置允许添加批注,则需要在追加模式下使用PdfStamper添加批注。在上的手册中搜索关键字“附加模式” “注释”的可能备选值为“键”、“注释”、“

我正在尝试在签名的pdf上添加“用户定义的外观图标”。 如何实施这一问题?
请帮我修一下。谢谢。

使用预定义图标创建注释很容易。只需在以下位置查找“注释>注释图标”:

将这些注释添加到签名的PDF中是一个棘手的部分。在某些情况下,如果不破坏签名,这是不可能的,更具体地说,当签名的MDP设置阻止添加注释时。在那种情况下,你的问题无法回答

但是,如果MDP设置允许添加批注,则需要在追加模式下使用
PdfStamper
添加批注。在上的手册中搜索关键字“附加模式”


“注释”的可能备选值为“键”、“注释”、“帮助”、“新建段落”、“段落”和“插入”。

什么是用户定义的外观图标?该术语未出现在PDF规范中。注释、键、帮助、新段落、插入等用于“键”adobe reader show Key图标。我从您的注释中可以推断,它似乎与adobe reader软件有关。由于Adobe Reader显示了本地化的菜单条目,我找不到您评论中的其他流行语指向何处。因此,请解释您的要求,例如通过一个示例PDF显示您想要什么。但是Bruno先生,在您的文档中,我得到了这个代码片段,但在这个示例中,我得到了“注释”图标。我需要的不是“注释”图标,而是我想显示我自己的“.png”图标。你可以用自己定义的外观添加注释,但就我所理解的ISO-32000-1而言,我认为你的要求是不可能的。请遵循mkl的建议,并更加具体。如果你使用ISO标准中使用的术语(你知道,这就是标准的目的),这会有所帮助。提供的链接和两者都指向任何地方,因为网站已经完全重做了。在新的itext网站或知识库中搜索“外观图标”或“关键字列表”不会产生有用的结果。函数PdfAnnotation.createText的iText文档在哪里,它解释了string类型的参数图标的有效值@BrunoLowagie很好心,在这里提供了一份替代价值清单,但对于那些想深入了解的人来说,这将是有用的
public void addAnnotation(String src, String dest)
    throws IOException, DocumentException {
    PdfReader reader = new PdfReader(src);
    PdfStamper stamper =
        new PdfStamper(reader, new FileOutputStream(dest), '\0', true);
    PdfAnnotation comment = PdfAnnotation.createText(stamper.getWriter(),
       new Rectangle(200, 800, 250, 820), "Finally Signed!",
       "Bruno Specimen has finally signed the document", true, "Comment");
    stamper.addAnnotation(comment, 1);
    stamper.close();
}