Формы рисования
В этом руководстве показано, как рисовать геометрические формы и управлять графическими декорациями страниц. в 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");
}