Facade strat în Aspose. PDF FOSS pentru Java
Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused clasele care oferă operațiuni vizionare pe documente PDF fără a necesita navigarea. Fiecare clasă de fațadă urmează același model: bind a document, efectuează operaţii, salvează rezultatul.
Toate clasele de faţadă se află în interiorul org.aspose.pdf.facades pachet:
import org.aspose.pdf.facades.*;
PdfAnnotationEditor: Aplaiați și eliminați anotații
PdfAnnotationEditor oferă operațiuni pentru gestionarea anotațiilor în vrac: înșelătorie lor în conținutul paginii, eliminarea tuturor anotațiilor sau de a elimina tipuri specifice de anotații, după nume.
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
// Flatten all annotations into the page content stream
editor.flattenAnnotations();
editor.save("flat.pdf");
}
În ceea ce priveşte deleteAnnotations(annotationType) supraîncărcare acceptă o șir de tip anotație cum ar fi: "Highlight" sau de: "Widget" să elimine numai anotațiile de acest tip. countAnnotations() returnă numărul total de anotații pe toate paginile.
PdfBookmarkEditor: Crearea și ștergerea bookmarker-urilor
PdfBookmarkEditor Gestionează arborele de contur PDF (marcați). Expune metodele pentru crearea de noi bookmark-uri cu createBookmarks(), ştergând toate marcajele cu: deleteBookmarks(), şi eliminarea bookmark-urilor după titlu cu deleteBookmarkByTitle().
try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
bookmarkEditor.bindPdf("input.pdf");
// Remove all bookmarks from the document
bookmarkEditor.deleteBookmarks();
bookmarkEditor.save("no-bookmarks.pdf");
}
În ceea ce priveşte bindPdf(document) Supraîncărcarea acceptă o Document obiect direct, care permite utilizarea în conducte unde documentul este deja încărcat în memorie.
PdfContentEditor: Înlocuire text
PdfContentEditor suportă înlocuirea textului țintit în fluxurile de conținut PDF. replaceText(searchText, replaceText) înlocuiește toate aparițiile unui șir pe întregul document; replaceText(searchText, pageNumber, replaceText) limitează înlocuirea la o singură pagină.
try (PdfContentEditor contentEditor = new PdfContentEditor()) {
contentEditor.bindPdf("template.pdf");
contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
contentEditor.save("output.pdf");
}
TextReplaceOptions controlează dacă înlocuirea trebuie să păstreze originalul. font și dimensiunea sau moștenirea proprietăților textului de la conținutul înconjurător. getStamps(pageNumber) rambursări StampInfo obiectele pentru toate timbrele de pe o pagină, și de: deleteStampById() elimină un timbru specific de identificatorul său.
PdfFileSecurity: criptare și permisiuni
PdfFileSecurity gestionează securitatea la nivel de document, inclusiv criptarea și decriptare;, Variantele constructor acceptă căi de fișiere, fluxuri sau o existentă Document Instanță de lângă destinația de ieșire.
DocumentPrivilege reprezintă permisiunile de acces pentru documentul criptat. Utilizare: DocumentPrivilege.getForbidAll() să refuze toate operațiunile utilizatorului sau DocumentPrivilege.getAllowAll() să acorde acces complet.
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) elimină criptarea atunci când se cunoaște parola proprietarului. În ceea ce priveşte Algorithm enum oferă RC4 și de: AES familii de algoritmi; KeySize specifica lungimea cheii.
PdfFileStamp: Adăugarea de timbre și numere de pagină
PdfFileStamp adaugă text și imagini pe paginile PDF și poate automat Stampilele sunt poziționate folosind coordonate bazate pe plasarea pe fiecare pagină.
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: Extractarea textului și imaginii
PdfExtractor oferă un API bazat pe tragere pentru extragerea textului și a imaginilor de la Documente PDF. După legarea unui document, sunați la extractText() să declanșeze textul extracție, apoi iterate cu hasNextPageText() și de: getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String pageText = extractor.getNextPageText();
// Collect extracted page content
}
}
Pentru extracția imaginii, extractImage() declanșează extracția și hasNextImage() / getNextImage(outputStream) Iterati imaginile extrase. În ceea ce priveşte getPassword() și de: setPassword() metodele de suportare a documentelor criptate.
Cum să începem?
Adăugați dependența de Maven:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>0.1.0-alpha</version>
</dependency>
Toate clasele de fațadă necesită Java 11 sau mai târziu. Aspose. PDF FOSS pentru Java este Licenţiat de MIT şi disponibil la: https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.