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

Aspose.PDF FOSS for Java

Opret og manipulér PDF-dokumenter fra Java — med annotationer, formularfelter, sidehåndtering og PDF/A‑overholdelse. MIT‑licenseret.

Gratis MIT-licens Java Library til PDF oprettelse og manipulation

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.

Dokumentstruktur og sideadministration

  • Dokument API: Brug Document-klassen til at oprette nye PDF-dokumenter. Eksisterende dokumenter kan tilgås via Document(filePath) eller Document(stream) konstruktører.
  • Sidehåndtering: Tilføj, tilgå og rediger sider via PageCollection. Hver Page eksponerer MediaBox, CropBox, rotation, ressourcer og indholdsoperatorer.
  • Metadata: Læs og skriv dokumentmetadata via DocumentInfo og XmpMetadata.
  • PDF‑struktur: Få adgang til underliggende PDF-objekter gennem getParser(), getCatalog() og getTrailer().
  • Indlejrede filer: Administrer samlinger af indlejrede filer med getEmbeddedFiles().

Fælles dokumentbehandlingsscenarier

  • PDF-generering: Opbyg dokumentation programmatisk ved at oprette en Document og udfylde sider.
  • ** Dokumentanalyse:** Tilgå eksisterende filer til metadatainspektion eller opgørelse af formularfeltet.
  • Sidmanipulation: Ændre størrelse, rotere eller omordne sider ved hjælp af PdfFileEditor og API’en for Page.
  • ** Batch-arbejdsstrømme:** Anvend konsekvente transformationer på tværs af flere dokumenter i serverside pipelines.

Annotationer og formularfelter

  • Annotationshierarki: Den abstrakte Annotation klasse er grundlaget for alle annotationer; konkrete typer omfatter WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation og UnderlineAnnotation.
  • Interaktive formularer: Få adgang til dokumentformularen via Document.getForm() for at enumerere eller oprette ButtonField, CheckboxField og RadioButtonField forekomster.
  • Widget-udseende: Styr visuelle egenskaber via AppearanceCharacteristics — kantfarve, baggrund, rotation og billedtekster.
  • Formularredigering: Brug FormEditor og FormElement til højere niveau formularmanipulation.

Dokumentoversyn og samarbejde

  • Markup annotationer: Tilføj fremhævelse, understreger eller fri tekst annoter til dokumenter for gennemgang af arbejdsprocesser.
  • Interaktive formularer: Opbyg fyldbare dokumenter med radiobudskærme, krydsfeltet og trykknapper til dataindsamling.
  • Formeldataekstraktion: Læse indsendte formularfeltværdier for serverside-pipelines.
  • Arkiveringsoverensstemmelse: Valider dokumentation og -opdatering til langvarig arkivering ved hjælp af ActionRules og ActionFixes.

Sikkerhed og indholdsoperationer

  • AES-kryptering: Kryptere og dekryptere databytearrays med AESCipher ved hjælp af CBC-tilstand (AESCipher.encrypt(key, data) og AESCipher.decrypt(key, data)).
  • Artifact management: Identificer og manipulere overskrifter, fodspor, vandmærker og baggrundsbilleder via API’erne Artifact og ArtifactCollection.
  • Indholdsmængdeændring: Juster sideindholdslayout med PdfFileEditor.resizeContents() og ContentsResizeParameters.
  • ** Validering af overensstemmelse:** Valider annotations- og handlingsregler i forhold til PDF/A standarder ved hjælp af AnnotationRules og ActionRules.

Anvendelsestilfælde for dokumentsikkerhed

  • Krypterede nyttobelastninger: Brug AESCipher til at kryptere dataafsnit indlejret i dokumentstrømme.
  • ** Dokumentbeskyttelse:** Anvend sikkerhedsinstallationer til adgangskontrol i overensstemmelsesarbejdsstrømme.
  • ** Vandmærkning:** Finder og administrerer Artifact-objekter, der repræsenterer vandmærker og sideindsmykninger.
  • Arkivoverensstemmelse: Kør ActionFixes og AnnotationFixes for at gøre eksisterende dokumenter i overensstemmelse med PDF/A-1b-arkivstandarder.

Oprette et dokument med widget annotation

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

Oprette et formular med radiobunke

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

Tjek dokumentets sidedimensioner

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

Support og læringsressourcer

 Dansk