Bývaly doby, kdy jsme diskutovali o obsahu dokumentů a zpětné vazbě v dlouhých e-mailových vláknech s více přílohami a různými verzemi souborů. Nyní můžeme jednoduše pomocí anotací označit dokument zprávami a odpověďmi a odeslat jej. V tomto článku se dozvíte, jak programově anotovat PDF dokumenty v Java pomocí vaší aplikace. Dále uvidíme, jak odstranit anotace ze souborů PDF pomocí stejného Java API.

Níže jsou stručně diskutována následující témata:

PDF Annotator Java API

Chcete-li se vypořádat s anotacemi vašeho dokumentu a obrázky ve vašich aplikacích Java, GroupDocs poskytuje GroupDocs.Annotation for Java. Pomocí rozhraní API můžete přidávat, odstraňovat a extrahovat anotace z textových dokumentů, tabulek, prezentací, obrázků, e-mailových zpráv, výkresů Visio, některých AutoCADů a formátů digitálního zobrazení, jako je DICOM. Kromě toho API umožňuje anotovat soubory PDF. Můžete se podívat do dokumentace, abyste věděli o dlouhém seznamu podporovaných formátů dokumentů pro anotaci.

Stáhnout a nakonfigurovat

Získejte knihovnu anotací ze stažení nebo jednoduše přidejte následující konfiguraci pom.xml do svých Java aplikací založených na Maven a vyzkoušejte příklady z tohoto článku a také mnoho dalších příkladů dostupných na GitHub. Podrobnosti naleznete v Odkaz na rozhraní API.

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

Přidejte poznámky do PDF v Java

Pojďme rychle přejít k přidání některých různých druhů anotací do dokumentu PDF. Protože existuje mnoho různých typů anotací, nemusíme v tomto článku pokrýt všechny. Jen je zmíním a můžete se o každé anotaci dozvědět jednotlivě.

  • Anotace oblasti / obdélníku

  • Šipka

  • Vzdálenost

  • Elipsa

  • Zvýraznit

  • Odkaz

  • Směřovat

  • Polyline

  • Výměna, nahrazení

  • Redakce zdrojů

  • Přeškrtnutí

  • Textové pole

  • Redakce textu

  • Zdůraznit

  • Vodoznak

Začněme přidávat některé z nich do dokumentu PDF.

Přidejte anotaci šipky do PDF pomocí Java

Následují kroky pro přidání anotace šipky do dokumentu PDF.

Šipka Anotace
  • Načtěte dokument PDF pomocí třídy Anotátor.
  • Inicializujte anotaci šipky pomocí třídy ArrowAnnotation.
  • Nastavte polohu a velikost šipky pomocí metody setBox ArrowAnnotation.
  • Přidejte vytvořenou anotaci šipky do objektu Annotator.
  • Uložte anotované PDF zadáním cesty pomocí metody save.

Následující ukázka kódu ukazuje, jak přidat anotaci šipky do dokumentu PDF pomocí Java.

// Přidejte anotaci Arrow do PDF pomocí 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");

Vložte obdélníkovou nebo plošnou anotaci do PDF pomocí Java

Libovolnou anotaci můžete při přidávání do dokumentu přizpůsobit. Následují kroky pro přidání obdélníkové nebo plošné anotace do dokumentu PDF s několika dalšími úpravami. Je to podobné jako přidání anotace Arrow, ale místo třídy ArrowAnnotation používá třídu AreaAnnotation.

  • Načtěte dokument PDF pomocí třídy Anotátor.
  • Inicializujte obdélníkovou anotaci pomocí třídy AreaAnnotation.
  • Nastavte polohu a velikost obdélníku pomocí metody setBox AreaAnnotation.
  • Nastavte další vlastnosti, jako je barva, pozadí, neprůhlednost, styl, šířka pera nebo dokonce zprávy a čas.
  • Přidejte vytvořenou anotaci obdélníku do objektu Annotator.
  • Uložte anotované PDF zadáním cesty pomocí metody save.
Anotace obdélníku nebo plochy

Následující ukázka kódu ukazuje, jak přidat anotaci obdélníku/oblasti do dokumentu PDF pomocí Java.

// Přidejte oblastní nebo obdélníkovou anotaci do PDF pomocí 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);
// přidat do dokumentu
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Přidejte oválnou nebo elipsovou anotaci do PDF pomocí Java

Následují kroky, jak do dokumentu PDF přidat oválnou anotaci nebo elipsu.

Elipsy nebo oválná anotace
  • Načtěte dokument PDF pomocí třídy Annotator.
  • Inicializujte anotaci elipsy pomocí třídy EllipseAnnotation.
  • Nastavte polohu a velikost elipsy pomocí metody setBox EllipseAnnotation.
  • Přidejte vytvořenou anotaci elipsy do objektu Annotator.
  • Uložte anotované PDF zadáním cesty pomocí metody save.

Následující ukázka kódu ukazuje, jak přidat oválnou nebo elipsu do dokumentu PDF pomocí Java.

// Přidejte oválnou nebo elipsovou anotaci do PDF pomocí Java
final Annotator annotator = new Annotator("document.pdf");
// Ovál nebo elipsa Anotace
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// přidat do dokumentu
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Vložit anotaci vzdálenosti do PDF pomocí Java

Anotace vzdálenosti

Můžete také přidat anotaci vzdálenosti pro zobrazení vzdálenosti mezi dvěma body. Následují kroky, jak do dokumentu PDF přidat anotaci vzdálenosti.

  • Načtěte dokument PDF pomocí třídy Annotator.
  • Inicializujte anotaci vzdálenosti pomocí třídy DistanceAnnotation.
  • Nastavte velikost a polohu anotace pomocí metody setBox DistanceAnnotation.
  • Přidejte vytvořenou anotaci vzdálenosti do objektu Annotator.
  • Uložte anotované PDF zadáním cesty pomocí metody save.

Následující ukázka kódu ukazuje, jak přidat anotaci vzdálenosti do dokumentu PDF pomocí Java.

// Anotace vzdálenosti pomocí Java
final Annotator annotator = new Annotator("document.pdf");
// Anotace vzdálenosti
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// přidat do dokumentu
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

Kompletní kód

Abych to shrnul, zde je kód Java s výstupem zobrazujícím všechny přidané anotace a zprávy s odpověďmi pomocí zmíněného kódu Java.

Přidány anotace do PDF

Následující kód přidá do souboru PDF šipku, obdélník, elipsu, poznámky vzdálenosti, zprávy a odpovědi.

// Přidejte více anotací do PDF pomocí Java
// Přidání anotací šipky, plochy, oválu (elipsy), vzdálenosti do PDF se zprávami a odpověďmi pomocí Java
final Annotator annotator = new Annotator(Constants.INPUT);
// Nastavení odpovědí
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);
// Anotace šipky ===================================
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));
// Anotace oblasti =====================================
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));
// Anotace oválná nebo elipsa =========================
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));
// Anotace vzdálenosti ================================
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));
// Přidávání anotací ==================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// Ukládání anotovaného PDF ================================
annotator.save(outputPath);
annotator.dispose();

Odebrat anotace z PDF v Java

Následující kroky ukazují, jak odstranit všechny anotace ze souborů PDF v Java.

  • Načtěte dokument PDF pomocí třídy Anotátor.
  • Inicializujte možnosti ukládání pomocí třídy SaveOptions.
  • Nastavte typy poznámek na Žádné.
  • Uložte soubor PDF s odstraněnými všemi anotacemi zadáním cesty pomocí metody save.

Následující kód Java odstraňuje anotace ze souboru PDF.

// Odstraňte všechny anotace z dokumentu PDF pomocí Java
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Uložte PDF bez dalších poznámek.
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

Závěr

Stručně řečeno, naučili jste se přidávat anotace do PDF v aplikacích Java. Dále jste viděli, jak odstranit všechny anotace z libovolného souboru PDF. Nyní byste si měli být jisti, že vytvoříte svou vlastní Java aplikaci pro anotátory dokumentů. Může podporovat různé typy anotací pomocí GroupDocs.Annotation for Java.

Další podrobnosti, možnosti a příklady naleznete v úložišti documentation a GitHub. Pro další dotazy kontaktujte podporu na fóru.

Viz také