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

Aspose.PDF FOSS за Java

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

Безплатна Java библиотека с MIT лиценз за създаване и манипулиране на 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.

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

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

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

  • Генериране на PDF: Създавайте документи програмено, като създавате Document и попълвате страници.
  • Документен анализ: Достъп до съществуващи файлове за проверка на метаданни или изброяване на полета от формуляра.
  • Манипулиране на страници: Преоразмеряване, завъртане или пренареждане на страници с помощта на PdfFileEditor и Page API.
  • Batch workflows: Прилагайте последователни трансформации върху множество документи в сървърни конвейери.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 Български