繁体   English   中英

如何使用itextsharp将动态数据添加到pdf标头

[英]How to add dynamic data to pdf header using itextsharp

我正在尝试使用itextsharp生成pdf。我必须在pdf头中添加一些动态数据。如何在onpagestart事件中执行此操作。

您始终可以在自己的IPdfPageEvent接口实现中声明变量。 然后,您将能够在IPdfPageEvent实现之外的任何地方设置该变量的值。

writer.PageEvent.variable = "Some value";

使用OnStartPage事件,您可以执行以下操作:

public class MyPageEvent:IPdfPageEvent
{
  public string variable="";
 public void OnStartPage(PdfWriter writer, Document document)
 {
       PdfContentByte cb = riter.DirectContent;;
       cb.BeginText();
       cb.SetFontAndSize(myBaseFont, 10f);
       cb.SetTextMatrix(600, 15);
       cb.ShowText(this.variable);
       cb.EndText();
 }
 ......
}

不知道您是否仍然需要答案,但是我目前正在做的是将pdfwriter.pageevent对象转换为显式子类,然后在该子类中设置一个公共属性。

在生成PDF的类中:

 CType(pdfWriter.PageEvent, PDFDocEventHelper).currentValue = value

以及子类PdfPageEventHelper类:

Public Class PDFDocEventHelper
 Inherits PdfPageEventHelper

 Public Property currentValue as String
 .
 .
 .
 End Class

说得通? 我一点都不喜欢使用CType()进行转换,但它确实可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM