Фасадите в 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.