Aspose.PDF FOSS for Java er et MIT-licenseret Java bibliotek til at oprette og arbejde med PDF-dokumenter. Det leverer en omfattende Document klasse som det centrale indgangspunkt, sammen med fuld dækning af annotationer, interaktive formularfelter, sidehåndtering, metadata og PDF/A-overensstemmelsesvalidering.
Biblioteket eksponerer 527 klasser, der dækker den fulde PDF-specifikation: dokumentstruktur via Document, Page og PageCollection; annotationer gennem Annotation hierarkiet (inklusive WidgetAnnotation, FreeTextAnnotation og HighlightAnnotation); interaktive formularer med Form, ButtonField, CheckboxField og RadioButtonField; side-rendering via BmpDevice; og PDF/A-overensstemmelseskontrol gennem ActionRules og ActionFixes. Kryptering leveres via AESCipher i CBC-tilstand.
Tilføj Aspose.PDF FOSS til dit Maven-projekt ved at bruge groupId org.aspose og artifactId aspose-pdf. Biblioteket kræver Java 11 eller senere og er fuldt MIT-licenseret. For enterprise-funktioner og support, se Aspose.PDF for Java — Enterprise Product.
Document-klassen til at oprette nye PDF-dokumenter. Eksisterende dokumenter kan tilgås via Document(filePath) eller Document(stream) konstruktører.PageCollection. Hver Page eksponerer MediaBox, CropBox, rotation, ressourcer og indholdsoperatorer.DocumentInfo og XmpMetadata.getParser(), getCatalog() og getTrailer().getEmbeddedFiles().Document og udfylde sider.PdfFileEditor og API’en for Page.Annotation klasse er grundlaget for alle annotationer; konkrete typer omfatter WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation og UnderlineAnnotation.Document.getForm() for at enumerere eller oprette ButtonField, CheckboxField og RadioButtonField forekomster.AppearanceCharacteristics — kantfarve, baggrund, rotation og billedtekster.FormEditor og FormElement til højere niveau formularmanipulation.ActionRules og ActionFixes.AESCipher ved hjælp af CBC-tilstand (AESCipher.encrypt(key, data) og AESCipher.decrypt(key, data)).Artifact og ArtifactCollection.PdfFileEditor.resizeContents() og ContentsResizeParameters.AnnotationRules og ActionRules.AESCipher til at kryptere dataafsnit indlejret i dokumentstrømme.Artifact-objekter, der repræsenterer vandmærker og sideindsmykninger.ActionFixes og AnnotationFixes for at gøre eksisterende dokumenter i overensstemmelse med PDF/A-1b-arkivstandarder.Oprette et nyt dokument, tilføje en side og vedhæfte en widget annotation med stil.
try (Document doc = new Document()) ```java
try (Document doc = new Document()) {
Page page = doc.getPages().add();
WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
w.getCharacteristics().setCaption("Submit");
page.getAnnotations().add(w);
doc.save("output.pdf");
}
Tilføj en radiobunkergruppe til et dokumentformular og vælg en værdi programmatisk.
try (Document doc = new Document()) {
Page page = doc.getPages().add();
RadioButtonField radio = new RadioButtonField(page);
radio.setPartialName("choice");
radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
doc.getForm().add(radio, 1);
radio.setValue("Option2");
doc.save("form.pdf");
}
Tilgå et eksisterende dokument og læs mediekassens dimensioner på den første side.
try (Document doc = new Document("input.pdf")) {
double width = doc.getPages().get(1).getMediaBox().getWidth();
double height = doc.getPages().get(1).getMediaBox().getHeight();
System.out.println("Page size: " + width + " x " + height);
}