2017-02-12 81 views
0

我花了很多时间在这个问题上无济于事。我的PDF页面会自动编号“”创建PDF时,如下所示:Itextsharp删除页面编号

  using (MemoryStream ms = new MemoryStream()) 
      using (Document document = new Document(PageSize.A4, 10, 10, 25, 25)) 
      using (PdfWriter writer = PdfWriter.GetInstance(document, ms)) 
      { 
       writer.PageEvent = new TextEvents(); 
       document.Open(); 
       document.NewPage(); 
       document.Add(new Phrase("Hello World!")); 
       document.Close(); 
       writer.Close(); 

       var docout = ms.ToArray(); 

       ms.Close(); 

       return docout; 
      } 

如何制止这种行为?我不想要一个页面编号。

+0

您不显示代码中实现页码的部分。提示:查找设置为PdfWriter的页面事件侦听器,或者使用PdfStamper为页面编号添加第二遍。 – mkl

+0

感谢您的回复。我更新了代码。我没有实现页面编号,这让我感到困惑? –

+0

显然你会这样做,因为iText不会添加页码,除非您告诉它添加它们。 –

回答

1

在这一行

writer.PageEvent = new TextEvents(); 

你告诉iText的发送页面事件到自己TextEvents类的一个实例。由于您展示的代码中没有其他部分添加页码,因此它必须属于您的这一类。

您可以通过删除上面引用的代码行来测试此操作。

请注意:可能是TextEvents类别也会做其他事情,可能是您想要的。因此,您可能最终不得不分析TextEvents类,而只是删除不需要的行为。

0

要添加到上面的答案,TextEvents()应扩展PdfPageEventHelper其中有一个onEndPage()方法,其中你会发现代码,添加n的页面x。