Hallo,
ich versuche gerade per iText ein mehrseitiges PDF-File (Quartalsabrechnung)
zu erstellen und bin auf einen merkwürdigen Fehler gestossen:
Wenn ich bei der Anzeige des erzeugten Dokuments mit der Maus langsam durch
die Seiten scrolle, bleibt die zweite Seite vollständig leer; erst ab einen bestimmten
Zeitpunkt (wenn die erste Seite vollständig nicht mehr zu sehen ist) erscheint plötzlich
das Wort "Welt"; beim Ausdruck sieht allerdings alles korrekt aus.
Frage: Ist das jetzt ein Fehler des Acrobat Readers oder mache ich etwas
grundsätzlich falsch? Oder anders gefragt: Sind die Anweisungen
so korrekt? Wird jeweils der richtige DirectContent für die einzelnen
Seiten besorgt, in den ich dann hineinschreiben kann?
Danke im Voraus!
ich versuche gerade per iText ein mehrseitiges PDF-File (Quartalsabrechnung)
zu erstellen und bin auf einen merkwürdigen Fehler gestossen:
Code:
import java.awt.*;
import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public class PDFCreate {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("Test.pdf"));
document.open();
int w = (int) PageSize.A4.width();
int h = (int) PageSize.A4.height();
PdfContentByte cb = writer.getDirectContent();
Graphics2D g = cb.createGraphics(w, h);
g.drawString("Hallo", 100, 100);
document.newPage();
cb = writer.getDirectContent();
g = cb.createGraphics(w, h);
g.drawString("Welt", 100, 100);
} catch(DocumentException de) {
System.err.println(de.getMessage());
} catch(IOException ioe) {
System.err.println(ioe.getMessage());
}
document.close();
try {
Runtime.getRuntime().exec("cmd /c " + "Test.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
die Seiten scrolle, bleibt die zweite Seite vollständig leer; erst ab einen bestimmten
Zeitpunkt (wenn die erste Seite vollständig nicht mehr zu sehen ist) erscheint plötzlich
das Wort "Welt"; beim Ausdruck sieht allerdings alles korrekt aus.
Frage: Ist das jetzt ein Fehler des Acrobat Readers oder mache ich etwas
grundsätzlich falsch? Oder anders gefragt: Sind die Anweisungen
Code:
document.newPage();
cb = writer.getDirectContent();
g = cb.createGraphics(w, h);
g.drawString("Welt", 100, 100);
Seiten besorgt, in den ich dann hineinschreiben kann?
Danke im Voraus!