Guten Tag alle!itextpdf anderer Rand auf bestimmter Seite
Ich habe einige Fragen in Bezug auf Dokument:
- Hat itextpdf die Möglichkeit hat, eine andere Marge auf einer bestimmten Seite zu haben? Ich habe versucht,
document.setMargin
dann
document.newPage
zu verwenden, aber es scheint, dass jede Seite die gleiche Marge bekommen.
- Gibt es eine Möglichkeit zu verhindern, dass sich Header und Element überschneiden?
Dank!
EDIT
Hier ist die Methode, die den Inhalt des Dokuments ergänzt:
@Override
void addDocumentContent(Document doc, PdfWriter writer, AbstractDiplomaDataModel diplomaData) throws DiplomaPdfFileProducerException {
try {
doc.setMargins(DefaultPdfDocumentSettings.LEFT_MARGIN, DefaultPdfDocumentSettings.RIGHT_MARGIN, 0f, 0f);
doc.newPage();
doc.add(new DiplomaPdfDataGenerator(diplomaData).generateFirstPagePdf());
doc.setMargins(DefaultPdfDocumentSettings.LEFT_MARGIN, DefaultPdfDocumentSettings.RIGHT_MARGIN, DefaultPdfDocumentSettings.TOP_MARGIN,DefaultPdfDocumentSettings.BOTTOM_MARGIN);
doc.newPage();
doc.add(new DiplomaPdfDataGenerator(diplomaData).generateOtherPagesPdf());
} catch (Exception e) {
throw new DiplomaPdfFileProducerException(e.getMessage());
}
}
und das ist das Ergebnis:
Was ergeben 'DiplomaPdfDataGenerator.generateFirstPagePdf()' und 'DiplomaPdfDataGenerator.generateOtherPagesPdf()' return? Und wie generieren Sie Ihre Header? Und was sind die Werte dieser 'DefaultPdfDocumentSettings' Konstanten? Ansonsten sieht der Code wie der Code in meiner Antwort aus, der wie erwartet funktioniert. Daher ist etwas Besonderes an diesen Objekten oder Mechanik. – mkl
Es hat funktioniert. Die generateFirstPagePdf() und generateOtherPagesPdf() geben Absatz/Element zurück. Ich habe gerade den Unterschied nicht bemerkt, weil DefaultPdfDocumentSettings.TOP_MARGIN 20 ist. Ich habe den oberen Rand auf 60 geändert, und ich habe den Unterschied bemerkt – triForce420
Großartig! Ich begann mich zu fragen, was diese Methoden zurückgeben könnten, damit das Ergebnis die Ränder ignoriert ...;) – mkl