2017-02-12 91 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。