PDFBox - कई लाइनें जोड़ना
पिछले अध्याय में दिए गए उदाहरण में हमने चर्चा की कि एक पीडीएफ में पृष्ठ पर पाठ कैसे जोड़ा जाए लेकिन इस कार्यक्रम के माध्यम से, आप केवल एक पंक्ति में फिट होने वाले पाठ को जोड़ सकते हैं। यदि आप अधिक सामग्री जोड़ने का प्रयास करते हैं, तो पंक्ति स्थान से अधिक के सभी पाठ प्रदर्शित नहीं होंगे।
उदाहरण के लिए, यदि आप उपरोक्त स्ट्रिंग को पारित करके पिछले अध्याय में उपरोक्त कार्यक्रम को निष्पादित करते हैं तो इसका एक हिस्सा ही प्रदर्शित किया जाएगा।
String text = "This is an example of adding text to a page in the pdf document. we can
add as many lines as we want like this using the showText() method of the
ContentStream class";
बदलो string textउपर्युक्त स्ट्रिंग के साथ पिछले अध्याय में उदाहरण और इसे निष्पादित करें। निष्पादन के बाद, आप निम्न आउटपुट प्राप्त करेंगे।
यदि आप आउटपुट को ध्यान से देखते हैं, तो आप देख सकते हैं कि स्ट्रिंग का केवल एक भाग प्रदर्शित किया गया है।
पीडीएफ में कई लाइनों को जोड़ने के लिए आपको निम्नलिखित का उपयोग करके अग्रणी सेट करना होगा setLeading() विधि और नई लाइन का उपयोग करने के लिए बदलाव newline() विधि प्रत्येक पंक्ति को समाप्त करने के बाद।
कदम
एक खाली दस्तावेज़ बनाने और उसमें एक पृष्ठ पर सामग्री जोड़ने के लिए निम्नलिखित चरण हैं।
चरण 1: एक मौजूदा दस्तावेज़ लोड हो रहा है
आप किसी मौजूदा दस्तावेज़ का उपयोग करके लोड कर सकते हैं load()PDDocument वर्ग की विधि। इसलिए, इस क्लास को तुरंत करें और आवश्यक दस्तावेज को नीचे दिखाए अनुसार लोड करें।
File file = new File("Path of the document");
PDDocument doc = PDDocument.load(file);
चरण 2: आवश्यक पृष्ठ प्राप्त करना
आप दस्तावेज़ का उपयोग करके आवश्यक पृष्ठ प्राप्त कर सकते हैं getPage()तरीका। नीचे दिखाए गए अनुसार इस विधि में अपने सूचकांक को पास करके आवश्यक पृष्ठ की वस्तु को पुनः प्राप्त करें।
PDPage page = doc.getPage(1);
चरण 3: सामग्री स्ट्रीम तैयार करना
आप नामित वर्ग के ऑब्जेक्ट का उपयोग करके विभिन्न प्रकार के डेटा तत्व सम्मिलित कर सकते हैं PDPageContentStream। आपको इस वर्ग के निर्माता को दस्तावेज़ ऑब्जेक्ट और पृष्ठ ऑब्जेक्ट को पास करने की आवश्यकता है, इसलिए, पिछले चरणों में बनाई गई इन दो वस्तुओं को नीचे दिखाए गए अनुसार पास करके इस वर्ग को त्वरित करें।
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
चरण 4: पाठ की शुरुआत
एक पीडीएफ दस्तावेज़ में पाठ सम्मिलित करते समय, आप पाठ के प्रारंभ और अंत बिंदुओं का उपयोग करके निर्दिष्ट कर सकते हैं beginText() तथा endText() के तरीके PDPageContentStream नीचे दिखाया गया है।
contentStream.beginText();
………………………..
code to add text content
………………………..
contentStream.endText();
इसलिए, पाठ का उपयोग शुरू करें beginText() नीचे दिखाए अनुसार विधि।
contentStream.beginText();
चरण 5: पाठ की स्थिति निर्धारित करना
का उपयोग करते हुए newLineAtOffset() विधि, आप पृष्ठ में सामग्री स्ट्रीम पर स्थिति सेट कर सकते हैं।
//Setting the position for the line
contentStream.newLineAtOffset(25, 700);
चरण 6: फ़ॉन्ट सेट करना
आप आवश्यक शैली में पाठ का फ़ॉन्ट सेट कर सकते हैं setFont() की विधि PDPageContentStream वर्ग के रूप में नीचे दिखाया गया है इस विधि में आपको फ़ॉन्ट के प्रकार और आकार को पास करने की आवश्यकता है।
contentStream.setFont( font_type, font_size );
स्टेप 7: टेक्स्ट लीडिंग सेट करना
आप पाठ का उपयोग करके अग्रणी सेट कर सकते हैं setLeading() नीचे दिखाए अनुसार विधि।
contentStream.setLeading(14.5f);
चरण 8: नई लाइन का उपयोग करके कई स्ट्रिंग्स सम्मिलित करना ()
आप का उपयोग करके कई तार सम्मिलित कर सकते हैं ShowText() की विधि PDPageContentStream वर्ग, उनमें से प्रत्येक का उपयोग करके विभाजित करके newline() नीचे दिखाए अनुसार विधि।
contentStream. ShowText(text1);
contentStream.newLine();
contentStream. ShowText(text2);
चरण 9: पाठ को समाप्त करना
पाठ सम्मिलित करने के बाद, आपको पाठ का उपयोग करके समाप्त करना होगा endText() की विधि PDPageContentStream नीचे दिखाया गया है।
contentStream.endText();
चरण 10: PDPageContentStream को बंद करना
बंद करो PDPageContentStream का उपयोग कर वस्तु close() नीचे दिखाए अनुसार विधि।
contentstream.close();
चरण 11: दस्तावेज़ सहेजना
आवश्यक सामग्री जोड़ने के बाद, पीडीएफ डॉक्यूमेंट को सेव करें save() की विधि PDDocument निम्न कोड ब्लॉक में दिखाया गया है।
doc.save("Path");
चरण 12: दस्तावेज़ को बंद करना
अंत में, दस्तावेज़ का उपयोग करके बंद करें close() की विधि PDDocument नीचे दिखाया गया है।
doc.close();
उदाहरण
यह उदाहरण प्रदर्शित करता है कि पीडीएफबॉक्स में पीडीएफ में कई लाइनों को कैसे जोड़ा जाए। इस प्रोग्राम को नाम वाली फ़ाइल में सहेजेंAddMultipleLines.java.
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class AddMultipleLines {
public static void main(String args[]) throws IOException {
//Loading an existing document
File file = new File("C:/PdfBox_Examples/my_pdf.pdf");
PDDocument doc = document.load(file);
//Creating a PDF Document
PDPage page = doc.getPage(1);
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
//Begin the Content stream
contentStream.beginText();
//Setting the font to the Content stream
contentStream.setFont( PDType1Font.TIMES_ROMAN, 16 );
//Setting the leading
contentStream.setLeading(14.5f);
//Setting the position for the line
contentStream.newLineAtOffset(25, 725);
String text1 = "This is an example of adding text to a page in the pdf document.
we can add as many lines";
String text2 = "as we want like this using the ShowText() method of the
ContentStream class";
//Adding text in the form of string
contentStream. ShowText(text1);
contentStream.newLine();
contentStream. ShowText(text2);
//Ending the content stream
contentStream.endText();
System.out.println("Content added");
//Closing the content stream
contentStream.close();
//Saving the document
doc.save(new File("C:/PdfBox_Examples/new.pdf"));
//Closing the document
doc.close();
}
}
निम्न आदेशों का उपयोग करके कमांड प्रॉम्प्ट से सहेजी गई जावा फ़ाइल को संकलित करें और निष्पादित करें।
javac AddMultipleLines.java
java AddMultipleLines
निष्पादन के बाद, उपरोक्त कार्यक्रम दस्तावेज़ में दिए गए पाठ को जोड़ता है और निम्नलिखित संदेश प्रदर्शित करता है।
Content added
यदि आप पीडीएफ डॉक्यूमेंट को सत्यापित करते हैं new.pdf निर्दिष्ट पथ में, आप देख सकते हैं कि दी गई सामग्री को कई लाइनों में दस्तावेज़ में जोड़ा गया है जैसा कि नीचे दिखाया गया है।