Формы рисования

Формы рисования

В этом руководстве показано, как рисовать геометрические формы и управлять графическими декорациями страниц. в Aspose.PDF FOSS для Java. Вы научитесь рисовать круги с помощью CircleAnnotation и перечислить или удалить: Artifact объекты, такие как водяные знаки и заголовки.

Рисование форм

Aspose.PDF FOSS for Java exposes geometric shapes primarily through the annotation слой. CircleAnnotation рисует эллипс в данном месте. Rectangle на странице. Настроить цвет заполнения с помощью: setColor() и добавить его в коллекцию комментариев страниц.

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("shapes.pdf");
}

В связи с этим Rectangle конструктор принимает (x1, y1, x2, y2) в PDF координатные единицы (точки, измеренные с нижнего левого угла страницы).

Artifacts

В связи с этим Artifact модели класса: заголовки, фонари, водяные знаки и фоновые изображения. ArtifactCollection, доступный через ресурсы страниц, позволяет перечисление и удаление существующих предметов артефакта.

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    // Enumerate artifacts (watermarks, headers, footers)
    for (Artifact artifact : page.getArtifacts()) {
        System.out.println(artifact.getArtifactType());
    }
}

Использование: ArtifactCollection.delete(artifact) для удаления конкретных артефактов без: непосредственное изменение потока содержания страницы.

Удаление водяных знаков

Чтобы удалить артефакты водяного знака с страницы, повторить коллекцию артэфактов, определить водной знак по типу и убрать их перед сохранением:

try (Document doc = new Document("watermarked.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    for (Artifact artifact : page.getArtifacts()) {
        if ("Watermark".equals(artifact.getArtifactType())) {
            page.getArtifacts().delete(artifact);
            break;
        }
    }
    doc.save("clean.pdf");
}

See Also

 Русский