2016-11-30 12 views
0

Ich verwende PDFsharp und MigraDoc, um PDF-Dokumente zu erstellen. Und gestern habe ich mit dem Problem des Seitenendes konfrontiert. Ich habe eine Schleife mit Daten zum Beispiel für 10 Artikel. In jeder Iteration muss ich ein solches Dokument erstellen ->pdf examplePDFsharp & MigraDoc: PDF-Layout Seitenende

Und dann speichern Sie es als ein PDF-Dokument. Wie wir sehen, habe ich mehrere Blöcke auf der Seite, die sich dynamisch vergrößern können. Wie erkenne ich das Ende des Seitenendes? Zeichne die Zeichenkette auf der nächsten Seite fort? Und wie kann ich das Ende eines ersten Absatzes erkennen, um den zweiten Absatz hinzuzufügen (oder einfach an das Ende anhängen)? Ich habe versucht, paragraph.AddText() zu verwenden, und es wird nicht auf der nächsten Seite fortgesetzt, gehen Sie einfach ins Nirgendwo. Aus der Dokumentation von PDFsharp und MigraDoc kann ich kein entsprechendes Beispiel finden. Hier sind meine Versuche, es für eine Iteration download example, example 2 download zu tun. Ich bin sehr dankbar für einige Codes, die mir helfen können.

Antwort

1

Sie zeigen keinen Code an. Sie erwähnen AddText(), also nehme ich an, dass Sie MigraDoc verwenden.

Die MigraDoc Proben sind hier zu finden:
http://www.pdfsharp.net/wiki/MigraDocSamples.ashx

Mit MigraDoc Sie in der Regel müssen nicht über Seitenumbrüche egal wie MigraDoc Absätze auf die nächste Seite automatisch erzeugt wird. Zumindest ist dies das Standardverhalten, wenn Sie renderer.RenderDocument() verwenden, um das Dokument zu erstellen.
Sie können Section.AddPageBreak() verwenden, um bei Bedarf einen Seitenumbruch zu erzwingen.

dieses Beispiel Siehe empfohlene Verwendung von MigraDoc und RenderDocument():
http://www.pdfsharp.net/wiki/HelloMigraDoc-sample.ashx

+0

Für den Moment, als ich zum Erzeugen von PDF keinen richtigen Teil des Codes habe. Ich versuche, Proben zu verwenden, aber auf allen von ihnen habe ich ähnliches Problem. Eines der Beispiele erklärt, wie man es verwendet, wenn Sie viele Zeilen haben, aber im Kommentar zum Beispielautor sagte, wenn Sie Zeilenumbrüche haben, probieren Sie nicht für Sie. Das versuche ich jetzt selbst zu beheben [link to sample] (http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx). Im Allgemeinen habe ich nur eine Schleife, jedes Element, das ich zu einem solchen Dokument füllen muss, wie ich es bereitgestellt habe. Vielen Dank. – ovasylenko

+0

als Beispiel für meine früheren Versuche kann ich diese Konsole App teilen. Es ist ein Beispiel für eine Iteration [download] (https://yadi.sk/d/WgZprdTZzqLaY) im Archiv in der Nähe von sln finden Sie txt Dokument mit Daten. – ovasylenko

+0

Das Beispiel "Mix MigraDoc and PDFsharp" zeigt einen speziellen Fall, in dem Sie für Seitenumbrüche verantwortlich sind. Verwenden Sie MigraDoc wie in den anderen Beispielen (mit 'renderer.RenderDocument()') und Sie erhalten automatische Seitenumbrüche. –

Verwandte Themen