저는 독자적으로 수행 할 수 있었던 두 가지 다른 것들을 병합하려고합니다. 불행히도 PDFMiner 문서는 전혀 유용하지 않습니다..PDF를 반복하고 PDFMiner를 사용하여 .txt로 변환하십시오.
PDF 파일이 백 가지 인 폴더가 있습니다. 이름은 "[0-9].pdf"
이며 특별한 순서는 없으며 파일을 정렬하는 데 신경 쓰지 않아도됩니다. 나는 그들을 통해 가서 텍스트로 변환하는 방법이 필요합니다.
이 게시물 사용 : Extracting text from a PDF file using PDFMiner in python? - 하나의 PDF에서 텍스트를 성공적으로 추출 할 수있었습니다.
이 게시물 중 일부는 : batch process text to csv using python - PDF로 가득 찬 폴더를 열어보고 작업하는 방법을 결정하는 데 유용했습니다.
이제는 어떻게 하나씩 PDF를 열고 텍스트 개체로 변환하고 동일한 original-filename.txt
텍스트 파일로 저장 한 다음 디렉토리의 다음 PDF. 내가 컴파일 오류를 얻을
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
import os
import glob
directory = r'./Documents/003/' #path
pdfFiles = glob.glob(os.path.join(directory, '*.pdf'))
resourceManager = PDFResourceManager()
returnString = StringIO()
codec = 'utf-8'
laParams = LAParams()
device = TextConverter(resourceManager, returnString, codec=codec, laparams=laParams)
interpreter = PDFPageInterpreter(resourceManager, device)
password = ""
maxPages = 0
caching = True
pageNums=set()
for one_pdf in pdfFiles:
print("Processing file: " + str(one_pdf))
fp = file(one_pdf, 'rb')
for page in PDFPage.get_pages(fp, pageNums, maxpages=maxPages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = returnString.getvalue()
filenameString = str(one_pdf) + ".txt"
text_file = open(filenameString, "w")
text_file.write(text)
text_file.close()
fp.close()
device.close()
returnString.close()
,하지만 내 코드는 아무것도하지 않습니다
여기 내 코드입니다.
도움 주셔서 감사합니다.
Humm! 'pdfFiles' 파일이 비어있을 수 있습니다 ... 확인할 수 있습니까? –
'for ... '앞에'print (pdfFiles)'의 출력이 보일 수도 있습니다. – stovfl
아무 것도 보이지 않아서'pdfFiles'는 비어 있다고 생각합니다. 하지만 그 이유는 무엇일까요? @LaurentLAPORTE @stovfl – kabaname