1. Produkter
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS for Java

Opprett og manipuler PDF-dokumenter fra Java — med annotasjoner, skjemafelter, sidehåndtering og PDF/A-kompatibilitet. MIT-licensed.

Gratis MIT-lisensert Java bibliotek for PDF skapelse og manipulasjon

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.

Dokumentstruktur og sidehåndtering

  • Dokument API: Bruk Document-klassen til å opprette nye PDF-dokumenter. Eksisterende dokumenter kan nås via Document(filePath) eller Document(stream)-konstruktører.
  • Sidehåndtering: Legg til, få tilgang til og endre sider via PageCollection. Hver Page eksponerer MediaBox, CropBox, rotasjon, ressurser og innholdsoperatorer.
  • Metadata: Les og skriv dokumentmetadata via DocumentInfo og XmpMetadata.
  • PDF-struktur: Få tilgang til underliggende PDF-objekter gjennom getParser(), getCatalog() og getTrailer().
  • Innebygde filer: Administrer samlinger av innebygde filer med getEmbeddedFiles().

Felles dokumentbehandlingsscenarier

  • ** PDF-generering:** Bygg dokumenter programmatisk ved å opprette en Document og fylle sider.
  • ** Dokumentanalyser:** Tilgang til eksisterende filer for metadatainspeksjon eller oppregning av skjemafeltet.
  • Sidmanipulasjon: Endre størrelse, rotere eller omordne sider ved hjelp av PdfFileEditor og API-en for Page .
  • ** Batch-arbeidsflyter:** Bruk konsistente transformasjoner på tvers av flere dokumenter i serverside-rørledninger.

Annotasjoner og skjemafelter

  • Annotasjonshierarki: Den abstrakte Annotation-klassen er basen for alle annotasjoner; konkrete typer inkluderer WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation og UnderlineAnnotation.
  • Interaktive skjemaer: Få tilgang til dokumentets skjema via Document.getForm() for å liste opp eller opprette ButtonField, CheckboxField og RadioButtonField forekomster.
  • Widget-utseende: Kontroller visuelle egenskaper via AppearanceCharacteristics — kantfarge, bakgrunn, rotasjon og bildetekster.
  • Skjema-redigering: Bruk FormEditor og FormElement for manipulering av skjema på høyere nivå.

Dokumentvurdering og samarbeid

  • Markup annotasjoner: Legg frem, understreker eller fri tekstannoteringer til dokumenter for gjennomgang av arbeidsflyter.
  • ** Interaktive skjemaer:** Bygg dokument som kan fylles med radiobuttoner, sjekkbokser og trykkknapper for datainnsamling.
  • ** Utvinning av skjema-data:** Les de innleverte feltverdier for serverside-rørledninger.
  • Arkiveringsoverensstemmelse: Validere og fikse dokumenter for langvarig arkivering ved hjelp av ActionRules og ActionFixes.

Sikkerhet og innholdsoperasjoner

  • AES-kryptering: Kryptere og dekryptere data bytearray med AESCipher ved hjelp av CBC-modus (AESCipher.encrypt(key, data) og AESCipher.decrypt(key, data)).
  • Artifact management: Identifisere og manipulere overskrifter, foter, vannmerker og bakgrunnsbilder via API-ene Artifact og ArtifactCollection.
  • ** Innholdstørrelse:** Justere sideinnholdslayout med PdfFileEditor.resizeContents() og ContentsResizeParameters.
  • ** Validering av samsvar:** Validere annotasjon og handling regler mot PDF/A standarder ved hjelp av AnnotationRules og ActionRules.

Brukssaker for dokumentsikkerhet

  • Krypterte nyttolast: Bruk AESCipher til å kryptere dataavsnitt som er innebygd i dokumentstrømmer.
  • Dokumentbeskyttelse: Bruk sikkerhetsinnstillinger for tilgangskontroll i etterlevelsesarbeidsflyter.
  • Vannmerker: Finne og administrere Artifact-objekter som representerer vannmerke og sidedekorasjoner.
  • Arkivoverensstemmelse: Kjør ActionFixes og AnnotationFixes for å få eksisterende dokumenter til å oppfylle PDF/A-1b-arkivstandarder.

Lag et dokument med widget annotasjon

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");
}

Lag et skjema med radiobuttoner

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");
}

Sjekk dokumentets sidedimensioner

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);
}
  

Støtte og læringsressurser

 Norsk