Склад фасадів в Aspose.PDF FOSS для Java

Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused класи, які забезпечують цільові операції на PDF-документах без необхідності навігації. Кожний клас фасаду слідує одному шаблону: зв’язати a документу, виконувати операції, зберегти результат.

Всі фасадні класи знаходяться в org.aspose.pdf.facades Пакет:

import org.aspose.pdf.facades.*;

PdfAnnotationEditor: Плоскості і видалення анотацій

PdfAnnotationEditor передбачає операції для управління аннотаціями у масовому вигляді: вирівнюючи їх до змісту сторінки, видаляючи всі анотації або видалення конкретні типи анотацій з назви.

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    // Flatten all annotations into the page content stream
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

У. deleteAnnotations(annotationType) Перевантаження приймає струнку типу анотації такі як: "Highlight" або "Widget" видалити тільки такі замітки. countAnnotations() повертає загальний розмір анотацій на всіх сторінках.

PdfBookmarkEditor: Створення та видалення закладок

PdfBookmarkEditor Управляє деревом контур PDF (закладки). Висвітлює методи для створення нових закладок з createBookmarks(), видаляючи всі закладки з: deleteBookmarks(), і видалення закладки по назві з deleteBookmarkByTitle().

try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
    bookmarkEditor.bindPdf("input.pdf");
    // Remove all bookmarks from the document
    bookmarkEditor.deleteBookmarks();
    bookmarkEditor.save("no-bookmarks.pdf");
}

У. bindPdf(document) Перевантаження приймає Document безпосередньо об’єктом, що дозволяє використання в трубопроводах, де документ вже завантажений у пам’ять.

PdfContentEditor: Замінка тексту

PdfContentEditor підтримує цільову заміну тексту в потоках контенту PDF. replaceText(searchText, replaceText) замінює всі випадки струн. по всьому документу; replaceText(searchText, pageNumber, replaceText) обмежує заміну на одну сторінку.

try (PdfContentEditor contentEditor = new PdfContentEditor()) {
    contentEditor.bindPdf("template.pdf");
    contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
    contentEditor.save("output.pdf");
}

TextReplaceOptions контролює, чи повинна заміна зберегти оригінальний. Шрифт і розмір або властивості тексту, що успадковуються від навколишнього контенту. getStamps(pageNumber) повернення StampInfo об’єкти для всіх марк на сторінці, і deleteStampById() видаляє печатку за її ідентифікатором.

PdfFileSecurity: шифрування та дозволу

PdfFileSecurity управляє безпекою на рівні документів, включаючи шифрування та розшифровку;, Конструкторні варіанти приймають шляхи файлів, потоки або існуючий Document примірник поруч з вихідним напрямком.

DocumentPrivilege представляє дозвіл доступу для зашифрованого документа. Використання DocumentPrivilege.getForbidAll() відмовити у всіх операціях користувача, або DocumentPrivilege.getAllowAll() надати повний доступ.

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
    privilege.setAllowPrint(true);
    security.encryptFile("userPass", "ownerPass", privilege, KeySize.x256);
}

decryptFile(ownerPassword) видаляє шифрування, коли відомий пароль власника. У. Algorithm enum надає RC4 і AES сімейства алгоритмів; KeySize вказує довжину ключа.

PdfFileStamp: Додавання штампів та номерів сторінок

PdfFileStamp додає текстові та зображенням штампи на сторінках PDF і може автоматично Марки розміщені за допомогою координатів на основі розміщення на кожній сторінці.

try (PdfFileStamp stamp = new PdfFileStamp("input.pdf", "stamped.pdf")) {
    // Add formatted page numbers to all pages
    stamp.addPageNumber("Page #", PageNumberingStyle.NumeralsArabic,
        0, 0, 0, 20);
}

PdfExtractor: витягнення тексту та зображень

PdfExtractor надає API на основі pull для вилучення тексту та зображень з PDF-документи. Після зв’язку документа, подзвоніть до: extractText() для запуска тексту екстракції, потім ітерація з hasNextPageText() і getNextPageText():

try (PdfExtractor extractor = new PdfExtractor()) {
    extractor.bindPdf("document.pdf");
    extractor.extractText();
    while (extractor.hasNextPageText()) {
        String pageText = extractor.getNextPageText();
        // Collect extracted page content
    }
}

Для витягнення зображень, extractImage() викликає екстракцію, і hasNextImage() / getNextImage(outputStream) повторювати над екстрахованими зображеннями. У. getPassword() і setPassword() методи підтримують шифровані документи.

Починати з

Додайте до залежності від мавну:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-pdf</artifactId>
  <version>0.1.0-alpha</version>
</dependency>

Всі фасадні класи вимагають Java 11 або більш пізнього. Aspose. PDF FOSS для Java є: Ліцензій MIT і доступний на: https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

Пов’язані ресурси