Anbringen von Annotationen via API
Anbringen von Annotationen via API
Beispielcode:
Anbringen von Annotationen
final Document document = getPageView().getDocument(); // Seitenindex (0-basierend) final int pageIndex = 0; // PageSegment mit Dokumentinhalt holen final AbstractPageSegment ps = (AbstractPageSegment) document.getPage(pageIndex).getPageSegment( DocumentLayer.DEFAULT); // AnnotationPagesegment holen (wird neu erstellt, falls noch nicht vorhanden) final AnnotationPageSegment aps = Annotations.getAnnotationPageSegment(document.getPage(pageIndex), true); // Annotationsprofil laden (hier: Jadice-Annotationsformat) final URL profileUrl = JadiceAnnotationReader.class.getResource("/default-annotation-profile.xml"); final AnnotationProfile annotationProfile = AnnotationProfile.load(profileUrl); // Annotation anlegen final RectangleAnnotation a = new RectangleAnnotation(); // Annotation einem Basistyp zuordnen (siehe default-annotation-profile.xml Datei) a.setType(annotationProfile.getType("Rectangle")); // Position final float x = <x-Position in Pixel> * (Document.BASE_RESOLUTION / ps.getResolution().getX()); final float y = <y-Position in Pixel> * (Document.BASE_RESOLUTION / ps.getResolution().getX()); a.setLocation(x, y); // Grösse final float w = <Breite in Pixel> * (Document.BASE_RESOLUTION / ps.getResolution().getX()); final float h = <Höhe in Pixel> * (Document.BASE_RESOLUTION / ps.getResolution().getX()); a.setSize(w, h); // Inhalt füllen a.setFilled(true); a.setFillColor(Color.WHITE); // schwarzer Rand a.setStrokeColor(Color.BLACK); a.setLineWidth(1); a.setLinePainted(true); // Anno der Seite hinzufügen aps.addAnnotation(a);