Como adicionar formas de desenho em Java
Este guia mostra como desenhar formas geométricas e trabalhar com decorações de artefatos da página. em Aspose.PDF FOSS para Java. Você vai aprender a adicionar um CircleAnnotation para desenhar um Ellipse, inspecionar marcas d’água e artefatos de cabeçalho, e remover objetos do artefato.
Desenhe um círculo
Adicionar um CircleAnnotation para desenhar uma elipse cheia ou de bordas numa página. setColor() método define a cor de preenchimento da anotação. Adicionar a anotación para o código-fonte da página recolha de anotações e armazenar o documento:
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");
}A Comissão Rectangle O constructor toma (x1, y1, x2, y2) em unidades PDF (pontos, medidos) (em baixo à esquerda da página).
Inspecionar os artefatos da página
Artefatos são decorações sem conteúdo, como cabeçalhos, pés de página e marcas d’água. Iterar sobre artefatOS existentes em uma página para inspecionar seu tipo e subtipo:
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());
}
}Remova um artefato de marca d’água
Encontre artefatos do tipo “Watermark” e excluí-los da coleção de artefactos da página. Salve o documento depois de fazer a alteração:
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");
}Obter dimensões de página
Para posicionar as formas corretamente, primeiro obtenha as dimensões da caixa de mídia da página. O padrão A4 é 595 × 842 pontos; o padlônico US Letter é 612 × 792 puntos:
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");
}