2016-04-21 5 views
4

, wie die aktuelle Seitenzahl und die Gesamtzahl der Seiten in der PDF-Datei als Seite hinzufügen: 3/10wie die aktuelle Seitenzahl und die Gesamtzahl der Seiten in iTextSharp

Mein Code wird wie folgt

 //PdfPTable saleTable = SaleTable(); 
     FileStream fileStream = new FileStream(Customer + "Invoice.pdf", 
     FileMode.Create, 
               FileAccess.Write, 
               FileShare.None); 
     Document doc = new Document(PageSize.A4); 

     PdfWriter writer = PdfWriter.GetInstance(doc, fileStream); 
     doc.Open(); 

     glue = new Chunk(new VerticalPositionMark()); 
     _phrase1.Add(new Chunk(glue)); 
     _phrase1.Add(new Chunk("Page Number: ")); 

     _para.Add(_phrase1); 
     doc.Add(_para); 

Antwort

6

Das Abrufen der aktuellen Seitenzahl ist einfach. Sie haben eine PdfWriter Instanz mit dem Namen writer. Sie können für die aktuelle Seitennummer die Instanz fragen:

int pageNo = writer.PageNumber 

In Java:

int pageNo = writer.getPageNumber(); 

Erste die Gesamtzahl der Seiten unmöglich ist, es sei denn, Sie in die Zukunft blicken können. Wenn Sie auf Seite 1 sind, gibt es für iText keine Möglichkeit zu wissen, wie viele Seiten Sie hinzufügen werden. Vielleicht rufen Sie die Methode Close() sofort auf. In diesem Fall ist die Gesamtzahl der Seiten 1. Möglicherweise planen Sie, einhundert Seiten hinzuzufügen.

Es gibt zwei Möglichkeiten, dieses Problem zu umgehen.

# 1: Erstellen Sie die PDF-Datei in zwei Durchgängen

Sie die PDF-Datei in der ersten ohne Seitenzahlen Speicher erstellen. Anschließend verwenden Sie PdfStamper, um Seitenzahlen hinzuzufügen. Dies ist in der folgenden Q erklären & A Artikel und Beispiele:

# 2: einen Platzhalter für die Gesamtzahl der Seiten

Sie einen PdfTemplate als Platzhalter für die Gesamtzahl der Seiten Verwenden Sie erstellen können. Dann, direkt vor Ihnen Close() das Dokument, können Sie die Gesamtzahl der Seiten auf diesem Platzhalter ausfüllen.

Diese ebenfalls erläutert wurde viele Male vor:

Bitte durchsuchen Sie die official documentation bevor Sie eine Frage stellen.

Verwandte Themen