Elementy strony
Ten przewodnik pokazuje, jak pracować z geometrią strony, dekoracjami artefaktów i osadzonymi załącznikami plików w Aspose.PDF FOSS dla Java. Nauczysz się odczytywać wymiary strony za pomocą getMediaBox(), wyliczać obiekty Artifact oraz zarządzać EmbeddedFileCollection.
Geometria strony
Każdy Page udostępnia swoją geometrię poprzez właściwości boxu:
getMediaBox()— pełna granica stronygetCropBox()— widoczny obszargetRotate()— obrót strony w stopniach (0, 90, 180 lub 270)
Odczytaj szerokość i wysokość z media boxu, aby obliczyć pozycje dla umieszczania treści:
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 size: " + width + " x " + height + " pt");
}Standardowy format A4 to 595 × 842 punktów; US Letter to 612 × 792 punktów.
Artifacts
Klasa Artifact modeluje dekoracje stron: nagłówki, stopki, znaki wodne i obrazy tła. Artefakty są elementami niebędącymi treścią, zdefiniowanymi w specyfikacji PDF.
Iteruj kolekcję artefaktów strony, aby sprawdzić typ i podtyp każdej dekoracji:
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());
}
}Osadzone pliki
EmbeddedFileCollection, dostępny poprzez Document.getEmbeddedFiles(), zarządza załącznikami plików osadzonymi w dokumencie PDF. Użyj size(), aby policzyć załączniki.
try (Document doc = new Document("document.pdf")) {
EmbeddedFileCollection files = doc.getEmbeddedFiles();
int count = files.size();
System.out.println("Embedded files: " + count);
}Liczba stron
Użyj PageCollection.getCount() lub PageCollection.size(), aby określić łączną liczbę stron w dokumencie:
try (Document doc = new Document("input.pdf")) {
int pageCount = doc.getPages().getCount();
System.out.println("Total pages: " + pageCount);
}