Annotations

В этом руководстве показано, как добавлять, настраивать и удалять аннотации PDF с помощью Annotation классная иерархия в Aspose.PDF FOSS для Java. Вы научитесь, как создать виджет, свободный текст, подчеркнуть и круг аннотации, а также для уплощения или удалить их с помощью PdfAnnotationEditor.

Иерархия аннотаций

Абстрактный анализ Annotation класс является основой для всех PDF-аннотаций. Все аннотация находятся на Page в а Rectangle и добавляются через: page.getAnnotations().add(annotation).

WidgetAnnotation

WidgetAnnotation Представляет собой виджет формы. Внешний вид контролируется через AppearanceCharacteristics, что показывает: setBorder(), setBackground(), setRotate(), и setCaption().

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("annotated.pdf");
}

FreeTextAnnotation

FreeTextAnnotation отображает текстовый вызов в определенном месте. Он принимает DefaultAppearance настроить шрифт, размер и цвет текста аннотации.

DefaultAppearance da = new DefaultAppearance("Helv", 12, Color.BLACK);
FreeTextAnnotation fta = new FreeTextAnnotation(page,
    new Rectangle(50, 50, 200, 100), da);
fta.setContents("Review comment here");
page.getAnnotations().add(fta);

setCallout(double[][]) устанавливает трехточечную линию для аннотации. getIntent() возвращает аннотацию FreeTextIntent ценность.

Аннотации на отметку

HighlightAnnotation и в том числе: UnderlineAnnotation Отображайте текст с четвероконечными точками. В связи с этим getQuadPoints() метод возвращает массив из 8 элементов, определяющий четыре угла. отмеченного региона.

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    HighlightAnnotation h = new HighlightAnnotation(page,
        new Rectangle(100, 200, 300, 220));
    page.getAnnotations().add(h);
    doc.save("highlighted.pdf");
}

Круговая и кароткая аннотация

CircleAnnotation рисует эллипс на данном прямоугольнике; CaretAnnotation маркировки вставка в текст. Annotation и имеют один цвет, а… пограничные объекты.

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    CircleAnnotation circle = new CircleAnnotation(page, new Rectangle(100, 100, 200, 200));
    circle.setColor(Color.fromRgb(0, 0, 1));
    page.getAnnotations().add(circle);
    doc.save("circle.pdf");
}

Примечания к слову “сплошное”

Использование: PdfAnnotationEditor.flattenAnnotations() объединить все аннотации в потоки содержания страниц, что делает их нередактируемыми.

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

Удаление примечаний по типам

Call deleteAnnotations(type) с названием типа аннотации для удаления всех аннот. этого типа на каждой странице связанного документа:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("input.pdf");
    editor.deleteAnnotations("Highlight");
    editor.save("output.pdf");
}

See Also

 Русский