2010-11-17 12 views
1

Ich habe diese Anforderung, zwei PDF-Dokumente zusammenführen und legen Sie den angegebenen Rand in das resultierende PDF-Dokument. Gibt es eine Möglichkeit, den aktuellen Seitenrand von PdfReader oder PdfImportedPage zu erhalten? Ich möchte diese Messungen erhalten, um zu entscheiden, ob die Eingabeseite transformiert oder skaliert werden soll.So erhalten Sie aktuelle Seitenränder mit iText API

Antwort

4

Es gibt wirklich so etwas wie das PDF-Format nicht betroffen ist. Sie haben eine Reihe von Begrenzungsrahmen, die auf einer bestimmten Seite definiert sein können oder nicht. Die einzige erforderliche Box ist die Media Box:

Media Box: Die 'Seitengröße'. Die Größe des Mediums, auf das diese PDF-Seite gedruckt werden soll.

Crop Box: Die Größe der fertigen Seite. Jeder Unterschied zwischen Medien und Erntegut wird in einem Nachbearbeitungsschritt abgeschnitten. Standardmäßig auf die Medienbox eingestellt.

Art Box: Umfasst "den sinnvollen Inhalt der Seite". Standardmäßig auf das Beschnittfeld eingestellt.

Trim Box & Bleed Box: Ähnlich wie die Crop Box, aber nebulös anders, es sei denn, Sie sind eine professionelle Druckerei mit Dingen wie "Rated Speed".

Wenn Sie nicht mit der Art Box Glück haben (und ich wäre schockiert), ist Ihre einzige echte Option, den Inhalt jeder Seite zu analysieren (mit den Klassen in com.itextpdf.text.pdf.parser. *) und DEDUCE die Ränder selbst. Dies ist wahrscheinlich fehleranfällig.

OTOH, wenn eine Anwendung, die ursprünglich die PDF-Datei erstellt hat, ihre Layout-Informationen in die PDF-Datei eingebettet hat. In diesem Fall müssten Sie sie in einer App-by-App (oder sogar Version-by) herausfinden (Version) Basis.

0

Vielleicht hilft dieses Beispiel: http://itextpdf.com/examples/iia.php?id=280
Es ist in Java, obwohl; nicht sicher, in welchem ​​Kontext Sie sind.

+0

Danke, ich habe dieses Beispiel versucht und aus irgendeinem Grund sehe ich eine NPE mit einem PDF-Dokument mit Tabellen und Bildern in ihnen. Ich frage mich, ob dieser TextMarginFinder für alle Arten von PDF-Dokumenten verwendet werden könnte. Ich fand auch, dass dieser TextMarginFinder eine neue Ergänzung der iText API ist. –

Verwandte Themen