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 مراجعه کنید.
Document برای ایجاد اسناد PDF جدید استفاده کنید. اسناد موجود میتوانند از طریق سازندههای Document(filePath) یا Document(stream) دسترسی پیدا کنند.PageCollection اضافه، دسترسی و اصلاح کنید. هر Page MediaBox، CropBox، چرخش، منابع و عملگرهای محتوا را در دسترس میگذارد.DocumentInfo و XmpMetadata.getParser(), getCatalog() و getTrailer().getEmbeddedFiles() مدیریت کنید.Document و پر کردن صفحات.PdfFileEditor و API Page.Annotation پایه برای تمام حاشیهنویسیها است؛ انواع مشخص شامل WidgetAnnotation، FreeTextAnnotation، HighlightAnnotation و UnderlineAnnotation هستند.Document.getForm() به فرم سند دسترسی پیدا کنید تا نمونههای ButtonField، CheckboxField و RadioButtonField را شمارش یا ایجاد کنید.AppearanceCharacteristics کنترل کنید — رنگ حاشیه، پسزمینه، چرخش و عنوانها.FormEditor و FormElement برای دستکاری فرم در سطح بالاتر استفاده کنید.ActionRules و ActionFixes.AESCipher با استفاده از حالت CBC (AESCipher.encrypt(key, data) و AESCipher.decrypt(key, data)) رمزنگاری و رمزگشایی کنید.Artifact و ArtifactCollection APIs.PdfFileEditor.resizeContents() و ContentsResizeParameters.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);
}