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

Aspose.PDF FOSS pro Java

Vytvářejte a manipulujte s PDF dokumenty z Java — s anotacemi, formulářovými poli, manipulací stránek a shodou s PDF/A. Licencováno pod MIT.

Bezplatná MIT-licencovaná knihovna Java pro vytváření a manipulaci s PDF

Aspose.PDF FOSS pro Java je knihovna Java licencovaná pod MIT, určená pro vytváření a práci s PDF dokumenty. Poskytuje komplexní třídu Document jako centrální vstupní bod, spolu s úplnou podporou anotací, interaktivních formulářových polí, manipulace s stránkami, metadat a validace souladu s PDF/A.

Knihovna poskytuje 527 tříd pokrývajících celou specifikaci PDF: strukturu dokumentu přes Document, Page a PageCollection; anotace prostřednictvím hierarchie Annotation (včetně WidgetAnnotation, FreeTextAnnotation a HighlightAnnotation); interaktivní formuláře s Form, ButtonField, CheckboxField a RadioButtonField; vykreslování stránek přes BmpDevice; a kontrolu souladu s PDF/A prostřednictvím ActionRules a ActionFixes. Šifrování je poskytováno prostřednictvím AESCipher v režimu CBC.

Přidejte Aspose.PDF FOSS do svého Maven projektu pomocí groupId org.aspose a artifactId aspose-pdf. Knihovna vyžaduje Java 11 nebo novější a je plně licencována pod MIT. Pro podnikové funkce a podporu viz Aspose.PDF for Java — Enterprise Product.

Struktura dokumentu a správa stránek

  • API dokumentu: Použijte třídu Document k vytvoření nových PDF dokumentů. Existující dokumenty lze získat pomocí konstruktorů Document(filePath) nebo Document(stream).
  • Page management: Přidávejte, přistupujte a upravujte stránky pomocí PageCollection. Každý Page poskytuje MediaBox, CropBox, rotaci, zdroje a operátory obsahu.
  • Metadata: Číst a zapisovat metadata dokumentu pomocí DocumentInfo a XmpMetadata.
  • PDF struktura: Přístup k podkladovým objektům PDF přes getParser(), getCatalog() a getTrailer().
  • Vložené soubory: Spravujte kolekce vložených souborů pomocí getEmbeddedFiles().

Běžné scénáře zpracování dokumentů

  • Generování PDF: Vytvářejte dokumenty programově vytvořením Document a naplňováním stránek.
  • Analýza dokumentu: Přístup k existujícím souborům pro kontrolu metadat nebo výčet polí formuláře.
  • Manipulace se stránkami: Změňte velikost, otočte nebo přeuspořádejte stránky pomocí PdfFileEditor a Page API.
  • Batch workflows: Použijte konzistentní transformace napříč více dokumenty ve serverových pipelinech.

Anotace a formulářová pole

  • Hierarchie anotací: Abstraktní třída Annotation je základem pro všechny anotace; konkrétní typy zahrnují WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation a UnderlineAnnotation.
  • Interaktivní formuláře: Přístup k formuláři dokumentu přes Document.getForm() pro výčet nebo vytvoření ButtonField, CheckboxField a RadioButtonField instancí.
  • Vzhled widgetu: Ovládejte vizuální vlastnosti pomocí AppearanceCharacteristics — barva okraje, pozadí, rotace a popisky.
  • Úprava formuláře: Použijte FormEditor a FormElement pro manipulaci s formulářem na vyšší úrovni.

Revize dokumentů a spolupráce

  • Markup annotations: Přidejte zvýraznění, podtržení nebo volné textové anotace do dokumentů pro revizní pracovní postupy.
  • Interaktivní formuláře: Vytvářejte vyplnitelné dokumenty s přepínači, zaškrtávacími políčky a tlačítky pro zachycení dat.
  • Extrahování dat formuláře: Čtěte odeslané hodnoty polí formuláře pro serverové pipeline.
  • Archivní shoda: Ověřte a opravte dokumenty pro dlouhodobé archivování pomocí ActionRules a ActionFixes.

Bezpečnost a operace s obsahem

  • AES šifrování: Šifrujte a dešifrujte pole bajtů dat pomocí AESCipher v režimu CBC (AESCipher.encrypt(key, data) a AESCipher.decrypt(key, data)).
  • Správa artefaktů: Identifikujte a manipulujte s hlavičkami, patičkami, vodoznaky a obrázky na pozadí pomocí Artifact a ArtifactCollection API.
  • Content resize: Upravte rozvržení obsahu stránky pomocí PdfFileEditor.resizeContents() a ContentsResizeParameters.
  • Compliance validation: Ověřte pravidla anotací a akcí podle standardů PDF/A pomocí AnnotationRules a ActionRules.

Případy použití zabezpečení dokumentů

  • Šifrované payloady: Použijte AESCipher k šifrování datových sekcí vložených do proudů dokumentu.
  • Document protection: Použijte bezpečnostní nastavení pro řízení přístupu v pracovních postupech souvisejících s dodržováním předpisů.
  • Watermarking: Detekovat a spravovat objekty Artifact představující vodoznaky a dekorace stránek.
  • Archivní shoda: Spusťte ActionFixes a AnnotationFixes, aby existující dokumenty splňovaly archivní standard PDF/A-1b.

Vytvořit dokument s anotací widgetu

Vytvořte nový dokument, přidejte stránku a připojte widgetovou anotaci se stylováním.

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

Vytvořit formulář s přepínači

Přidejte radio button group do formuláře dokumentu a vyberte hodnotu programově.

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

Zkontrolovat rozměry stránek dokumentu

Přistupte k existujícímu dokumentu a přečtěte rozměry media boxu první stránky.

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

Podpora a vzdělávací materiály

 Čeština