पीडीएफ से HTML/XML रूपांतरण पायथन लाइब्रेरी
पीडीएफ दस्तावेजों को HTML और XML में परिवर्तित करने के लिए निःशुल्क और खुला स्रोत पायथन लाइब्रेरी।
pdfminer.six क्या है?
pdfminer.six एक स्वतंत्र और खुला स्रोत पायथन लाइब्रेरी है जिसका उपयोग पीडीएफ दस्तावेजों को अन्य प्रारूपों में परिवर्तित करने के लिए किया जा सकता है।
यहां इसकी मुख्य पीडीएफ रूपांतरण सुविधाओं की संक्षिप्त सूची दी गई है:
- पीडीएफ से HTML रूपांतरण: दस्तावेज़ की संरचना और लेआउट को संरक्षित करते हुए पीडीएफ दस्तावेज़ों को HTML प्रारूप में परिवर्तित करें।
- पीडीएफ से XML रूपांतरण: पीडीएफ फाइलों को XML प्रारूप में रूपांतरित करें, फ़ॉन्ट और अन्य तत्वों सहित सभी विवरणों को कैप्चर करें।
pdfminer.six के साथ आरंभ करना
Pypdf को इंस्टॉल और उपयोग करने के लिए आपको Python संस्करण 3.6.0 या उससे उच्चतर की आवश्यकता है। इसलिए, पहले Python इंस्टॉल करें और फिर pip और वर्चुअल एनवायरनमेंट का उपयोग करके अपनी मशीन पर pypdf इंस्टॉल करने के लिए नीचे दिए गए कमांड का उपयोग करें।
लिनक्स
python3 -m venv venv
source venv/bin/activate
pip install pdfminer.six
मैक ओएस
python -m venv venv
source venv/bin/activate
pip install pdfminer.six
विंडोज़
python3 -m venv venv
venv\Scripts\activate.bat
pip install pdfminer.six
पीडीएफ को HTML में बदलें
हम pdfminer.six लाइब्रेरी के extract_text_to_fp फ़ंक्शन (आउटपुट प्रकार को html पर सेट करके) का उपयोग करके एक PDF दस्तावेज़ को HTML प्रारूप में परिवर्तित कर सकते हैं, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:
उत्पादन
निम्न स्क्रीनशॉट में PDF दस्तावेज़ को परिवर्तित करके बनाई गई HTML फ़ाइल दिखाई गई है:
पीडीएफ को XML में परिवर्तित करना
हम लाइब्रेरी द्वारा प्रदान किए गए समान extract_text_to_fp फ़ंक्शन (लेकिन आउटपुट प्रकार को xml पर सेट करके) का उपयोग करके PDF दस्तावेज़ को XML प्रारूप में भी परिवर्तित कर सकते हैं, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:
उत्पादन
निम्न स्क्रीनशॉट में PDF दस्तावेज़ से परिवर्तित XML सामग्री दिखाई गई है:
निष्कर्ष
आम तौर पर, pdfminer.six बिना किसी समस्या के पीडीएफ दस्तावेजों को XML प्रारूप में परिवर्तित करने का समर्थन करता है, लेकिन जब पीडीएफ को HTML में बदलने का प्रयास किया जाता है, तो यह पाठ सामग्री को स्थानांतरित करने का प्रबंधन करता है, लेकिन अक्सर समग्र लेआउट को बाधित करता है।