• jPDFNotes

    jPDFNotes

    jPDFNotes

    Bean to embed in your Java applications and applets to annotate PDF documents and fill interactive PDF forms.

    TRY LIVE DEMO

jPDFNotes Entwicklerhandbuch

Inhalt

javalogo
Einführung
Erste Schritte
Ein Dokument öffnen
Ein Dokument speichern
Die Toolbar anpassen
Verteilung und JAR-Dateien

Javadoc API
Source Code Samples

Einführung

jPDFNotes ist eine Java-Bean, die man in Java-Anwendungen und Applets einbetten kann, um PDF-Inhalte für Benutzer bereitzustellen und um ihnen zu erlauben, Notizen und Kommentare einzufügen und das kommentierte Dokument zu speichern. jPDFNotes baut auf der Qoppas eigenen PDF-Technologie auf, deshalb wird keine Installation von Software eines Drittherstellers oder Treiber benötigt. jPDFNotes integriert sich nahtlos in Ihre Anwendung oder Applet und liefert die meisten Funktionen, die beste Performance und die höchste Zuverlässigkeit aller Java-PDF-Anzeigeprogramme.

Wenn Sie jPDFNotes in Ihrer Anwendung verwenden, können Sie eine benutzerspezifische Versionsverwaltung mit vollständiger Kontrolle und Sicherheit über den gesamten PDF-Inhalt implementieren. jPDFNotes lässt Sie Funktionen anpassen, die für Ihre Benutzer verfügbar sind, wie Öffnen, Speichern und Drucken von Dokumenten, so dass Sie Informationsfluss kontrollieren.

Erste Schritte

jPDFNotes stellt eine Standard-Java-Bean bereit, die man zu jedem GUI-Container hinzufügen kann, die Bean-Klasse ist com.qoppa.pdfNotes.PDFNotesBean. Die Bean kann zu einem Container entweder durch ein Programm oder durch Einsatz eines Standard-GUI-Editors innerhalb Ihrer Entwicklungsumgebung hinzugefügt werden. Sobald die Bean hinzugefügt wurde, kann Ihre Anwendung damit beginnen PDF-Dokumente anzuzeigen und Ihre Benutzer können Notizen und Kommentare hinzufügen. jPDFNotes kann PDF-Dokumente sowohl per Programm basierend auf Anwendungslogik laden oder indem Benutzer ihre eigenen PDF-Dokumente über die Öffnen-Schaltfläche der Toolbar öffnen.

Die Host-Anwendung kann auch die Toolbar durch Aufruf der getToolbar()-Methode anpassen und Schaltflächen entfernen oder hinzufügen, die Button-Handler überschreiben oder sogar die gesamte Toolbar verdecken. Action-Handler auf den Toolbar-Schaltflächen können überschrieben werden, um kundenspezifischen Code für die Umsetzung der Funktionen bereitzustellen. Zum Beispiel kann Ihre Anwendung die open-Funktion überschreiben, um den Benutzern eine eingeschränkte Liste von PDF-Dokumenten anzuzeigen, die man öffnen kann.

Ein Dokument öffnen

Laden und Anzeigen eines Dokuments per Programm ist mit jPDFNotes sehr einfach möglich. Sobald eine PDFNotesBean-Bean einem Container hinzugefügt wurde, braucht die Host-Anwendung nur eine der loadPDF-Methoden aufzurufen und die Bibliothek wird die erste Seite des Dokuments laden und anzeigen. Den drei Versionen der loadPDF-Methode kann als Parameter ein Datei-Name, eine URL oder ein InputStream übergeben werden.

PDFNotesBean bean = getViewerBean ();
bean.loadPDF ("c:\\test.pdf");

Ein Dokument speichern

jPDFNotes stellt eine Speichern-Schaltfläche in der Navigation-Toolbar bereit, diese Schaltfläche hat folgendes Standard-Verhalten:

  • Falls das PDF-Dokument über das Dateisystem geöffnet wurde, wird jPDFNotes das geänderte Dokument am selben Ort abspeichern.
  • Falls das PDF-Dokument über eine URL oder über einen InputStream geöffnet wurde, wird die Bibliothek den Benutzer nach einem Datei-Namen fragen und an diesem Ort speichern.

Dieses Standard-Verhalten kann durch die Host-Anwendung überschrieben werden, indem ein PDF Saver mit der PDFNotesBean registriert wird. Um dies zu tun, muss die Host-Anwendung die setPDFSaver-Methode in der PDFNotesBean mit einem Objekt aufrufen, das IPDFSaver implementiert. IPDFSaver ist ein Interface, das immer wenn PDFNotesBean ein Dokument speichern muss, aufgerufen wird. Das Interface besteht aus einer einzigen Methode mit drei Parametern, der Referenz auf ein PDFNotesBean-Objekt, dem Namen des PDF-Dokuments und falls das Dokument über eine Datei geöffnet wurde, einer Referenz auf ein File-Objekt, welche auf die Datei zeigt, über die das Dokument geöffnet wurde.

Die Host-Anwendung kann dies dazu benutzen, um geänderte Dokumente an anderen Orten als dem Dateisystem abzuspeichern, mit oder ohne Benutzerinteraktion. Zum Beispiel kann die Anwendung das Dokument in einem Datenbank-Server oder in einem Anwendungsserver speichern. Innerhalb dieser Methode kann die Host-Anwendung eine Referenz des Dokuments durch Aufruf der getDocument-Methode im PDFNotesBean-Objekt bekommen. Sie kann dann das zurück gegebene PDFDocument-Objekt benutzen, um den PDF-Inhalt in eine Datei oder in einen OutputStream zu schreiben. Verwendet man einen ByteArrayOutputStream, kann die Anwendung ein Byte-Array bekommen, um den Inhalt des PDF-Dokuments vor zu halten.

Die Toolbar anpassen

Die Toolbar in jPDFNotes kann angezeigt oder verdeckt werden, abhängig von den Anforderungen der Host-Anwendung. Zusätzlich kann auf alle Schaltflächen in der Toolbar zugegriffen werden, damit sie aktiviert/deaktiviert oder versteckt werden können. Die PDFNotesBean-Klasse verfügt über zwei Methoden, getAnnotToolbar und getEditToolbar, die Referenzen zu den Anmerkungen der Toolbar bzw. der Navigation-Toolbar zurück liefert. Jede dieser Toolbars stellt Methoden bereit, um auf die enthaltenen Schaltflächen zuzugreifen, damit die Host-Anwendung die Schaltflächen einzeln deaktivieren oder verdecken kann. Bitte sehen Sie für nähere Informationen im API nach.

Das folgende Beispiel geht davon aus, dass notesBean eine Referenz auf eine PDFNotesBean ist:

Um die Anmerkungen-Toolbar zu verdecken:

notesBean.getAnnotToolbar().setVisible (false);

Um die Öffnen-Schaltfläche zu verdecken:

notesBean.getEditToolbar().getjbOpen ().setVisible (false);

Um die Drucken-Schaltfläche zu deaktivieren:

notesBean.getToolbar().getjbPrint().setEnabled (false);

Verteilung und JAR-Dateien

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

Um JPEG 2000-Bilder zu unterstützen, verwendet jPDFNotes die Java Advanced Imaging (JAI)-Klassen. Da dieses API nur für Java 1.4.2 verfügbar ist, benötigt jPDFNotes Java 1.4.2 oder höher, falls man mit PDF-Dokumenten arbeitet, die JPEG2000-Bilder enthalten. Das API kann getrennt auf der Zielmaschine installiert werden oder die jai_imageio.jar-Datei (in der Installation des Beispielprogramms enthalten) kann unabhängig davon installiert und in den Classpath aufgenommen werden.