1. محصولات
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS - Aspose.PDF منبع باز برای Java

ایجاد و دستکاری اسناد PDF از Java — با حاشیه‌نویسی، فیلدهای فرم، دستکاری صفحات و سازگاری PDF/A. تحت مجوز MIT.

کتابخانه رایگان Java با مجوز MIT برای ایجاد و دستکاری PDF

Aspose.PDF FOSS برای Java یک کتابخانه Java تحت مجوز MIT برای ایجاد و کار با اسناد PDF است. این کتابخانه یک کلاس Document جامع به عنوان نقطه ورودی مرکزی ارائه می‌دهد، همراه با پوشش کامل حاشیه‌نویسی‌ها، فیلدهای فرم تعاملی، دستکاری صفحات، متادیتا و اعتبارسنجی سازگاری PDF/A.

کتابخانه 527 کلاس را که تمام مشخصات PDF را پوشش می‌دهند، در اختیار می‌گذارد: ساختار سند از طریق Document، Page و PageCollection؛ حاشیه‌نویسی‌ها از طریق سلسله‌مراتب Annotation (شامل WidgetAnnotation، FreeTextAnnotation و HighlightAnnotation)؛ فرم‌های تعاملی با Form، ButtonField، CheckboxField و RadioButtonField؛ رندر صفحه از طریق BmpDevice؛ و بررسی انطباق PDF/A از طریق ActionRules و ActionFixes. رمزنگاری از طریق AESCipher در حالت CBC فراهم می‌شود.

پکیج Aspose.PDF FOSS را به پروژه Maven خود اضافه کنید با استفاده از groupId org.aspose و artifactId aspose-pdf. این کتابخانه به Java 11 یا بالاتر نیاز دارد و به طور کامل دارای مجوز MIT است. برای ویژگی‌ها و پشتیبانی سازمانی، به Aspose.PDF for Java — Enterprise Product مراجعه کنید.

ساختار سند و مدیریت صفحات

  • API سند: از کلاس Document برای ایجاد اسناد PDF جدید استفاده کنید. اسناد موجود می‌توانند از طریق سازنده‌های Document(filePath) یا Document(stream) دسترسی پیدا کنند.
  • مدیریت صفحه: صفحات را از طریق PageCollection اضافه، دسترسی و اصلاح کنید. هر Page MediaBox، CropBox، چرخش، منابع و عملگرهای محتوا را در دسترس می‌گذارد.
  • Metadata: خواندن و نوشتن متادیتای سند از طریق DocumentInfo و XmpMetadata.
  • PDF structure: دسترسی به اشیای PDF زیرین از طریق getParser(), getCatalog() و getTrailer().
  • فایل‌های توکار: مجموعه‌های فایل‌های توکار را با getEmbeddedFiles() مدیریت کنید.

سناریوهای رایج پردازش اسناد

  • تولید PDF: اسناد را به‌صورت برنامه‌نویسی ایجاد کنید با ساخت یک Document و پر کردن صفحات.
  • تحلیل سند: دسترسی به فایل‌های موجود برای بازرسی متادیتا یا شمارش فیلدهای فرم.
  • دستکاری صفحات: تغییر اندازه، چرخش یا ترتیب مجدد صفحات با استفاده از PdfFileEditor و API Page.
  • Batch workflows: تبدیل‌های سازگار را در اسناد متعدد در خطوط لوله سمت سرور اعمال کنید.

حاشیه‌نویسی و فیلدهای فرم

  • Annotation hierarchy: کلاس انتزاعی Annotation پایه برای تمام حاشیه‌نویسی‌ها است؛ انواع مشخص شامل WidgetAnnotation، FreeTextAnnotation، HighlightAnnotation و UnderlineAnnotation هستند.
  • فرم‌های تعاملی: از طریق Document.getForm() به فرم سند دسترسی پیدا کنید تا نمونه‌های ButtonField، CheckboxField و RadioButtonField را شمارش یا ایجاد کنید.
  • ظاهر ویجت: ویژگی‌های بصری را از طریق AppearanceCharacteristics کنترل کنید — رنگ حاشیه، پس‌زمینه، چرخش و عنوان‌ها.
  • ویرایش فرم: از FormEditor و FormElement برای دستکاری فرم در سطح بالاتر استفاده کنید.

بازبینی اسناد و همکاری

  • حاشیه‌نویسی‌های نشانه‌گذاری: افزودن حاشیه‌نویسی‌های برجسته، زیرخط‌دار یا متن آزاد به اسناد برای جریان‌های کاری بازبینی.
  • فرم‌های تعاملی: اسناد قابل پر کردن را با دکمه‌های رادیویی، چک‌باکس‌ها و دکمه‌های فشار برای جمع‌آوری داده‌ها بسازید.
  • استخراج داده‌های فرم: مقادیر فیلدهای فرم ارسال‌شده را برای خطوط لوله سمت سرور بخوانید.
  • انطباق بایگانی: سندها را برای بایگانی طولانی‌مدت اعتبارسنجی و اصلاح کنید با استفاده از ActionRules و ActionFixes.

امنیت و عملیات محتوا

  • رمزنگاری AES: داده‌های آرایه بایت را با AESCipher با استفاده از حالت CBC (AESCipher.encrypt(key, data) و AESCipher.decrypt(key, data)) رمزنگاری و رمزگشایی کنید.
  • مدیریت آثار: شناسایی و دستکاری سرصفحه‌ها، پاورقی‌ها، واترمارک‌ها و تصاویر پس‌زمینه از طریق Artifact و ArtifactCollection APIs.
  • تغییر اندازه محتوا: تنظیم طرح‌بندی محتوای صفحه با PdfFileEditor.resizeContents() و ContentsResizeParameters.
  • اعتبارسنجی انطباق: قواعد حاشیه‌نویسی و اقدام را در مقابل استانداردهای PDF/A با استفاده از AnnotationRules و ActionRules اعتبارسنجی کنید.

موارد استفاده از امنیت اسناد

  • پلودهای رمزنگاری‌شده: از AESCipher برای رمزنگاری بخش‌های داده‌ای که در جریان‌های سند جاسازی شده‌اند استفاده کنید.
  • محافظت سند: تنظیمات امنیتی را برای کنترل دسترسی در جریان‌های کاری انطباق اعمال کنید.
  • آب‌نشان‌گذاری: تشخیص و مدیریت اشیای Artifact که نشانگرهای آب‌نشان و تزئینات صفحه را نمایندگی می‌کنند.
  • تطبیق بایگانی: دستورات ActionFixes و AnnotationFixes را اجرا کنید تا اسناد موجود با استانداردهای بایگانی PDF/A-1b مطابقت داشته باشند.

ایجاد سند با حاشیه‌نویسی ویجت

یک سند جدید ایجاد کنید، یک صفحه اضافه کنید، و یک حاشیه‌نویس ویجت با استایل پیوست کنید.

try (Document doc = new Document()) {
    Page page = doc.getPages().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("output.pdf");
}
```java
try (Document doc = new Document()) {
    Page page = doc.getPages().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("output.pdf");
}

ایجاد فرم با دکمه‌های رادیویی

یک گروه دکمه رادیویی به فرم سند اضافه کنید و مقدار را به‌صورت برنامه‌نویسی انتخاب کنید.

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

بررسی ابعاد صفحه سند

به یک سند موجود دسترسی پیدا کنید و ابعاد media box صفحه اول را بخوانید.

try (Document doc = new Document("input.pdf")) {
    double width = doc.getPages().get(1).getMediaBox().getWidth();
    double height = doc.getPages().get(1).getMediaBox().getHeight();
    System.out.println("Page size: " + width + " x " + height);
}
  

منابع پشتیبانی و آموزش

 فارسی