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