Introduction

Aspose.PDF FOSS for Java is an MIT-licensed Java library for creating and manipulating यह MIT लाइसेंस के तहत GitHub पर उपलब्ध है और कोई API कुंजी की आवश्यकता नहीं है या व्यावसायिक समझौते. पुस्तकालय पूरे पीडीएफ को कवर करने के लिए 527 वर्गों का प्रदर्शन करता है दस्तावेज़ संरचना से नोटों, इंटरैक्टिव फॉर्म, पृष्ठ रेंडरिंग तक की विनिर्देश, और क्रिप्टोकरेंसी के काम।.

पुस्तकालय के आसपास बनाया गया है। Document कक्षा, जो मुख्य प्रवेश बिंदु है सभी पीडीएफ ऑपरेशन. एक नया दस्तावेज़ बनाना, पृष्ठों तक पहुंचने के लिए PageCollection, मेटाडेटा के माध्यम से पढ़ना DocumentInfo,या कैटलॉग के माध्यम से ब्राउज़ करें getCatalog() और getTrailer() सब कुछ एक के साथ शुरू होता है। Document उदाहरण के लिए।.

जल्दी शुरू करें

अपने आप में मेनू निर्भरता जोड़ें pom.xml:

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

पुस्तकालय सभी सार्वजनिक एपीआई वर्गों को तीन पैकेजों के तहत व्यवस्थित करता है. इन पैक बयानों में जोड़ें किसी भी जावा स्रोत फ़ाइल में जिसने एटीआई का उपयोग किया:

// 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 अपने प्रदर्शित करता है Geometry के माध्यम से 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 Abstract के बारे में Annotation विशिष्ट प्रकार के नोटिस शामिल हैं WidgetAnnotation के लिए नियंत्रण के रूप में, FreeTextAnnotation पाठ कॉल-आउट के लिए, HighlightAnnotation और UnderlineAnnotation मार्कअप के लिए, और CircleAnnotation और CaretAnnotation के लिए ग्राफिक नोट्स।.

प्रत्येक संदर्भ एक के साथ जुड़ा हुआ है। Page और A Rectangle अपनी जगह निर्धारित करें।. दृश्य गुणों को नियंत्रित किया जाता है AppearanceCharacteristics,जो दिखाता है setBorder(), setBackground(), setRotate(),और setCaption() अनुच्छेद - Annotations एक पृष्ठ के माध्यम से जोड़ा जाता है 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");
}

सुरक्षा: एईएस क्रिप्टोकरेंसी

के लिए AESCipher क्लास एईएस एन्क्रिप्शन को CBC मोड में एन्क्रिन और डिस्क्रिप्टिंग के लिए लागू करता है डेटा बाइट रैली पीडीएफ दस्तावेजों में अंतर्निहित है।. AESCipher.encrypt(key, data) वापस लौटते हैं क्रिप्टोकरेंसी का उपयोग करें, और AESCipher.decrypt(key, data) मूल शिकायत पत्र वापस लेते हैं।. 4. स्पष्ट नियंत्रण के लिए, encryptWithIV(key, iv, plaintext) और decryptWithIV(key, iv, cipherText) निर्णायक कार्य प्रदान करते हैं।.

PDF / A अनुपालन वैधता

पुस्तकालय में शामिल हैं ActionRules और ActionFixes PDF / A अनुपालन वैधता के लिए और सुधार के लिए।. ActionRules.validate() निषिद्ध कार्यों के लिए चेक कैटलॉग, पृष्ठ, और Widget इनपुट. ActionFixes ऐसे तरीके प्रदान करते हैं जैसे removeCatalogAA(), removePageAA(), और removeWidgetAA() गैर-संगत कार्य शब्दकोशों को ठीक करने के लिए।. इसी तरह, AnnotationRules और AnnotationFixes नोटिस का पालन करें।.

आर्टिफिशियल: हेडर्स, पैर और पानी के संकेत

के लिए Artifact क्लास मॉडल पृष्ठ सजावट जैसे हेडर्स, पैरों, पानी के निशान, और पृष्ठभूमि चित्र।. ArtifactCollection, पृष्ठ संसाधनों के माध्यम से उपलब्ध, सूचीबद्ध करने की अनुमति देता है और आर्टिफिशियल वस्तुओं को हटाने के लिए. Iterating page.getArtifacts() और कॉल ArtifactCollection.delete(artifact) बिना किसी परिवर्तन के विशिष्ट आर्टिफिशियल को हटा दें दस्तावेज़ सामग्री सीधे प्रवाह करती है।.

Page रेंडरिंग

के लिए BmpDevice क्लास पीडीएफ पृष्ठों को सीधे BMP छवि फ़ाइलों में रेंडिंग करता है process(page, outputPath).यह छोटे पैमाने के लिए उपयोगी है, दस्तावेज़ पूर्वावलोकन, या छवि-आधारित प्रसंस्करण पाइपलाइन।.

संबंधित संसाधन