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

Aspose.PDF FOSS dla Java

Twórz i manipuluj dokumentami PDF z Java — z adnotacjami, polami formularzy, manipulacją stronami i zgodnością PDF/A. Na licencji MIT.

Darmowa biblioteka Java na licencji MIT do tworzenia i manipulacji PDF

Aspose.PDF FOSS dla Java jest biblioteką Java na licencji MIT służącą do tworzenia i pracy z dokumentami PDF. Dostarcza kompleksową klasę Document jako centralny punkt wejścia, wraz z pełnym wsparciem adnotacji, interaktywnych pól formularzy, manipulacji stronami, metadanymi oraz walidacją zgodności PDF/A.

Biblioteka udostępnia 527 klas obejmujących pełną specyfikację PDF: strukturę dokumentu poprzez Document, Page i PageCollection; adnotacje poprzez hierarchię Annotation (w tym WidgetAnnotation, FreeTextAnnotation i HighlightAnnotation); interaktywne formularze z Form, ButtonField, CheckboxField i RadioButtonField; renderowanie stron za pomocą BmpDevice; oraz sprawdzanie zgodności PDF/A poprzez ActionRules i ActionFixes. Szyfrowanie jest zapewnione przez AESCipher w trybie CBC.

Dodaj Aspose.PDF FOSS do swojego projektu Maven, używając groupId org.aspose i artifactId aspose-pdf. Biblioteka wymaga Java 11 lub nowszej i jest w pełni licencjonowana na licencji MIT. Aby uzyskać funkcje i wsparcie dla przedsiębiorstw, zobacz Aspose.PDF for Java — Enterprise Product.

Struktura dokumentu i zarządzanie stronami

  • Document API: Użyj klasy Document, aby tworzyć nowe dokumenty PDF. Istniejące dokumenty można uzyskać za pomocą konstruktorów Document(filePath) lub Document(stream).
  • Zarządzanie stronami: Dodawaj, uzyskuj dostęp i modyfikuj strony za pomocą PageCollection. Każdy Page udostępnia MediaBox, CropBox, rotację, zasoby i operatory treści.
  • Metadane: Odczyt i zapis metadanych dokumentu za pomocą DocumentInfo i XmpMetadata.
  • Struktura PDF: Uzyskaj dostęp do podstawowych obiektów PDF poprzez getParser(), getCatalog() i getTrailer().
  • Pliki osadzone: Zarządzaj kolekcjami plików osadzonych przy użyciu getEmbeddedFiles().

Typowe scenariusze przetwarzania dokumentów

  • PDF generation: Twórz dokumenty programowo, tworząc Document i wypełniając strony.
  • Analiza dokumentu: Uzyskaj dostęp do istniejących plików w celu przeglądu metadanych lub wyliczenia pól formularza.
  • Manipulacja stronami: Zmieniaj rozmiar, obracaj lub zmieniaj kolejność stron przy użyciu PdfFileEditor i interfejsu API Page.
  • Batch workflows: Zastosuj spójne transformacje w wielu dokumentach w potokach po stronie serwera.

Adnotacje i pola formularzy

  • Hierarchia adnotacji: Abstrakcyjna klasa Annotation jest bazą dla wszystkich adnotacji; typy konkretne obejmują WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation oraz UnderlineAnnotation.
  • Formularze interaktywne: Uzyskaj dostęp do formularza dokumentu za pośrednictwem Document.getForm(), aby wyliczyć lub utworzyć instancje ButtonField, CheckboxField i RadioButtonField.
  • Wygląd widżetu: Kontroluj właściwości wizualne za pomocą AppearanceCharacteristics — kolor obramowania, tło, obrót i podpisy.
  • Edycja formularza: Użyj FormEditor i FormElement do manipulacji formularzem na wyższym poziomie.

Przegląd dokumentów i współpraca

  • Adnotacje znaczników: Dodaj podświetlenia, podkreślenia lub adnotacje tekstowe do dokumentów w przepływach przeglądu.
  • Formularze interaktywne: Twórz wypełnialne dokumenty z przyciskami radiowymi, polami wyboru i przyciskami akcji w celu przechwytywania danych.
  • Ekstrakcja danych formularza: Odczytaj przesłane wartości pól formularza dla potoków po stronie serwera.
  • Zgodność archiwalna: Sprawdź i napraw dokumenty pod kątem długoterminowego archiwizowania przy użyciu ActionRules i ActionFixes.

Bezpieczeństwo i operacje treści

  • Szyfrowanie AES: Szyfruj i odszyfruj tablice bajtów danych przy użyciu AESCipher w trybie CBC (AESCipher.encrypt(key, data) i AESCipher.decrypt(key, data)).
  • Zarządzanie artefaktami: Identyfikuj i manipuluj nagłówkami, stopkami, znakami wodnymi oraz obrazami tła za pośrednictwem Artifact i ArtifactCollection API.
  • Zmiana rozmiaru treści: Dostosuj układ zawartości strony przy użyciu PdfFileEditor.resizeContents() i ContentsResizeParameters.
  • Weryfikacja zgodności: Sprawdź reguły adnotacji i działań względem standardów PDF/A przy użyciu AnnotationRules i ActionRules.

Zastosowania zabezpieczeń dokumentów

  • Zaszyfrowane ładunki: Użyj AESCipher, aby zaszyfrować sekcje danych osadzone w strumieniach dokumentu.
  • Ochrona dokumentu: Zastosuj ustawienia zabezpieczeń dla kontroli dostępu w procesach zgodności.
  • Watermarking: Wykrywać i zarządzać obiektami Artifact reprezentującymi znaki wodne i dekoracje stron.
  • Zgodność archiwalna: Uruchom ActionFixes i AnnotationFixes, aby istniejące dokumenty spełniały standardy archiwalne PDF/A-1b.

Utwórz dokument z adnotacją Widget

Utwórz nowy dokument, dodaj stronę i dołącz adnotację typu widget ze stylizacją.

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

Utwórz formularz z przyciskami radiowymi

Dodaj grupę przycisków radiowych do formularza dokumentu i wybierz wartość programowo.

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

Sprawdź wymiary stron dokumentu

Uzyskaj dostęp do istniejącego dokumentu i odczytaj wymiary media box pierwszej strony.

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

Zasoby Wsparcia i Nauki

 Polski