当前位置: 首页 > 知识库问答 >
问题:

Java iText PDF注释/戳在Chrome和Firefox(浏览器)上不可见

白刚洁
2023-03-14

我们一直试图在现有的签名PDF中添加注释/戳,而不使签名失效,但不幸的是,浏览器不会显示戳/注释。在Adobe Reader中打开时,可以在那里看到注释。任何其他的想法都是受欢迎的。所有我们想要的是一个小文本在现有的签名PDF不会使签名无效。

以下是我们的代码:

    PdfReader reader = new PdfReader(pdf1);
    PdfStamper pdfStamper = new PdfStamper(reader, new FileOutputStream(RESULT), '\0', true);
    PdfContentByte pcb = new PdfContentByte(pdfStamper.getWriter());
    PdfAnnotation annot = PdfAnnotation.createFreeText(pdfStamper.getWriter(),  new Rectangle(150, 150, 200, 200), "Annotation 1", pcb);
    annot.setFlags(PdfAnnotation.FLAGS_PRINT);
    pdfStamper.addAnnotation(annot, 1);
    pdfStamper.close(); 

共有1个答案

狄望
2023-03-14
  1. 您使用增量更新模式('\0',true),因此可以对PDF文档进行(某些)添加。这是正确的方法
  2. WebBrowser仅对某些PDF功能(如Formfields或Annotion)提供有限的支持。如果您可以在adobe reader中看到注释,但在某些WebBrowner中看不到,则这些浏览器不支持它。您可更改的选项有限。

您可能有的一种可能性是,不将戳作为注释添加,而是作为图像添加。但您必须在之后测试acrobat reader是否仍然认为签名是完整的。(如前所述,只允许某些添加)

PdfReader reader = new PdfReader(pdf1);
    PdfStamper pdfStamper = new PdfStamper(reader, new FileOutputStream(RESULT), '\0', true);
    Image img = Image.getInstance("URL or Filename.PathToImage.png");
    //position on the page x,y
    img.setAbsolutePosition(380f, 750f);
    img.scalePercent(20);
    //1=pagenumber and you might also try getOverContent(1)
    PdfContentByte underContent = super.stamper.getUnderContent(1);
    underContent.addImage(img);        

    pdfStamper.close(); 
 类似资料:
  • 问题内容: 我试图在启动Chrome或Firefox浏览器时禁用所有cookie。我在这里看到了示例,但是它们都是Java的,并且一些Selenium代码与Python有所不同。 我想用Python完成上述操作。 问题答案: 这将是: 已测试-为我工作(Chrome 45,硒2.47)。

  • 问题内容: 我有5个FF,Chrome,IE,Opera和Safari插件/扩展程序。 如何识别用户浏览器并重定向(一旦单击安装按钮)下载相应的插件? 问题答案: 谷歌浏览器可靠检测通常会导致检查用户代理字符串。这种方法不可靠,因为欺骗这个值很简单。 仅在确实需要时才使用浏览器检测方法,例如显示特定于浏览器的安装扩展说明。尽可能使用特征检测。 可靠性分析 在先前的方法依赖于渲染引擎的性质来检测浏览

  • 控制台的使用 控制台查看源码 控制台的 Sources标签可以查看源码。按住快捷键「cmd + P」,可以根据文件名查找源码文件。 其他 show user agent shadow DOM 把上图中的红框部分打钩。

  • 问题内容: 我在“ Ajax加载程序映像”中有问题。在Firefox上运行正常,但在chrome上,ajax加载程序映像似乎没有。 我在检查任何属性产品时会在边栏上有一些属性,产品会根据它进行更改,并且在ajax完成之前会生成一个预加载器图像。我正在做的是在我首先检查任何属性时在div html中插入gif图像并使用.show()方法,并且在ajax成功之后,我将div html设置为null并将

  • 我想将JSTestDriver与jenkins-CI集成。问题是生成服务器没有显示。有没有办法无头运行浏览器? 谢谢

  • 问题内容: 在旋转动画中,只能在Chrome浏览器中使用,而不能在Firefox中使用。为什么? 问题答案: 当前的Firefox实施失败,除非时间值具有单位。使用或。 注意:W3C明确允许数字0(不带单位)作为长度值,但对于其他值则没有这种意义。我个人希望这种情况有所改变,但目前Firefox的行为并不正确。