Es gab eine Zeit, in der wir Dokumentinhalte und Feedback in langen E-Mail-Threads mit mehreren Anhängen und verschiedenen Dateiversionen diskutierten. Jetzt können wir einfach Anmerkungen verwenden, um das Dokument mit Nachrichten und Antworten zu markieren und es zu senden. In diesem Artikel erfahren Sie, wie Sie PDF-Dokumente in Java mit Ihrer Anwendung programmgesteuert kommentieren. Darüber hinaus werden wir sehen, wie Sie mit derselben Java-API Anmerkungen aus PDF-Dateien entfernen.

Die folgenden Themen werden im Folgenden kurz behandelt:

PDF Annotator-Java-API

Um mit Anmerkungen zu Ihren Dokumenten und Bildern in Ihren Java-Anwendungen umzugehen, stellt GroupDocs GroupDocs.Annotation for Java bereit. Mit der API können Sie Anmerkungen aus Textverarbeitungsdokumenten, Tabellenkalkulationen, Präsentationen, Bildern, E-Mail-Nachrichten, Visio* hinzufügen, entfernen und extrahieren. Zeichnungen*, einige AutoCAD und digitale Bildformate wie DICOM. Darüber hinaus ermöglicht die API das Kommentieren von PDF-Dateien. Sie können sich die Dokumentation ansehen, um mehr über die lange Liste der unterstützten Dokumentformate für Anmerkungen zu erfahren.

Herunterladen und konfigurieren

Holen Sie sich die Anmerkungsbibliothek aus den Downloads oder fügen Sie einfach die folgende pom.xml-Konfiguration zu Ihren Maven-basierten Java-Anwendungen hinzu, um die Beispiele dieses Artikels sowie die vielen weiteren Beispiele, die auf GitHub verfügbar sind, auszuprobieren. Einzelheiten finden Sie in der API-Referenz.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

Anmerkungen zu PDF in Java hinzufügen

Lassen Sie uns schnell einige der verschiedenen Arten von Anmerkungen zum PDF-Dokument hinzufügen. Da es viele verschiedene Arten von Anmerkungen gibt, werden wir in diesem Artikel möglicherweise nicht alle behandeln. Ich werde sie nur erwähnen, und Sie können mehr über jede Anmerkung einzeln erfahren.

  • Flächen-/Rechteckanmerkung

  • Pfeil

  • Distanz

  • Ellipse

  • Markieren

  • Verknüpfung

  • Punkt

  • Polylinie

  • Ersatz

  • Ressourcenschwärzung

  • Durchgestrichen

  • Textfeld

  • Textredaktion

  • Unterstreichen

  • Wasserzeichen

Beginnen wir damit, einige davon in ein PDF-Dokument einzufügen.

Hinzufügen von Pfeilanmerkungen zu PDFs mit Java

Im Folgenden sind die Schritte zum Hinzufügen von Pfeilanmerkungen zu einem PDF-Dokument aufgeführt.

Pfeilanmerkung
  • Laden Sie das PDF-Dokument mit der Klasse Annotator.
  • Pfeilannotation mit der Klasse ArrowAnnotation initialisieren.
  • Legen Sie die Position und Größe des Pfeils mit der setBox-Methode von ArrowAnnotation fest.
  • Fügen Sie die erstellte Pfeilanmerkung zum Annotator-Objekt hinzu.
  • Speichern Sie das kommentierte PDF, indem Sie den Pfad mit der Methode save angeben.

Das folgende Codebeispiel zeigt, wie Sie einem PDF-Dokument mithilfe von Java Pfeilanmerkungen hinzufügen.

// Hinzufügen von Pfeilanmerkungen zu PDFs mit Java
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

Fügen Sie mit Java Rechteck- oder Bereichsanmerkungen in PDF ein

Sie können jede Anmerkung anpassen, während Sie sie dem Dokument hinzufügen. Im Folgenden sind die Schritte zum Hinzufügen von Rechteck- oder Bereichsanmerkungen zu einem PDF-Dokument mit etwas mehr Anpassungen aufgeführt. Es ähnelt dem Hinzufügen einer Arrow-Annotation, verwendet jedoch die AreaAnnotation-Klasse anstelle von ArrowAnnotation.

  • Laden Sie das PDF-Dokument mit der Klasse Annotator.
  • Rechteckannotation mit der Klasse AreaAnnotation initialisieren.
  • Legen Sie die Position und Größe des Rechtecks mit der Methode setBox von AreaAnnotation fest.
  • Legen Sie andere Eigenschaften wie Farbe, Hintergrund, Deckkraft, Stil, Stiftbreite oder sogar Nachrichten und Zeit fest. .
  • Fügen Sie die erstellte rechteckige Anmerkung zum Annotator-Objekt hinzu.
  • Speichern Sie das kommentierte PDF, indem Sie den Pfad mit der Methode save angeben.
Rechteck- oder Flächenbeschriftung

Das folgende Codebeispiel zeigt, wie Sie einem PDF-Dokument mithilfe von Java Rechteck-/Flächenanmerkungen hinzufügen.

// Fügen Sie mithilfe von Java Bereichsanmerkungen oder Rechteckanmerkungen zu PDF hinzu
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// Dokument hinzufügen
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Hinzufügen von Oval- oder Ellipsenanmerkungen zu PDFs mit Java

Im Folgenden sind die Schritte zum Hinzufügen von ovalen Anmerkungen oder Ellipsen-Anmerkungen zu einem PDF-Dokument aufgeführt.

Ellipsen oder ovale Anmerkungen
  • Laden Sie das PDF-Dokument mit der Klasse Annotator.
  • Ellipsenanmerkung mit der Klasse EllipseAnnotation initialisieren.
  • Legen Sie die Position und Größe der Ellipse mit der Methode setBox von EllipseAnnotation fest.
  • Fügen Sie die erstellte Ellipsenanmerkung zum Annotator-Objekt hinzu.
  • Speichern Sie das kommentierte PDF, indem Sie den Pfad mit der Methode save angeben.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von Java ovale oder elliptische Anmerkungen zu einem PDF-Dokument hinzufügen.

// Hinzufügen von Oval- oder Ellipsenanmerkungen in PDF mit Java
final Annotator annotator = new Annotator("document.pdf");
// Oval- oder Ellipsenanmerkung
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// Dokument hinzufügen
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Fügen Sie mithilfe von Java Abstandsanmerkungen in PDF ein

Entfernungsanmerkung

Sie können auch die Entfernungsanmerkung hinzufügen, um die Entfernung zwischen zwei Punkten anzuzeigen. Im Folgenden finden Sie die Schritte zum Hinzufügen von Entfernungsanmerkungen zum PDF-Dokument.

  • Laden Sie das PDF-Dokument mit der Klasse Annotator.
  • Distanzanmerkung mit der Klasse DistanceAnnotation initialisieren.
  • Legen Sie die Größe und Position der Anmerkung mit der Methode setBox von DistanceAnnotation fest.
  • Fügen Sie die erstellte Entfernungsanmerkung zum Annotator-Objekt hinzu.
  • Speichern Sie das kommentierte PDF, indem Sie den Pfad mit der Methode save angeben.

Das folgende Codebeispiel zeigt, wie Sie einem PDF-Dokument mithilfe von Java eine Entfernungsanmerkung hinzufügen.

// Entfernungsanmerkung mit Java
final Annotator annotator = new Annotator("document.pdf");
// Entfernungsanmerkung
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// Dokument hinzufügen
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

Vollständiger Code

Zusammenfassend ist hier der Java-Code mit der Ausgabe, die alle hinzugefügten Anmerkungen und Nachrichten mit Antworten unter Verwendung des erwähnten Java-Codes zeigt.

Anmerkungen zu PDF hinzugefügt

Der folgende Code fügt Pfeil, Rechteck, Ellipse, Entfernungsanmerkungen, Nachrichten und Antworten zu einer PDF-Datei hinzu.

// Fügen Sie mit Java mehrere Anmerkungen zu PDF hinzu
// Hinzufügen von Pfeil-, Flächen-, Oval- (Ellipsen-) und Entfernungsanmerkungen zu PDF mit Nachrichten und Antworten mit Java
final Annotator annotator = new Annotator(Constants.INPUT);
// Antworten einstellen
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// Pfeilanmerkung ================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// Bereichsanmerkung ==================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// Ovale oder elliptische Anmerkung ========================
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// Entfernungsanmerkung ===============================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// Anmerkungen hinzufügen ================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// Kommentierte PDF speichern ==============================
annotator.save(outputPath);
annotator.dispose();

Anmerkungen aus PDF in Java entfernen

Die folgenden Schritte zeigen, wie Sie alle Anmerkungen aus PDF-Dateien in Java entfernen.

  • Laden Sie das PDF-Dokument mit der Klasse Annotator.
  • Speicheroptionen mit der Klasse SaveOptions initialisieren.
  • Setzen Sie die Anmerkungstypen auf Keine.
  • Speichern Sie die PDF-Datei ohne alle Anmerkungen, indem Sie den Pfad mit der Methode save angeben.

Der folgende Java-Code entfernt Anmerkungen aus einer PDF-Datei.

// Entfernen Sie mit Java alle Anmerkungen aus dem PDF-Dokument
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Speichern Sie das PDF ohne weitere Anmerkungen darin.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

Fazit

Kurz gesagt, Sie haben gelernt, wie Sie PDF-Anmerkungen in Java-Anwendungen hinzufügen. Außerdem haben Sie gesehen, wie Sie alle Anmerkungen aus einer PDF-Datei entfernen können. Jetzt sollten Sie sicher sein, Ihre eigene Java-Anwendung für Document Annotator zu erstellen. Es kann verschiedene Arten von Anmerkungen mit GroupDocs.Annotation für Java unterstützen.

Weitere Details, Optionen und Beispiele finden Sie in der Dokumentation und im GitHub-Repository. Wenden Sie sich bei weiteren Fragen an den Support im Forum.

Siehe auch