Home Contact Us

Qoppa Software - PDF Tools & Libraries

Home / Contact Us

jPDFWriter™ Entwicklerhandbuch

English German

Inhalt

Verteilung und JAR-Dateien

Javadoc API

Einführung

jPDFWriter ist eine Java-Bibliothek mit der man PDF-Dokumente direkt aus Java-Programmen erzeugen kann.

jPDFWriter kann PDF-Dateien auf zwei Arten erzeugen:

  • PDF-Dateien können unmittelbar mit dem sehr einfachen jPDFWriter-API erzeugt werden. Legen Sie einfach ein PDFDocument-Objekt an, erzeugen Sie so viele PDFPage-Objekte wie notwendig, zeichnen Sie auf den Seiten Zeichenketten, Grafiken oder jedes andere durch Graphics2D unterstützte Element und speichern Sie dann das Dokument.
  • jPDFWriter erweitert auch den standardmäßigen Java-PrinterJob, so dass Sie PDF-Dateien genauso anlegen können, also ob Sie auf einem physischen Drucker ausdrucken würden. Dies erlaubt es, vorhandenen Druck-Code wiederzuverwenden; die Anwendung kann zur Laufzeit entscheiden, ob sie die Ausgabe auf einen Drucker oder in eine PDF-Datei schicken soll.

PDF-Dateien können als Dateien auf eine Festplatte gespeichert, in einen java.io.OutputStream geschrieben oder (für den Fall man arbeitet innerhalb eines J2EE-Anwendungs-Servers) unmittelbar in ein javax.servlet.ServletOutputStream geschrieben werden, um in einem Browser angezeigt zu werden.

Ein Dokument erzeugen

// Ein neues Dokument anlegen
PDFDocument pdfDoc = new PDFDocument ();

Eine Seite hinzufügen

// Eine Seite erzeugen
PDFPage page = pdfDoc.createPage(null);

// Eine Seite dem Dokument hinzufügen
pdfDoc.addPage (page);

Auf einer Seite mit Graphics-Objekt schreiben und zeichnen

Sobald Sie ein PDFDocument erzeugt haben und ihm eine Seite hinzugefügt haben, können Sie einfach alle standardmäßigen Graphics-Kommandos der Java Graphics2D-Klasse verwenden, um auf die Seite zu zeichnen.

// das Graphics-Objekt auf der Seite bestimmen
Graphics2D g2d = page.createGraphics();

// Ein rotes Rechteck zeichnen
g2d.setColor(Color.red);
g2d.fillRect(100, 100, 400, 200);

// Eine runde Umrandung um das Rechteck zeichnen
g2d.setStroke(new BasicStroke(6));
g2d.setColor(Color.black);
g2d.drawRoundRect(100, 100, 400, 200, 10, 10);

// Eine Zeichenkette zeichnen
g2d.setFont(new Font ("Helvetica", Font.BOLD, 36));
g2d.setColor(Color.white);
g2d.drawString("Qoppa Software", 150, 200);

Das würde die Ausgabe in ein PDF sein, wenn man die obigen Graphics-Kommandos verwenden würde, um auf eine Seite zu schreiben.
Graphics Drawing Result

Ein JComponent in ein PDF mit Graphics-Objekt drucken

Sie können die print-Methode(Graphics g) von JComponent verwenden, um jede Swing-Komponente auszudrucken. Beachten Sie, Komponenten müssen auf dem Bildschirm angezeigt werden, damit sie ausgedruckt werden können.

// Graphics-Objekt auf der Seite bestimmen
Graphics2D g2d = page.createGraphics();

// myComponent ist eine JComponent, die am Bildschirm angezeigt wird
myComponent.print(g2d);

Ein Dokument speichern

// Ein Output-Dateinamen bestimmen
File outFile = getOutputFile ();

// Das Dokument speichern
if (outFile != null)
{
pdfDoc.saveDocument (outFile.getAbsolutePath());
}

Drucken als PDF über einen PrinterJob

Eine weitere geeignete Möglichkeit, um in ein PDF zu drucken und vorhandenen Druck-Code wiederzuverwenden, ist der Einsatz der <a href="/guide/jPDFWriter/javadoc/com/qoppa/pdfWriter/PDFPrinterJob.html">PDFPrinterJob</a>-Klasse. Die PrinterJob-Klasse erweitert den Standard-Java-<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/awt/print/PrinterJob.html">PrinterJob</a> und bildet seine Funktionalität nach; mit der Ausnahme, dass der Output anstatt auf einen Drucker in ein PDF-Dokument geht.

Ein Aufruf der statischen getPrinterJob-Methode erzeugt ein PDFPrinterJob-Objekt. Jedes Printable- oder Pageable-Objekt kann über diesen Druckjob ausgeben werden, wie man es mit einem Standard-Java-PrinterJob machen würde. Benutzer werden nach einem Dateinamen gefragt und der PDFPrinterJob wird in die vorgegebene PDF-Datei drucken.

// Einen PDFPrinterJob bestimmen
PDFPrinterJob printer = (PDFPrinterJob)PDFPrinterJob.getPrinterJob ();

// myPrintable ist eine Klasse, die das Printable Interface implementiert
printer.setPrintable (myPrintable);
printer.setCopies (1);
printer.print();

Verteilung und JAR-Dateien

jPDFWriter wird vollständig in einer einzigen JAR-Datei ausgeliefert; jPDFWriter.jar, diese wird mit dem Evaluationsbeispiel installiert. Wenn eine Anwendung, die jPDFWriter enthält, verteilt werden soll, muss, damit die Anwendung läuft, die jPDFWriter.jar-Datei zusammen mit ihr verteilt und in den Classpath aufgenommen werden.

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.