我想添加一个链接到现有的pdf,跳转到另一个页面上的坐标。
我可以使用以下代码添加矩形:
PdfContentByte overContent = stamper.GetOverContent(1);
iTextSharp.text.Rectangle rectangle = new Rectangle(10,10,100,100,0);
rectangle.BackgroundColor = BaseColor.BLUE;
overContent.Rectangle(rectangle);
stamper.Close();
如何创建类似于创建可点击的链接?感谢。
答案 0 :(得分:1)
本书"iText in Action - Second Edition"的第7章对此进行了解释。您可以在此处找到示例:http://itextpdf.com/examples/iia.php?id=150
如果您需要C#版本,请查看此处:http://kuujinbo.info/iTextInAction2Ed/index.aspx
更具体地说:http://kuujinbo.info/iTextInAction2Ed/index.aspx?ch=Chapter07&ex=TimetableAnnotations2
PdfAnnotation annotation = PdfAnnotation.CreateLink(
stamper.Writer, rect, PdfAnnotation.HIGHLIGHT_INVERT,
new PdfAction("http://itextpdf.com/")
);
stamper.AddAnnotation(annotation, page);
在此代码示例中,page
是您要添加链接的页面编号,rect
是定义该页面上坐标的Rectangle
对象。
答案 1 :(得分:0)
我喜欢用表格构建PDF,这是我使用的代码
PdfPCell cell = new Chunk anchor = new Chunk("Name of link", font);
anchor.SetAnchor("PageName.aspx");
cell.AddElement(new Phrase(anchor));
cell.BorderColor = BaseColor.BLACK;
cell.Padding = 5;
table.AddCell(cell);
或者如果您希望它是无边界的
PdfPCell cell = new Chunk anchor = new Chunk("Name of link", font);
anchor.SetAnchor("PageName.aspx");
cell.AddElement(new Phrase(anchor));
cell.Border = Rectangle.NO_BORDER;
table.AddCell(cell);