1. Продукти
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS for Java

Създавайте и манипулирайте PDF документи от Java — с анотации, полета за формуляри, манипулиране на страници и съответствие с PDF/A. Лицензирано под MIT.

Свободна библиотека с лиценз на MIT Java за създаване и манипулиране на PDF файлове.

Aspose.PDF FOSS за Java е MIT лицензирана Java библиотека за създаване и работа с PDF документи. Тя предоставя изчерпателен Document клас като централен входен пункт, заедно с пълно покритие на анотации, интерактивни полета за формуляри, манипулиране на страници, метаданни и проверка на съответствието с PDF/A.

Библиотеката излага 527 класа, обхващащи пълната PDF спецификация: структура на документа чрез Document, Page и PageCollection; анотации чрез йерархията Annotation (включително WidgetAnnotation, FreeTextAnnotation и HighlightAnnotation); интерактивни формуляри с Form, ButtonField, CheckboxField и RadioButtonField; рендериране на страници чрез BmpDevice; и проверка на съответствието с PDF/A чрез ActionRules и ActionFixes. Шифроването се предоставя чрез AESCipher в режим CBC.

Добавете Aspose.PDF FOSS към вашия Maven проект, като използвате groupId org.aspose и artifactId aspose-pdf. Библиотеката изисква Java 11 или по-нов и е напълно MIT лицензирана. За корпоративни функции и поддръжка, вижте Aspose.PDF for Java — Enterprise Product.

Структура на документа и управление на страниците

  • Документ API: Използвайте класа Document, за да създавате нови PDF документи. Съществуващите документи могат да се достъпват чрез Document(filePath) или Document(stream) конструктори.
  • Управление на страници: Добавяйте, достъпвайте и променяйте страници чрез PageCollection. Всеки Page разкрива MediaBox, CropBox, ротация, ресурси и оператори за съдържание.
  • Метаданни: Четете и записвайте метаданни на документа чрез DocumentInfo и XmpMetadata.
  • PDF структура: Достъпвайте подлежащите PDF обекти чрез getParser(), getCatalog() и getTrailer().
  • Вградени файлове: Управлявайте колекции от вградени файлове с getEmbeddedFiles().

Общи сценарии за обработка на документи

  • PDF генериране: Създаване на документи по програма чрез създаване Document и запълване страниците.
  • ** Анализ на документи:** Достъп до съществуващи файлове за проверка на метаданните или изброяване на полетата в формуляра.
  • Манипулиране на страници: Преразмеряване, въртене или пренареждане на страниците с помощта на PdfFileEditor и API-то Page.
  • Батшови работни потоци: Прилагане на последователни трансформации в множество документи от страницата на сървъра.

Аннотации и полета на формуляра

  • Хиерархия на бележките: Абстрактният клас Annotation е основата за всички бележки; конкретните видове включват WidgetAnnotation, FreeTextAnnotation , HighlightAnnotation и UnderlineAnnotation.
  • Интерактивни формуляри: Достъп до документа чрез Document.getForm() за изброяване или създаване на инстанции ButtonField, CheckboxField и RadioButtonField.
  • ** Виджет външен вид:** Контролирайте визуалните свойства чрез AppearanceCharacteristics цвят на границата, фон, ротация и надписи.
  • Редактиране на формуляри: Използвайте FormEditor и FormElement за манипулиране с формуляр от по-високо ниво.

Преглед на документи и сътрудничество

  • Анотации за маркировка: Добавяне на подчеркване, подтискване или свободно текстови анотация към документи за преглед на работното поток.
  • Интерактивни формуляри: Създаване на документи, които могат да бъдат попълнени с радио копчета, квадратки за отметка и бутони за улавяне на данни.
  • ** Извличане на данни от формуляра:** Прочетете представените стойности в полетата на формуляр за тръбопроводите от страна на сървъра.
  • Съответствие на архивите: Валидиране и фиксиране на документи за дългосрочно архивиране с помощта на ActionRules и ActionFixes.

Операции по сигурността и съдържанието

  • Криптиране AES: Криптирайте и декриптирате байтни масиви от данни с AESCipher чрез CBC режим (AESCipher.encrypt(key, data) и AESCipher.decrypt(key, data)).
  • Управление на артефакти: Идентифициране и манипулиране на заглавията, стъпките, водни знаци и фонови изображения чрез API Artifact и ArtifactCollection.
  • ** Размеряване на съдържанието:** Настройване на оформлението на страницата с PdfFileEditor.resizeContents() и ContentsResizeParameters.
  • Валидиране на съответствието: Валидирайте правилата за аннотация и действие спрямо PDF/A стандартите, като използвате AnnotationRules и ActionRules.

Случаи на използване за сигурност на документи

  • Криптирани полезни товари: Използвайте AESCipher за криптиране на секции от данни, вградени в потоци документи.
  • Защита на документи: Прилагане на настройки за сигурност при контрол на достъпа в работни потоци, свързани с спазването.
  • ** Водолей:** Разпознаване и управление на Artifact обекти, представляващи водно знаци и украшения на страници.
  • Съответствие на архивите: Изпълнете ActionFixes и AnnotationFixes, за да направите съществуващите документи в съответствие с стандартите за архивиране PDF/A-1b.

Създаване на документ с анотация за виджета

Създайте нов документ, добавете страница и прикрепете анотация на виджета със стилизиране.

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

Създаване на формуляр с радио копчета

Добавете група от радио копчета към формуляр на документ и изберете стойност по програма.

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

Проверка на размерите на страниците в документа

Достъп до съществуващ документ и прочетете размерите на медийната кутия от първата страница.

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

Ресурси за поддръжка и обучение

 Български