Last chance! 50% off DataCamp Premium
Sale ends in
PDF एक पोर्टेबल डॉक्युमेंट फॉर्मेट है जिसमें पाठ, चित्र, चार्ट आदि शामिल हो सकते हैं, जो सादे टेक्स्ट फ़ाइलों से भिन्न होता है। यह एक ऐसी फ़ाइल है जिसका एक्सटेंशन '.pdf' होता है और इसे Adobe ने विकसित किया है। इस प्रकार की फ़ाइल किसी भी प्लेटफ़ॉर्म जैसे सॉफ़्टवेयर, हार्डवेयर और ऑपरेटिंग सिस्टम से स्वतंत्र होती है।
आपको "pypdf2" नाम का पैकेज इंस्टॉल करना होगा, जो '.pdf' एक्सटेंशन वाली फ़ाइलों को संभाल सकता है। 
आप देख सकते हैं कि 'pypdf2' पैकेज इंस्टॉल हो चुका है और नीचे दिख रहा है। 
आप pdf फ़ाइल से केवल टेक्स्ट निकालेंगे, क्योंकि PyPDF2 में रिच मीडिया कंटेंट निकालने की सीमाएँ हैं। लोगो, चित्र आदि इससे एक्सट्रैक्ट नहीं किए जा सकते — इस ट्यूटोरियल के साथ काम करने के लिए नीचे दी गई pdf फ़ाइल डाउनलोड करनी होगी।
Pdf फ़ाइल डाउनलोड करें

ऊपर दिए गए कोड में 'import' स्टेटमेंट PyPDF2 मॉड्यूल लाता है। आपको 'open('pdfFileName' , 'openingMode')' का प्रयोग करना है, जहाँ 'pdfFilename' 'test.pdf' है और 'openingMode' 'rb' है, जो बाइनरी फॉर्मेट में केवल पढ़ने के लिए होता है।

PyPDF2 में 'PdfFileReader' नाम की एक विधि है, जो नए बनाए गए ऑब्जेक्ट 'pdfFileObject' को लेती है। अब आप 'pdfFileObject' से 'numPages' नामक एट्रिब्यूट एक्सेस कर सकते हैं, जो पेजों की कुल संख्या देता है।
ऊपर दिया आउटपुट 1 है। चूँकि आप देख सकते हैं कि pdf फ़ाइल केवल एक पेज की है।
आप पहले पेज को पाने के लिए pdfReaderObject के अंदर 'getPage(0)' विधि का उपयोग कर सकते हैं। परिणाम 'firstPageObject' में स्टोर होता है, जहाँ उस विशेष पेज के सभी टेक्स्ट को 'extractText()' विधि का उपयोग करके प्रिंट किया जा सकता है।
ऊपर दिया कोड pdf फ़ाइल से सारा टेक्स्ट देता है। हालाँकि, टर्मिनल में इमेज नहीं दिखती, जिसे pyPDF2 से प्राप्त नहीं किया जा सकता।
आप दो अलग-अलग pdf फ़ाइलों को एक ही pdf फ़ाइल में मर्ज करेंगे। पुरानी PDF फ़ाइल वही है जिस पर आपने पहले काम किया है, जबकि नई PDF फ़ाइल नीचे दिए गए लिंक से डाउनलोड की जा सकती है:
नई PDF फ़ाइल।

आप PyPDF2 पैकेज से PdfFileMerger मॉड्यूल आयात करेंगे, जो pdf फ़ाइलों को मर्ज करने में मदद करता है। 'path' निर्दिष्ट किया जाता है, जो उस फ़ोल्डर का पथ बताता है जहाँ फ़ाइलें स्थित हैं। साथ ही, मर्ज की जाने वाली pdf फ़ाइलें सूची में 'pdf_files' के रूप में शामिल की जाती हैं।
आप देख सकते हैं कि 'PdfFileMerger' की मदद से merger ऑब्जेक्ट बनाया गया है। सूची में प्रत्येक फ़ाइल के लिए लूपिंग की जाती है, जहाँ 'append' विधि को पथ और फ़ाइल पास करके मर्जिंग होती है। अंत में, 'merger.write()' का उपयोग करके अंतिम आउटपुट प्राप्त किया जा सकता है, जिससे नई PDF फ़ाइलनाम के साथ मर्ज की गई सामग्री मिलती है।
ऊपर दी गई तस्वीर 'merged.pdf' को दर्शाती है, जिसमें 'test.pdf' और 'test-1.pdf' से मर्ज की गई सामग्री शामिल है।
Word दस्तावेज़ों के फ़ाइलनाम के अंत में ".docx" एक्सटेंशन होता है। ये दस्तावेज़ केवल सादे टेक्स्ट फ़ाइलों की तरह पाठ ही नहीं रखते, बल्कि रिच-टेक्स्ट दस्तावेज़ होते हैं। रिच-टेक्स्ट दस्तावेज़ में दस्तावेज़ की विभिन्न संरचनाएँ होती हैं, जिनसे आकार, संरेखण, रंग, चित्र, फ़ॉन्ट आदि जुड़े होते हैं।
Word दस्तावेज़ों पर काम करने के लिए आपको एक एप्लिकेशन की आवश्यकता होगी। Windows और Mac ऑपरेटिंग सिस्टम के लिए लोकप्रिय एप्लिकेशन Microsoft Word है, लेकिन यह एक सशुल्क सब्सक्रिप्शन प्लेटफ़ॉर्म है। हालाँकि, "LibreOffice" जैसा निःशुल्क विकल्प उपलब्ध है, जो Linux में एक एप्लिकेशन है और प्री-इंस्टॉल आता है। इन एप्लिकेशनों को Windows और Mac ऑपरेटिंग सिस्टम के लिए डाउनलोड किया जा सकता है। इस ट्यूटोरियल में Windows ऑपरेटिंग सिस्टम पर Microsoft Word का उपयोग किया जाएगा।
आपको "python-docx" नाम का पैकेज इंस्टॉल करना होगा, जो '.docx' एक्सटेंशन वाले Word दस्तावेज़ों को संभाल सकता है। 
आप देख सकते हैं कि 'python-docx' पैकेज इंस्टॉल हो चुका है और नीचे दिख रहा है। 
आप Python के इंटरैक्टिव शेल में साथ-साथ कोड लिख सकते हैं, लेकिन Text Editor का उपयोग करना बेहतर है। इसलिए, इस ट्यूटोरियल के कोडिंग भाग के लिए Sublime Text का उपयोग किया गया है।

आप ऊपर देख सकते हैं कि पहली पंक्ति में 'docx' पैकेज से 'document' मॉड्यूल आयात किया गया है। दूसरी पंक्ति का कोड Document ऑब्जेक्ट की मदद से एक नया Word दस्तावेज़ बनाता है। फ़ाइलनाम 'document.save()' का उपयोग करके 'first.docx' के रूप में सहेजा जाता है।

ऊपर दिए गए कोड में 'Document()' एक नई फ़ाइल खोलता है और 'document.save('addHeader.docx')' का उपयोग एक नई संपादित docx फ़ाइल बनाने के लिए किया जाता है। आप 'add_heading('text,' level=number)' विधि के जरिए हेडिंग जोड़ सकते हैं, जो टेक्स्ट को हेडिंग के रूप में लेती है और हेडिंग लेवल 0 से 4 तक होता है।

ऊपर दिया कोड 'addedHeader.docx' नाम की नई बनाई गई फ़ाइल देता है, जहाँ level 0 टेक्स्ट के नीचे क्षैतिज रेखा के साथ एक हेडलाइन बनाता है, जबकि heading level 1 मुख्य हेडिंग होता है। इसी तरह, अन्य हेडिंग्स उप-शीर्षक होते हैं जिनके फ़ॉन्ट-साइज़ घटते क्रम में होते हैं।

ऊपर दिए गए कोड में 'Document()' एक नया दस्तावेज़ फ़ाइल खोलता है और 'document.save('addParagraph.docx')' का उपयोग नई संपादित docx फ़ाइल बनाने के लिए किया जाता है। आप 'add_paragraph('text,' style='required_style')' विधि के जरिए अनुच्छेद जोड़ सकते हैं, जो टेक्स्ट लेती है और 'style' एक वैकल्पिक आर्ग्युमेंट है, जहाँ 'List Number' और 'List Bullet' का उपयोग किया जा सकता है।

ऊपर दिया कोड 'addedParagraph.docx' नाम की नई बनाई गई फ़ाइल देता है, जिसमें पहली पंक्ति में एक साधारण अनुच्छेद है। इसी तरह, एक हेडिंग है और उसके नीचे एक क्रमबद्ध सूची है जिसमें आइटम 1 और 2 हैं। उसके नीचे एक और हेडिंग है, जिसमें बिना क्रम वाली बुलेट सूची में दो आइटम हैं।

ऊपर दिए गए कोड में 'Document()' एक नया दस्तावेज़ फ़ाइल बनाता है और 'document.save('addPicture.docx')' का उपयोग नई संपादित docx फ़ाइल बनाने के लिए किया जाता है। आप 'add_picture()' का उपयोग करके चित्र जोड़ सकते हैं, जिसमें पहला पैरामीटर 'cat-1.jpeg' है, जो बिल्ली के चित्र का पथ है। चौड़ाई और ऊँचाई वैकल्पिक पैरामीटर हैं जिनका डिफ़ॉल्ट '72 dp' होता है, लेकिन हमने अपने उद्देश्य के लिए 'Inches' का उपयोग किया है।

ऊपर दिया कोड 'addedPicture.docx' नाम की नई बनाई गई फ़ाइल देता है, जिसमें एक बिल्ली की तस्वीर है, जिसकी चौड़ाई और ऊँचाई 1.25 इंच है।
अब आप Python से एक सैंपल Word दस्तावेज़ पढ़ेंगे, जिसे यहाँ पाया जा सकता है:
सैंपल डाउनलोड करें।

कोड की पहली पंक्ति 'docx' मॉड्यूल से Document आयात करती है, जिसका उपयोग आवश्यक दस्तावेज़ फ़ाइल पास करने और एक ऑब्जेक्ट बनाने के लिए किया जाता है। 'obtainText' एक फ़ंक्शन है जो 'fullText.docx' फ़ाइल प्राप्त करता है। प्रत्येक अनुच्छेद के लिए लूपिंग की जाती है, जिसे 'document.paragraphs' द्वारा एक्सेस किया जाता है, और 'append' विधि का उपयोग करके एक खाली सूची में डाला जाता है। अंत में, फ़ंक्शन नई पंक्ति के साथ समाप्त होने वाली अनुच्छेदों की सूची लौटाता है।

ऊपर दिया आउटपुट साधारण टेक्स्ट देता है, जिसमें कोई शैली, रंग आदि नहीं है, यानी यह रिच-टेक्स्ट दस्तावेज़ नहीं है।
बधाई हो, आपने यह ट्यूटोरियल पढ़ना पूरा कर लिया है।
यदि आप Python में डेटा इम्पोर्ट करने के बारे में और सीखना चाहते हैं, तो DataCamp का Introduction to Importing Data in Python कोर्स आज़माएँ।
हमारा Python Data Structures Tutorial देखें।
आप निम्नलिखित संसाधनों को भी देख सकते हैं, जो विशिष्ट विषयों पर आपका ज्ञान बढ़ाने में मदद करेंगे।
संदर्भ:
Automate Boring Stuff With Python: Word दस्तावेज़ों के साथ काम करना
Python के बारे में और जानें
कोर्स
कोर्स
कोर्स