使用 iTextSharp 的页面的 Header
Header of Page with iTextSharp
我正在使用 iTextSharp 制作 pdf 文档。我使用 PageEvent 事件创建了 header,但我希望我的 header 在某些页面中有所不同。
它适用于为所有页面设置相同的 header。
但是,我想要一些不同的东西。
示例:第 1 页=>Header1 第 2 页=>Header1 第 3 页=>Header2 第 4 页=>Header2
我会解决的,但是遇到这种情况就麻烦了:
writer.PageEvent=new PDFFooter(params);
doc.Open();
PageEvent 事件必须在上面创建 doc.Open();
当我把它放在下面时,它会产生错误。我在 Visual Studio Community 2013 中使用 C#。
我该如何解决这个问题?谢谢!!
我现在解决了问题
解决方案是这样的:
PDFFooter events=new PDFFooter();
PdfWriter writer = PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
foreach (var item in ListReporte)
{
events = new PDFFooter();
writer.PageEvent = events;
events.Ciudad = item.Ciudad;
events.OnStartPage(writer,doc);
//This was the solution
if (writer.PageEvent != null)
writer.PageEvent = null;
}
在每次迭代中,我将 null 分配给 PageEvent 属性。
但首先,我创建了一个 PDFFooter 对象(class PDFFooter 包含 OnStartPage 和 OnEndPages 事件...),因此,在那个 class 我声明了一些关于我想要的数据的属性显示。
以前,我无法实例化 doc.Open()
下面的 PDFFooter class。代码是这样的:
writer.PageEvent=new PDFFooter();
doc.Open():
所以,我尝试先创建对象,然后将其设置为编写器对象的 PageEvent 属性(我建议这样做)。它奏效了。
感觉很棒
我正在使用 iTextSharp 制作 pdf 文档。我使用 PageEvent 事件创建了 header,但我希望我的 header 在某些页面中有所不同。 它适用于为所有页面设置相同的 header。
但是,我想要一些不同的东西。
示例:第 1 页=>Header1 第 2 页=>Header1 第 3 页=>Header2 第 4 页=>Header2
我会解决的,但是遇到这种情况就麻烦了:
writer.PageEvent=new PDFFooter(params);
doc.Open();
PageEvent 事件必须在上面创建 doc.Open();
当我把它放在下面时,它会产生错误。我在 Visual Studio Community 2013 中使用 C#。
我该如何解决这个问题?谢谢!!
我现在解决了问题
解决方案是这样的:
PDFFooter events=new PDFFooter();
PdfWriter writer = PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
foreach (var item in ListReporte)
{
events = new PDFFooter();
writer.PageEvent = events;
events.Ciudad = item.Ciudad;
events.OnStartPage(writer,doc);
//This was the solution
if (writer.PageEvent != null)
writer.PageEvent = null;
}
在每次迭代中,我将 null 分配给 PageEvent 属性。
但首先,我创建了一个 PDFFooter 对象(class PDFFooter 包含 OnStartPage 和 OnEndPages 事件...),因此,在那个 class 我声明了一些关于我想要的数据的属性显示。
以前,我无法实例化 doc.Open()
下面的 PDFFooter class。代码是这样的:
writer.PageEvent=new PDFFooter();
doc.Open():
所以,我尝试先创建对象,然后将其设置为编写器对象的 PageEvent 属性(我建议这样做)。它奏效了。
感觉很棒