طبقة الواجهات في Aspose. PDF FOSS لـ Java

Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused فئات توفر عمليات مستهدفة على مستندات PDF دون الحاجة إلى التنقل. من نموذج الكائن 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 يدير شجرة المخططات (العلامات). يعرض الطرق لإنشاء علامات بحث جديدة مع 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 يقدم الملف 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 يوفر واجهة برمجة تطبيقية تستند إلى السحب لاستخراج النصوص والصور من وثائق 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() الدراسة تدعم المستندات المشفرة.

بدءاً من

أضف تبعية Maven:

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

جميع فئات الواجهة تتطلب Java 11 أو أحدث. Aspose. مرخص من MIT و متوفر في: https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

الموارد ذات الصلة