Introduction
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 عمومی را در سه بسته سازماندهی می کند. اضافه کردن این بیانیه های بسته به هر فایل منبع جاوا که از 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 برای تنظیم محتوای در داخل محدودیت های صفحه موجود.
Annotations
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 برای بصری خود محل سکونت : The 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 Encryption
و این AESCipher کلاس ها AES رمزگذاری را در حالت CBC برای رمزنگاری و رمز عبور اجرا می کنند. بایت داده ها در اسناد PDF قرار گرفته است. AESCipher.encrypt(key, data) بازگشت به در این مقاله به بررسی تکنولوژی CYPERTEX و… AESCipher.decrypt(key, data) مطالبات اصلی را به صورت مجوز ارسال کنید. برای کنترل صریح IV،, 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).این کار برای تولید کوچک، پیش نمایش اسناد مفید است., یا لوله های پردازش مبتنی بر تصویر.