Фасадите в Aspose.PDF FOSS за Java

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

Всички фасадни класове се намират в 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) Претоварване приема A. 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, базирана на изтегляне за извличане на текст и образи от След като свържете документа, обадете се на 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() Методите поддържат криптирани документи.

Започваме

Добавете зависимостта на Maven:

<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.

Свързани ресурси