Як додавати форми малюнків на Java
Цей підхід показує, як малювати геометричні форми і працювати з артефактом на сторінці прикраси в Aspose.PDF FOSS для Java. Ви навчитеся додавати CircleAnnotation для витягнення еліпса, оглянути водяні знаки і заголовку артефактів, а також видалити об’єкти артэфакту.
Нарисуйте коло
Додати a CircleAnnotation для малювання повного або обмеженого еліпса на сторінці. 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("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");
}