مقدمة

Aspose.PDF FOSS for Java is an MIT-licensed Java library for creating and manipulating وثائق PDF. متوفرة على GitHub تحت ترخيص MIT ولا تتطلب مفتاح API أو اتفاق تجاري. تعرض المكتبة 527 فئة تغطي PDF كاملة المواصفات من هيكل الوثيقة إلى التعليقات، والنماذج التفاعلية، وتقديم الصفحة., والعمليات التشفيرية.

المكتبة مبنية حول Document الطبقة، وهي نقطة الدخول المركزية لـ: كل عمليات PDF. إنشاء مستند جديد، الوصول إلى الصفحات عبر PageCollection, قراءة البيانات الوصفية من خلال DocumentInfo,أو التنقل في الكتالوج عبر: getCatalog() و getTrailer() كل شيء يبدأ بـ Document مثال.

بدء سريع

أضف إعتماد (مافين) إلى حسابك. pom.xml:

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

تقوم المكتبة بتنظيم جميع فئات API العامة تحت ثلاث حزم. أضف إعلانات الحزم هذه إلى أي ملف مصدر Java يستخدم API:

// Core API — Document, Page, Annotation, Form, etc.
org.aspose.pdf.*
// Annotation subclasses
org.aspose.pdf.annotations.*
// Facade classes — PdfFileEditor, PdfAnnotationEditor, etc.
org.aspose.pdf.facades.*

Aspose.PDF FOSS for Java requires Java 11 or later. The source code and issue tracker متاح في: https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

بدءاً من

إنشاء وتخزين وثيقة أدنى للتحقق من الإعداد:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    doc.save("output.pdf");
    System.out.println("Pages: " + pages.getCount());
}

المجلس الوزاري Document يوافق صانع الفئة على مسار ملف أو تيار للوصول إلى الملفات الموجودة. الملفات، أو يمكن استدعاءها دون حجج لإنشاء وثيقة فارغة. يتم إدارة الصفحات من خلال PageCollection,، يمكن الوصول إليها عبر: Document.getPages().كل واحد منهم Page يُعرضه الهندسة عبر getMediaBox(), getCropBox(),، و getRotate(),، ويمنح الوصول إلى الموارد، مشغل المحتوى، والتعليقات.

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    // page.getMediaBox() -> Rectangle with width/height
    // page.getAnnotations() -> AnnotationCollection
    doc.save("output.pdf");
}

المجلس الوزاري PdfFileEditor الفئة توفر concatenate() لدمج وثائق متعددة، و resizeContents() مع ContentsResizeParameters لتعديل تصميم المحتوى داخل حدود الصفحة الحالية.

التعليقات

Aspose.PDF FOSS for Java implements the full PDF annotation hierarchy rooted at the تجريدي Annotation فئات التعليقات الملموسة تشمل: WidgetAnnotation لـ: أشكال التحكم،, FreeTextAnnotation للاستدعاءات النصية،, HighlightAnnotation و UnderlineAnnotation لتحديد العلامات، و CircleAnnotation و CaretAnnotation لـ: ملاحظات رسمية.

كل تدوين مرتبط بـ Page و a Rectangle تحديد موقعها. يتم التحكم في الخصائص البصرية من خلال: AppearanceCharacteristics,، والتي تكشف setBorder(), setBackground(), setRotate(),، و setCaption() الطرق. التعليقات يتم إضافتها إلى صفحة عبر: page.getAnnotations().add(annotation).

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("annotated.pdf");
}

حقول النموذج التفاعلية

المجلس الوزاري Form الدرجة، يمكن الوصول إليها عبر: Document.getForm(),، يدير جميع حقول AcroForm. المكتبة توفر ButtonField, CheckboxField, RadioButtonField, TextBoxField, ComboBoxField,، و ListBoxField لبناء نماذج قابلة لملء. FormEditor هو a فئة الواجهة للعمل مع حقول النموذج في وثيقة مرتبطة.

يتم إنشاء مجموعات أزرار الراديو مع RadioButtonField,، الذي يقبل صفحة ويدعم addOption() لإضافة خيارات قابلة للاختيار، كل واحد مرتبط مع Rectangle من أجل بصرياته الموقع. setValue() الطريقة تختار خيارًا برمجيا.

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("answer");
    radio.addOption("Yes", new Rectangle(50, 50, 70, 70));
    radio.addOption("No", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Yes");
    doc.save("form.pdf");
}

الأمن: تشفير AES

المجلس الوزاري AESCipher تنفذ الفئة تشفير AES في وضع CBC للتشفير و فك الشفرة. المجموعات البايتية للبيانات التي يتم تضمينها في مستندات PDF. AESCipher.encrypt(key, data) يعيد المعلومات نص تشفير مشفر، و AESCipher.decrypt(key, data) يسترد النص الأصلي. لضبط واضح في الجرح،, encryptWithIV(key, iv, plaintext) و decryptWithIV(key, iv, cipherText) توفير عملية تحديدية.

PDF/A تأكيد الامتثال

المكتبة تشمل: ActionRules و ActionFixes للتحقق من الامتثال PDF/A، و تصحيح. ActionRules.validate() التحقق من الإجراءات المحظورة في الكتالوج، الصفحة، و إدخالات الويجيت. ActionFixes يقدم طرق مثل: removeCatalogAA(), removePageAA(),، و removeWidgetAA() لإصلاح قاموسات الإجراء غير المتوافقة. بنفس الطريقة،, AnnotationRules و AnnotationFixes التعامل مع الامتثال للتعليقات.

الأدوات: العناوين، والكلمات اللامتناهية، وعلامات المياه

المجلس الوزاري Artifact نماذج الفئة و زينة الصفحة مثل العناوين، والأسفل، وعلامات الماء، صور الخلفية. ArtifactCollection,، يمكن الوصول إليها عبر موارد الصفحة، وتسمح بإعداد و إزالة الأشياء الأثرية. التكرار page.getArtifacts() و يتصلون ArtifactCollection.delete(artifact) يزيل مادة معينة دون تعديل تدوين محتوى التدفقات مباشرة.

تصميم الصفحة

المجلس الوزاري BmpDevice تصدر الصفحات PDF مباشرة إلى ملفات BMP باستخدام process(page, outputPath).هذا مفيد لتوليد الصور الصغيرة، ومشاهدة المستندات في مقدمة العرض., أو أنابيب معالجة الصور.

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