PDFsharp: gibt es eine Möglichkeit zum generieren von "Seite X von Y" in der Kopfzeile der Seite?
Es scheint ziemlich einfach, aber ich kann nicht finden, etwas wie getPageCount() in der API. Kann ich es zurück auf die aktuelle Seite, aber nicht die Gesamtzahl der Seiten. Vielleicht fehlt mir?
Ich würde gerne irgendwie in der Lage sein zu drucken "Seite 1 von 9" am oberen Rand jeder Seite, wo die " 1 " natürlich ist die aktuelle Seite Anzahl.
InformationsquelleAutor der Frage mkautzm | 2013-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit PDFsharp es ist bis zu Ihnen.
Ich nehme an, Sie sind mit MigraDoc: Mit MigraDoc können Sie fügen Sie eine Kopfzeile. Hinzufügen
paragraph.AddPageField()
für die aktuelle Seitenzahl und dieparagraph.AddNumPagesField()
für die gesamtseitenzahl.Probe, die verwendet AddPageField
Codeausschnitt aus dem Beispiel:
Code-Schnipsel setzt den Tabulator (vorausgesetzt, DIN A 4 mit einem Körper mit der 16 cm):
Beide snippets stammt aus der verlinkten Seite. Beispielcode ist auch zum download zur Verfügung.
InformationsquelleAutor der Antwort The sky is the limit
Stellen Sie sicher, dass die
using MigraDoc.DocumentObjectModel;
- Anweisung in Ihrer Klasse.InformationsquelleAutor der Antwort Kidquick
Ich weiß, diese Frage ist alt und hat eine akzeptierte Antwort, jedoch kommt die Frage auf, bis zu den ersten bei der Suche nach einem PDFsharp Lösung.
Für das Protokoll, dies zu erreichen in PDFsharp ist einfach. Die
PdfDocument
Klasse, fand unter derPdfSharp.Pdf
- namespace enthält eine Sammlung von Seiten (PdfDocument.Pages
). Alles, was Sie tun müssen ist, iterieren durch die Sammlung und fügen Sie die Seite Zähler irgendwo auf jeder Seite, mit einemXGraphics
Objekt, das Sie instanziieren können mitXGraphics.FromPdfPage(PdfPage)
.Es ist erwähnenswert, dass, wenn ein XGraphics-Objekt bereits vorhanden ist, für eine bestimmte Seite, vor dem erstellen eines neuen, der alte muss entsorgt werden. Dies würde fehlschlagen:
InformationsquelleAutor der Antwort DAAlex