Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में पीडीएफ फाइलों के साथ काम करना?

पायथन एक बहुत ही बहुमुखी भाषा है क्योंकि यह विभिन्न आवश्यकताओं पर काम करने के लिए पुस्तकालयों का विशाल समूह प्रदान करता है। हम सभी पोर्टेबल डॉक्यूमेंट फॉर्मेट (पीडीएफ) फाइलों पर काम करते हैं। पायथन पीडीएफ फाइलों के साथ काम करने के विभिन्न तरीके प्रदान करता है। इसमें हम pdf फ़ाइल के साथ काम करने के लिए PyPDF2 नामक अजगर पुस्तकालय का उपयोग करने जा रहे हैं।

PyPDF2 एक शुद्ध-पायथन पीडीएफ लाइब्रेरी है जो पीडीएफ फाइलों के पृष्ठों को विभाजित करने, एक साथ विलय करने, क्रॉप करने और बदलने में सक्षम है। यह पीडीएफ फाइलों में कस्टम डेटा, देखने के विकल्प और पासवर्ड भी जोड़ सकता है। यह पीडीएफ़ से टेक्स्ट और मेटाडेटा को पुनः प्राप्त कर सकता है और साथ ही पूरी फाइलों को एक साथ मर्ज कर सकता है।

चूंकि हम पीईपीडीएफ 2 के साथ पीडीएफ पर कई ऑपरेशन कर सकते हैं, इसलिए यह स्विस-सेना चाकू की तरह काम करता है।

आरंभ करना

क्योंकि pypdf2 एक मानक पायथन पैकेज है, इसलिए हमें इसे स्थापित करने की आवश्यकता है। अच्छी बात यह है कि यह बहुत आसान है, हम इसे स्थापित करने के लिए पाइप का उपयोग कर सकते हैं। बस अपने कमांड टर्मिनल पर कमांड के नीचे चलाएँ:

C:\Users\rajesh>pip install pypdf2
Collecting pypdf2
Downloading https://files.pythonhosted.org/packages/b4/01/68fcc0d43daf4c6bdbc6b33cc3f77bda531c86b174cac56ef0ffdb96faab/PyPDF2-1.26.0.tar.gz (77kB)
100% |████████████████████████████████| 81kB 83kB/s
Building wheels for collected packages: pypdf2
Building wheel for pypdf2 (setup.py) ... done
Stored in directory: C:\Users\rajesh\AppData\Local\pip\Cache\wheels\53\84\19\35bc977c8bf5f0c23a8a011aa958acd4da4bbd7a229315c1b7
Successfully built pypdf2
Installing collected packages: pypdf2
Successfully installed pypdf2-1.26.0

सत्यापित करने के लिए, pypdf2 को पायथन शेल से आयात करें

>>> import PyPDF2
>>>
Successful, Great.

मेटाडेटा निकालना

हम किसी भी पीडीएफ से कुछ महत्वपूर्ण उपयोगी डेटा निकाल सकते हैं। उदाहरण के लिए, हम दस्तावेज़ के लेखक, उसके शीर्षक, विषय और पीडीएफ फाइल में निहित पृष्ठों की संख्या के बारे में जानकारी निकाल सकते हैं।

pypdf2 पैकेज का उपयोग करके पीडीएफ फाइल से उपयोगी जानकारी निकालने के लिए पायथन प्रोग्राम नीचे दिया गया है।

from PyPDF2 import PdfFileReader
def extract_pdfMeta(path):
   with open(path, 'rb') as f:
      pdf = PdfFileReader(f)
      info = pdf.getDocumentInfo()
      number_of_pages = pdf.getNumPages()
   print("Author: \t", info.author)
   print()
   print("Creator: \t", info.creator)
   print()
   print("Producer: \t",info.producer)
   print()
   print("Subject: \t", info.subject)
   print()
   print("title: \t",info.title)
   print()
   print("Number of Pages in pdf: \t",number_of_pages)
if __name__ == '__main__':
   path = 'DeepLearning.pdf'
   extract_pdfMeta(path)

आउटपुट

Author: Nikhil Buduma,Nicholas Locascio

Creator: AH CSS Formatter V6.2 MR4 for Linux64 : 6.2.6.18551 (2014/09/24 15:00JST)

Producer: Antenna House PDF Output Library 6.2.609 (Linux64)

Subject: None

title: Fundamentals of Deep Learning

Number of Pages in pdf: 298

तो पीडीएफ फाइल खोले बिना, हम पीडीएफ फाइल से कुछ उपयोगी जानकारी प्राप्त करने में सक्षम हैं।

पीडीएफ से टेक्स्ट निकालना

हम पीडीएफ से टेक्स्ट निकाल सकते हैं। हालांकि इसमें छवियों को निकालने के लिए अंतर्निहित समर्थन है।

आइए ऊपर डाउनलोड की गई पीडीएफ़ फ़ाइल के किसी विशेष पृष्ठ (उदाहरण के लिए:पृष्ठ 50) से टेक्स्ट निकालने का प्रयास करें।

#Import pypdf2
from PyPDF2 import PdfFileReader
def extract_pdfText(path):
   with open(path, 'rb') as f:
      pdf = PdfFileReader(f)
      # get the 50th page
      page = pdf.getPage(50)
      print(page)
      print('Page type: {}'.format(str(type(page))))
      #Extract text from the 50th page
      text = page.extractText()
      print(text)
if __name__ == '__main__':
   path = 'DeepLearning.pdf'
   extract_pdfText(path)

आउटपुट

{'/Annots': IndirectObject(1421, 0),
'/Contents': IndirectObject(179, 0),
'/CropBox': [0, 0, 595.3, 841.9],
'/Group': {'/CS': '/DeviceRGB', '/S': '/Transparency', '/Type': '/Group'},
'/MediaBox': [0, 0, 504, 661.5],
'/Parent': IndirectObject(4863, 0),
'/Resources': IndirectObject(1423, 0),
'/Rotate': 0,
'/Type':
'/Page'
}

Page type: <class 'PyPDF2.pdf.PageObject'>
time. In inverted dropout, any neuron whose activation hasn†t been silenced has its
output divided by p before the value is propagated to the next layer. With this
fix, Eoutput=p⁄xp+1ƒ
p⁄0=
x, and we can avoid arbitrarily scaling neuronal
output at test time.

SummaryIn this chapter, we†ve learned all of the basics involved in training feed-forward neural
networks. We†ve talked about gradient descent, the backpropagation algorithm, as
well as various methods we can use to prevent overfitting. In the next chapter, we†ll
put these lessons into practice when we use the TensorFlow library to efficiently
implement our first neural networks. Then in
Chapter 4

, we†ll return to the problem
of optimizing objective functions for training neural networks and design algorithmsto significantly improve performance. These improvements will enable us to process
much more data, which means we†ll be able to build more comprehensive models.
Summary | 37

हालाँकि हम पृष्ठ 50 से कुछ पाठ प्राप्त करने में सक्षम हैं, लेकिन यह उतना साफ नहीं है। दुर्भाग्य से, pypdf2 के पास पीडीएफ़ से टेक्स्ट निकालने के लिए बहुत सीमित समर्थन है।

पीडीएफ फाइल के विशेष पेज को घुमाएं

>>> import PyPDF2
>>> deeplearningFile = open('DeepLearning.pdf', 'rb')
>>> pdfReader = PyPDF2.PdfFileReader(deeplearningFile)
>>> page = pdfReader.getPage(0)
>>> page.rotateClockwise(90)
{
'/Contents': [IndirectObject(4870, 0), IndirectObject(4871, 0), IndirectObject(4872, 0), IndirectObject(4873, 0), IndirectObject(4874, 0), IndirectObject(4875, 0), IndirectObject(4876, 0), IndirectObject(4877, 0)],

'/CropBox': [0, 0, 595.3, 841.9],

'/MediaBox': [0, 0, 504, 661.5], '/Parent': IndirectObject(4862, 0), '/Resources': IndirectObject(4889, 0),
'/Rotate': 90,
/Type': '/Page'
}
>>> pdfWriter = PyPDF2.PdfFileWriter()
>>> pdfWriter.addPage(page)
>>> resultPdfFile = open('rotatedPage.pdf', 'wb')
>>> pdfWriter.write(resultPdfFile)
>>> resultPdfFile.close()
>>> deeplearningFile.close()

आउटपुट

पायथन में पीडीएफ फाइलों के साथ काम करना?


  1. पायथन में पीडीएफ फाइलों को कैसे क्रैक करें?

    पायथन में पुस्तकालयों का एक समृद्ध संग्रह है जिसका उपयोग अनुप्रयोगों को बनाने और विकसित करने, वेब विकास, वैज्ञानिक गणना, सॉफ्टवेयर परीक्षण, मशीन सीखने और कई अन्य उद्देश्यों के लिए किया जाता है। पायथन का उपयोग सूचना सुरक्षा के संदर्भ में सिस्टम अनुप्रयोगों के परीक्षण और विकास के लिए भी किया जाता है।

  1. पायथन का आंतरिक कार्य

    इस लेख में, हम पाइथन के आंतरिक कामकाज के बारे में जानेंगे और पाइथन इंटरप्रेटर द्वारा मेमोरी में विभिन्न वस्तुओं को कैसे आवंटित किया जाता है। पायथन जावा की तरह एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कंस्ट्रक्शन लैंग्वेज है। पायथन एक दुभाषिया का उपयोग करता है और इसलिए इसे एक व्याख्या की गई भाषा कहा जाता ह

  1. पायथन में छवियों के साथ काम करना?

    सबसे लोकप्रिय में से एक और छवि प्रसंस्करण के लिए अजगर के डिफ़ॉल्ट पुस्तकालय के रूप में माना जाता है तकिया है। पिलो पायथन इमेज लाइब्रेरी या पीआईएल का एक अद्यतन संस्करण है और सरल और उन्नत छवि हेरफेर कार्यक्षमता की एक श्रृंखला का समर्थन करता है। यह अन्य पायथन पुस्तकालयों जैसे कि sciPy और Matplotlib में