Склад фасадів в 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.