Aspose.PDF FOSS for Java एक MIT-लाइसेंस वाला Java लाइब्रेरी है जो PDF दस्तावेज़ बनाने और उनके साथ काम करने के लिए है। यह एक व्यापक Document क्लास को केंद्रीय प्रवेश बिंदु के रूप में प्रदान करता है, साथ ही एनोटेशन, इंटरैक्टिव फ़ॉर्म फ़ील्ड, पेज मैनिपुलेशन, मेटाडेटा, और PDF/A अनुपालन सत्यापन का पूर्ण कवरेज देता है।
लाइब्रेरी 527 क्लासेज़ को उजागर करती है जो पूर्ण PDF विनिर्देश को कवर करती हैं: दस्तावेज़ संरचना Document, Page, और PageCollection के माध्यम से; एनोटेशन Annotation पदानुक्रम के माध्यम से (जिसमें WidgetAnnotation, FreeTextAnnotation, और HighlightAnnotation शामिल हैं); इंटरैक्टिव फ़ॉर्म Form, ButtonField, CheckboxField, और RadioButtonField के साथ; पेज रेंडरिंग BmpDevice के द्वारा; और PDF/A अनुपालन जाँच ActionRules और ActionFixes के माध्यम से। एन्क्रिप्शन AESCipher के द्वारा CBC मोड में प्रदान किया जाता है।
अपने Maven प्रोजेक्ट में Aspose.PDF FOSS जोड़ें, groupId org.aspose और artifactId aspose-pdf का उपयोग करके। लाइब्रेरी को Java 11 या बाद का संस्करण चाहिए और यह पूरी तरह से MIT-licensed है। एंटरप्राइज़ फीचर्स और सपोर्ट के लिए, देखें Aspose.PDF for Java — Enterprise Product।
Document क्लास का उपयोग करें। मौजूदा दस्तावेज़ों को Document(filePath) या Document(stream) कंस्ट्रक्टर्स के माध्यम से एक्सेस किया जा सकता है।PageCollection के माध्यम से। प्रत्येक Page MediaBox, CropBox, घूर्णन, संसाधन, और सामग्री ऑपरेटरों को उजागर करता है।DocumentInfo और XmpMetadata के माध्यम से पढ़ें और लिखें।getParser(), getCatalog() और getTrailer() का उपयोग करें।getEmbeddedFiles() के साथ प्रबंधित करें।Document बनाकर और पृष्ठों को भरकर।PdfFileEditor और Page API का उपयोग करके पृष्ठों को आकार बदलें, घुमाएँ, या पुनः क्रमित करें।Annotation क्लास सभी एनोटेशनों के लिए आधार है; ठोस प्रकारों में WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation, और UnderlineAnnotation शामिल हैं।Document.getForm() के माध्यम से दस्तावेज़ फ़ॉर्म तक पहुँचें ताकि ButtonField, CheckboxField, और RadioButtonField इंस्टेंस को गिनती या बनाया जा सके।AppearanceCharacteristics के माध्यम से दृश्य गुणों को नियंत्रित करें — बॉर्डर रंग, पृष्ठभूमि, घूर्णन, और कैप्शन।FormEditor और FormElement का उपयोग करें।ActionRules और ActionFixes का उपयोग करके।AESCipher.encrypt(key, data) और AESCipher.decrypt(key, data)) का उपयोग करके AESCipher के साथ डेटा बाइट एरेज़ को एन्क्रिप्ट और डिक्रिप्ट करें।Artifact और ArtifactCollection APIs के माध्यम से पहचानें और संशोधित करें।PdfFileEditor.resizeContents() और ContentsResizeParameters के साथ समायोजित करें।AnnotationRules और ActionRules का उपयोग करके सत्यापित करें।AESCipher का उपयोग करके डॉक्यूमेंट स्ट्रीम्स में एम्बेडेड डेटा सेक्शन को एन्क्रिप्ट करें।Artifact ऑब्जेक्ट्स का पता लगाएँ और प्रबंधित करें।ActionFixes और AnnotationFixes चलाएँ।एक नया दस्तावेज़ बनाएं, एक पृष्ठ जोड़ें, और स्टाइलिंग के साथ एक विजेट एनोटेशन संलग्न करें।
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");
}
एक मौजूदा दस्तावेज़ तक पहुँचें और पहले पृष्ठ के मीडिया बॉक्स आयाम पढ़ें।
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);
}