पायथन में मैं इस संदेश के नीचे दिए गए कोड के साथ पीडीएफ से पाठ पढ़ने के लिए pdfminer का उपयोग कर रहा हूं। जब मैं के साथ एक्रोबेट प्रो इस पीडीएफ खोलने यह पता चला है कि यह (या "संरक्षित पढ़ें") सुरक्षित हैपायथन में "सुरक्षित" (पढ़ा गया) पीडीएफ अनलॉक कैसे करें?
File "/usr/local/lib/python2.7/dist-packages/pdfminer/pdfpage.py", line 124, in get_pages
raise PDFTextExtractionNotAllowed('Text extraction is not allowed: %r' % fp)
PDFTextExtractionNotAllowed: Text extraction is not allowed: <cStringIO.StringO object at 0x7f79137a1
ab0>
: मैं अब कह एक त्रुटि संदेश मिलता है। this link तथापि से, मैंने पढ़ा है वहाँ जो उदाहरण pdfunlock.com। जब pdfminer के स्रोत में डाइविंग, मुझे लगता है कि त्रुटि ऊपर these lines पर उत्पन्न होता है।
if check_extractable and not doc.is_extractable:
raise PDFTextExtractionNotAllowed('Text extraction is not allowed: %r' % fp)
के लिए आसानी से इस पढ़ने के लिए सुरक्षा निष्क्रिय कर सकते हैं (सेवाओं की एक भीड़ है कि
चूंकि ऐसी कई सेवाएं हैं जो एक सेकंड के भीतर इस पठन-सुरक्षा को अक्षम कर सकती हैं, मुझे लगता है कि यह करना वास्तव में आसान है। ऐसा लगता है कि .is_extractable
doc
की एक साधारण विशेषता है, लेकिन मुझे नहीं लगता कि यह उतना आसान है .is_extractable
को सही में बदल रहा है ..
क्या कोई जानता है कि मैं कैसे पढ़ा समर्थक को अक्षम कर सकता हूं पायथन का उपयोग कर एक पीडीएफ पर tection? सभी सुझावों का स्वागत है!
============================================== ==
नीचे आपको वह कोड मिलेगा जिसके साथ मैं वर्तमान में गैर-संरक्षित संरक्षित से टेक्स्ट निकालता हूं।
def getTextFromPDF(rawFile):
resourceManager = PDFResourceManager(caching=True)
outfp = StringIO()
device = TextConverter(resourceManager, outfp, codec='utf-8', laparams=LAParams(), imagewriter=None)
interpreter = PDFPageInterpreter(resourceManager, device)
fileData = StringIO()
fileData.write(rawFile)
for page in PDFPage.get_pages(fileData, set(), maxpages=0, caching=True, check_extractable=True):
interpreter.process_page(page)
fileData.close()
device.close()
result = outfp.getvalue()
outfp.close()
return result
क्या आपने सही करने के लिए .is_extractable बदलने की कोशिश की है? वास्तव में एक उचित मौका है कि यह काम करेगा। – user3757614