Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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
如何在PDF javascript中获取现有的戳记批注?_Javascript_Pdf_Annotations_Itext - Fatal编程技术网

如何在PDF javascript中获取现有的戳记批注?

如何在PDF javascript中获取现有的戳记批注?,javascript,pdf,annotations,itext,Javascript,Pdf,Annotations,Itext,我已使用iTextSharp成功地将戳记批注添加到PDF文件中: PdfReader reader1 = new PdfReader(new FileStream("f:\\1.pdf", FileMode.Open)); Stream ff = new FileStream(TestTmpFile, FileMode.Create); PdfStamper stamper =

我已使用iTextSharp成功地将戳记批注添加到PDF文件中:

                PdfReader reader1 = new PdfReader(new FileStream("f:\\1.pdf", FileMode.Open));
                Stream ff = new FileStream(TestTmpFile, FileMode.Create);

                PdfStamper stamper = new PdfStamper(reader1, ff);
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance("f:\\1.png");
                float w = img.Width;
                float h = img.Height;
                iTextSharp.text.Rectangle location = new iTextSharp.text.Rectangle(36, 770 - h, 36 + w, 770);
                PdfAnnotation stamp = PdfAnnotation.CreateStamp(stamper.Writer, location, "stampname", "stampname");
                img.SetAbsolutePosition(0, 0);
                PdfContentByte cbb = stamper.GetOverContent(1);
                PdfAppearance app = cbb.CreateAppearance(w, h);
                app.AddImage(img);
                stamp.Name = "stampname";
                
                stamp.SetAppearance(PdfName.N, app);

                stamp.Flags=PdfAnnotation.FLAGS_PRINT;
                stamper.AddAnnotation(stamp, 1);
                stamper.Close();
                reader1.Close();
我已将批注名称设置为“stampname”,但我无法通过this.getAnnot()以PDF javascript获取此戳记批注。PDF中的javasript代码为:

var anno=this.getAnnot(0,"stampname");
我调用了错误的方法吗?或者这个问题与iTextsharp有关

==== 编辑: 我已经上传了样本PDF文件,它包含的邮票注释,这是png图像。javascript条目位于“9124 0 obj”


附件正确地将其注释名称属性NM设置为“stampname”-请参见此处:-那么
getAnnot
查找什么呢?也就是说,PDF的交叉引用和尾部已断开:您的PDF包含对象编号为9122、9123的对象,和9124,但交叉引用仅指对象0…318,拖车显示大小为319。这不是iText的典型错误,它看起来更像是有人根据PDF的要求将注释复制并粘贴到您的PDF中。谢谢mkl,我可以知道您使用了什么工具吗?这似乎非常有用。我第一次评论中的屏幕截图来自iText RUPS。在我的第二个评论中,我使用了一个普通的文本查看器(Total Commander内置的)。