Aspose.PDF FOSS for Java er et MIT-lisensiert Java bibliotek for å lage og arbeide med PDF-dokumenter. Det gir en omfattende Document klasse som det sentrale inngangspunktet, sammen med full dekning av annotasjoner, interaktive skjemafelter, sidehåndtering, metadata og PDF/A-samsvarvalidering.
Biblioteket eksponerer 527 klasser som dekker hele PDF-spesifikasjonen: dokumentstruktur via Document, Page og PageCollection; annotasjoner gjennom Annotation-hierarkiet (inkludert WidgetAnnotation, FreeTextAnnotation og HighlightAnnotation); interaktive skjemaer med Form, ButtonField, CheckboxField og RadioButtonField; sidegjengivelse via BmpDevice; og PDF/A-samsvarskontroll gjennom ActionRules og ActionFixes. Kryptering tilbys via AESCipher i CBC-modus.
Legg til Aspose.PDF FOSS i ditt Maven-prosjekt ved å bruke groupId org.aspose og artifactId aspose-pdf. Biblioteket krever Java 11 eller nyere og er fullt MIT-lisensiert. For bedriftsfunksjoner og støtte, se Aspose.PDF for Java — Enterprise Product.
Document-klassen til å opprette nye PDF-dokumenter. Eksisterende dokumenter kan nås via Document(filePath) eller Document(stream)-konstruktører.PageCollection. Hver Page eksponerer MediaBox, CropBox, rotasjon, ressurser og innholdsoperatorer.DocumentInfo og XmpMetadata.getParser(), getCatalog() og getTrailer().getEmbeddedFiles().Document og fylle sider.PdfFileEditor og API-en for Page .Annotation-klassen er basen for alle annotasjoner; konkrete typer inkluderer WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation og UnderlineAnnotation.Document.getForm() for å liste opp eller opprette ButtonField, CheckboxField og RadioButtonField forekomster.AppearanceCharacteristics — kantfarge, bakgrunn, rotasjon og bildetekster.FormEditor og FormElement for manipulering av skjema på høyere nivå.ActionRules og ActionFixes.AESCipher ved hjelp av CBC-modus (AESCipher.encrypt(key, data) og AESCipher.decrypt(key, data)).Artifact og ArtifactCollection.PdfFileEditor.resizeContents() og ContentsResizeParameters.AnnotationRules og ActionRules.AESCipher til å kryptere dataavsnitt som er innebygd i dokumentstrømmer.Artifact-objekter som representerer vannmerke og sidedekorasjoner.ActionFixes og AnnotationFixes for å få eksisterende dokumenter til å oppfylle PDF/A-1b-arkivstandarder.Lag et nytt dokument, legg til en side og vedlegg en widget annotasjon 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");
}
Legg til en radiobuttonggruppe i et dokumentskjema og velg en verdi 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");
}
Tilgang til et eksisterende dokument og lese mediekassedimensionene på 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);
}