Как добавить формы рисунка в Java

Как добавить формы рисунка в Java

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

Нарисуй круг.

Добавить a. CircleAnnotation рисовать на странице заполненный или оборванный эллипс. setColor() method устанавливает цвет заполнения аннотации. Добавить антотацию к странице сбор аннотаций и сохранение документа:

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");
}

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

Проверка страничных артефактов

Артефакты - это неконтентные украшения, такие как заголовки, футермарки и водяные знаки. Итерация существующих артефектов на странице для проверки их типа и подтипа:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    for (Artifact artifact : page.getArtifacts()) {
        System.out.println(artifact.getArtifactType() + ": " + artifact.getSubtype());
    }
}

Удалить артефакт водяного знака

Найдите артефакты типа “Watermark” и удалите их из коллекции артэфактов страницы. Сохранить документ после внесения изменений:

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");
}

Получить размеры страниц

Для правильного размещения форм сначала нужно получить размеры медиа-пакета страницы. Стандартный A4 составляет 595×842 баллов; стандартный US Letter - 612×792 балла:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    double width = page.getMediaBox().getWidth();
    double height = page.getMediaBox().getHeight();
    System.out.println("Page: " + width + " x " + height + " pt");
}

See Also

 Русский