Facade sloj u Aspose. PDF FOSS za Java

Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused Klasi koje pružaju ciljne operacije na PDF dokumentima bez potrebe za navigacijom. Svaki fasadni razred slijedi isti obrazac: veže se s dokument, obavljati operacije, sačuvati rezultat.

Sve fasade klase nalaze se u org.aspose.pdf.facades pakiranje:

import org.aspose.pdf.facades.*;

PdfAnnotationEditor: Ravnoteži i ukloni Anotate

PdfAnnotationEditor U ovom članku se navode sljedeće informacije: ravnim ih u sadržaj stranice, uklanjanje svih bilješki ili ukidanje specifične vrste anotiranja po imenu.

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

U skladu s člankom 1. deleteAnnotations(annotationType) Preopterećenje prihvaća niz tipa opisa kao što su: "Highlight" ili: "Widget" da se uklone samo takve bilješke. countAnnotations() vraća ukupni broj anotiranja na svim stranicama.

PdfBookmarkEditor: Stvaranje i brisanje stranica za stavljanje na stranicu

PdfBookmarkEditor upravlja PDF drvećem (bookmarkovi). Pokazuje metode za stvaranje novih stavki s: createBookmarks(), brisanje svih zalagatelja s: deleteBookmarks(), i uklanjanje zalagatelja po naslovu s: deleteBookmarkByTitle().

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

U skladu s člankom 1. bindPdf(document) Preopterećenje prihvaća: Document direktno, omogućavajući U slučaju da je to moguće, mora se koristiti u sustavima za upravljanje informacijama.

PdfContentEditor: zamjena teksta

PdfContentEditor Podržava namjerno zamjenjivanje teksta u PDF strimovima sadržaja. replaceText(searchText, replaceText) zamjenjuje sve pojave nizka. u cijelom dokumentu; replaceText(searchText, pageNumber, replaceText) ograničava zamjenu na jednu stranicu.

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

TextReplaceOptions kontrolira se da li zamjena treba sačuvati originalni proizvod. font i veličina ili naslijediti svojstva teksta od okružnog sadržaja. getStamps(pageNumber) povratni podaci StampInfo predmet za sve marke na stranici, i u članku 1. deleteStampById() Odstupanje od oznake “S”.

PdfFileSecurity: Enkripcija i dozvole

PdfFileSecurity Upravlja sigurnosnim sustavom na razini dokumenata, uključujući šifriranje i dekriptovanje., Konstruktor varijante prihvaćaju putove datoteke, tokove ili postojećih Document primjerak uz izlaz odredišta.

DocumentPrivilege označava pristupne dozvole za šifrirani dokument. Upotreba: DocumentPrivilege.getForbidAll() da se odbiju sve operacije korisnika, ili DocumentPrivilege.getAllowAll() Da odobri potpuni pristup.

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) uklanja šifriranje kada je poznata lozinka vlasnika. U skladu s člankom 1. Algorithm enum sadrži: RC4 i u članku 1. AES “svrha” znači:; KeySize specifično dužinu ključa.

PdfFileStamp: Dodavanje pečatova i brojeva stranica

PdfFileStamp Dodaje tekst i slike na PDF stranice, a može automatski Oznake su postavljene pomoću koordinata na temelju smještaj na svakoj stranici.

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: Izvadba teksta i slika

PdfExtractor pruža API-a zasnovanog na vuci za ekstrakciju teksta i slika iz Dokumenti u PDF-u. Nakon što povežete dokument, pozovite: extractText() za aktiviranje teksta ekstrakcija, zatim iterirati s hasNextPageText() i u članku 1. getNextPageText():

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

Za ekstrakciju slike, extractImage() aktivira ekstrakciju i hasNextImage() / getNextImage(outputStream) Iterirati na izvedenim slikama. U skladu s člankom 1. getPassword() i u članku 1. setPassword() Metode podržavaju šifrirane dokumente.

Početak

Dodajte ovisnost o Mavenu:

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

Sve fasade klase zahtijevaju Java 11 ili noviji. Aspose. PDF FOSS za Java je: MIT-licenciran i dostupan na: https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

Srodni resursi