如何解决iText 7-如何创建将引用书签并用作PDF页面模板的名称词典条目
我正在尝试使用C#和iText 7生成PDF图章文件(将PDF文件放置在桌面Acrobat中,其中包含可以使用Acrobat图章工具叠加到其他PDF中的图形)。手动创建后,用户将访问Acrobat的“组织”工具,为包含要使用的图形的每个页面创建具有所需格式(即#FirstName=First Name Signature
)名称的页面模板,从而允许通过以下方式复制该图形: Acrobat邮票工具。这就是RUPS中工作的PDF图章文件的样子。 (请注意Names Dictionary
及其下面的页面词典的形成):
但是,当我使用iText 7创建PDF Stamp文件时,尽管我能够创建一个Names条目和该页面的链接书签(另一个Stamp页面模板要求),但是我却无法创建Names条目链接到书签(或iText中的大纲)的链接。这是我的代码生成的PDF在RUPS中的样子:
这是我的代码。在nameTree.AddEntry("#FirstName=First Name Signature",PdfName.Dest)
行中,参数PdfName.Dest
不正确,但是我不知道这里是什么:
PdfWriter writer = new PdfWriter(@"Output file path",new WriterProperties().AddXmpMetadata().SetPdfVersion(iText.Kernel.Pdf.PdfVersion.PDF_1_6));
PdfDocument pdf = new iText.Kernel.Pdf.PdfDocument(writer);
PdfDocumentInfo info = pdf.GetDocumentInfo();
info.SetTitle("Generated by iText");
ImageData imageData = ImageDataFactory.Create(@"Path to FirstName_Bill.jpg");
iText.Layout.Element.Image pdfImg = new iText.Layout.Element.Image(imageData);
Document document = new Document(pdf);
document.Add(pdfImg);
PdfOutline root = pdf.GetOutlines(false);
PdfOutline pageOneBookmark = root.AddOutline("FirstName_Bill");
pageOneBookmark.AddAction(Action.PdfAction.CreateGoTo(PdfExplicitDestination.CreateFitH(pdf.GetFirstPage(),pdf.GetFirstPage().GetPageSize().GetTop())));
document.Close();
PdfDocument pdfDoc = new PdfDocument(new PdfReader(@"PDF to read"),new PdfWriter(@"PDF to write"));
PdfCatalog catalog = pdfDoc.GetCatalog();
PdfNameTree nameTree = catalog.GetNameTree(PdfName.Pages);
//PdfName.Dest is incorrect. How to link this entry to outline/bookmark?
nameTree.AddEntry("#FirstName=First Name Signature",PdfName.Dest);
pdfDoc.Close();
所以我的问题是如何通过参考生成的大纲书签创建一个名称字典条目,该条目将用作完成的PDF中的页面模板?非常感谢所有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。