Er was een tijd dat we documentinhoud en feedback bespraken in lange e-mailthreads met meerdere bijlagen en verschillende bestandsversies. Nu kunnen we eenvoudig annotaties gebruiken om het document te markeren met berichten en antwoorden en het te verzenden. In dit artikel leert u hoe u met uw toepassing programmatisch annoteert aan PDF-documenten in Java. Bovendien zullen we zien hoe u annotaties uit PDF-bestanden kunt verwijderen met dezelfde Java API.

Hieronder worden de volgende onderwerpen kort besproken:

PDF Annotator Java-API

Om annotaties van uw document en afbeeldingen binnen uw Java-toepassingen te verwerken, biedt GroupDocs GroupDocs.Annotation for Java. Met behulp van de API kunt u annotaties toevoegen, verwijderen en extraheren uit tekstverwerkingsdocumenten, spreadsheets, presentaties, afbeeldingen, e-mailberichten, Visio-tekeningen, sommige AutoCAD en digitale beeldformaten zoals DICOM. Bovendien maakt de API het annoteren van PDF-bestanden mogelijk. U kunt de documentatie bekijken om meer te weten te komen over de lange lijst met ondersteunde documentindelingen voor annotatie.

Downloaden en configureren

Haal de annotatiebibliotheek van downloads of voeg gewoon de volgende pom.xml-configuratie toe aan uw Maven-gebaseerde Java-applicaties om de voorbeelden van dit artikel te proberen, evenals de vele andere voorbeelden die beschikbaar zijn op GitHub. Voor meer informatie kunt u de API-referentie bezoeken.

<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>

Annotaties toevoegen aan PDF in Java

Laten we snel een paar van de verschillende soorten annotaties aan het PDF-document toevoegen. Aangezien er veel verschillende soorten annotaties zijn, behandelen we ze mogelijk niet allemaal in dit artikel. Ik zal ze alleen noemen, en u kunt [elke annotatie afzonderlijk leren kennen]]14.

  • Annotatie gebied/rechthoek

  • Pijl

  • Afstand

  • Ovaal

  • Markeer

  • Koppeling

  • Punt

  • Polylijn

  • Vervanging

  • Redactie van bronnen

  • Doorhalen

  • Tekst veld

  • Tekstredactie

  • Onderstrepen

  • Watermerk

Laten we beginnen met het toevoegen van enkele hiervan in een PDF-document.

Voeg pijlannotatie toe aan PDF met behulp van Java

Hieronder volgen de stappen om pijlannotatie toe te voegen aan een PDF-document.

Pijl annotatie
  • Laad het PDF-document met behulp van de klasse Annotator.
  • Initialiseer pijlannotatie met de klasse ArrowAnnotation.
  • Stel de positie en grootte van de pijl in met de methode setBox van ArrowAnnotation.
  • Voeg de gemaakte pijlannotatie toe aan het Annotator-object.
  • Sla de geannoteerde PDF op door het pad op te geven met behulp van de methode opslaan.

Het volgende codevoorbeeld laat zien hoe u pijlannotaties toevoegt aan een PDF-document met behulp van Java.

// Pijlannotatie aan PDF toevoegen met 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");

Rechthoek- of gebiedsannotatie invoegen in PDF met behulp van Java

U kunt elke annotatie aanpassen terwijl u deze aan het document toevoegt. Hieronder volgen de stappen om rechthoek- of gebiedannotaties toe te voegen aan een PDF-document met weinig meer aanpassingen. Het is vergelijkbaar met het toevoegen van Arrow-annotatie, maar gebruikt de klasse AreaAnnotation in plaats van ArrowAnnotation.

  • Laad het PDF-document met behulp van de klasse Annotator.
  • Initialiseer rechthoekannotatie met behulp van de klasse AreaAnnotation.
  • Stel de positie en grootte van de rechthoek in met de methode setBox van AreaAnnotation.
  • Stel andere eigenschappen in zoals kleur, achtergrond, dekking, stijl, penbreedte of zelfs berichten en tijd.
  • Voeg de gemaakte rechthoekige annotatie toe aan het Annotator-object.
  • Sla de geannoteerde PDF op door het pad op te geven met de methode opslaan.
Rechthoek- of gebiedsannotatie

Het volgende codevoorbeeld laat zien hoe u rechthoek-/gebiedaantekeningen toevoegt aan een PDF-document met behulp van Java.

// Voeg gebiedsannotatie of rechthoekannotatie toe aan PDF met behulp van Java
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);
// toevoegen aan document
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Ovale of ellipsvormige annotatie toevoegen aan PDF met behulp van Java

Hieronder volgen de stappen om ovale annotatie of ellipsvormige annotatie toe te voegen aan een PDF-document.

Ellipsen of ovale annotatie
  • Laad het PDF-document met behulp van de klasse Annotator.
  • Initialiseer ellipsannotatie met de klasse EllipseAnnotation.
  • Stel de positie en grootte van de ellips in met de setBox-methode van EllipseAnnotation.
  • Voeg de gemaakte ellipsannotatie toe aan het Annotator-object.
  • Sla de geannoteerde PDF op door het pad op te geven met de methode opslaan.

Het volgende codevoorbeeld laat zien hoe u ovale of ellipsvormige annotaties kunt toevoegen aan een PDF-document met behulp van Java.

// Ovale of ellipsvormige annotatie toevoegen aan PDF met behulp van Java
final Annotator annotator = new Annotator("document.pdf");
// Ovale of ellipsvormige annotatie
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// toevoegen aan document
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Afstandsannotatie in PDF invoegen met Java

Annotatie op afstand

U kunt ook de afstandsannotatie toevoegen om de afstand tussen twee punten weer te geven. Hieronder volgen de stappen om afstandsannotaties toe te voegen aan het PDF-document.

  • Laad het PDF-document met behulp van de klasse Annotator.
  • Initialiseer de annotatie op afstand met behulp van de klasse DistanceAnnotation.
  • Stel de grootte en positie van de annotatie in met de methode setBox van DistanceAnnotation.
  • Voeg de gemaakte afstandsannotatie toe aan het Annotator-object.
  • Sla de geannoteerde PDF op door het pad op te geven met behulp van de methode opslaan.

Het volgende codevoorbeeld laat zien hoe u met Java afstandsaantekeningen toevoegt aan een PDF-document.

// Annotatie op afstand met behulp van Java
final Annotator annotator = new Annotator("document.pdf");
// Annotatie op afstand
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// toevoegen aan document
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

Volledige code

Samengevat, hier is de Java-code met de uitvoer die alle toegevoegde annotaties en berichten met antwoorden toont die de genoemde Java-code gebruiken.

Annotaties toegevoegd aan PDF

De volgende code hieronder voegt pijl-, rechthoek-, ellips-, afstands-annotaties, berichten en antwoorden toe aan een PDF-bestand.

// Voeg meerdere annotaties toe aan PDF met behulp van Java
// Pijl, gebied, ovaal (ellips), afstand annotaties toevoegen aan PDF met berichten en antwoorden met behulp van Java
final Annotator annotator = new Annotator(Constants.INPUT);
// Antwoorden instellen
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);
// Pijl Annotatie =================================
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));
// Gebiedsaantekening ==================================
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 of ellipsvormige annotatie ========================
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));
// Afstand Annotatie ===============================
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));
// Aantekeningen toevoegen ================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// Geannoteerde PDF opslaan ===============================
annotator.save(outputPath);
annotator.dispose();

Annotaties verwijderen uit PDF in Java

De volgende stappen laten zien hoe u alle annotaties uit PDF-bestanden in Java kunt verwijderen.

  • Laad het PDF-document met behulp van de klasse Annotator.
  • Initialiseer de opslagopties met de klasse SaveOptions.
  • Stel de annotatietypen in op Geen.
  • Sla het PDF-bestand op nadat alle annotaties zijn verwijderd door het pad op te geven met behulp van de methode save.

De volgende Java-code verwijdert annotaties uit een PDF-bestand.

// Verwijder alle annotaties uit het PDF-document met behulp van Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Sla de PDF op zonder annotaties meer.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

Conclusie

Kortom, u heeft geleerd hoe u annotaties kunt toevoegen aan PDF binnen Java-applicaties. Verder heb je gezien hoe je alle annotaties uit een PDF-bestand kunt verwijderen. Nu zou u er zeker van moeten zijn om uw eigen Java-toepassing voor documentannotator te bouwen. Het kan verschillende soorten annotaties ondersteunen met behulp van GroupDocs.Annotation for Java.

Voor meer details, opties en voorbeelden kun je de documentation en de GitHub repository bezoeken. Neem voor verdere vragen contact op met de ondersteuning op het forum.

Zie ook