重定向将pdf文件转换为txt文件的函数的输出到python 3中的新文件夹

时间:2019-06-06 11:40:30

标签: python-3.x file-io output file-handling pdfminer

我的代码使用pdfminer将pdf转换为文本。我想在一个新文件夹中获取这些文件的输出。目前,它位于现有文件夹中,使用pdfminer从该文件夹转换为.txt。如何将输出重定向到其他文件夹。到目前为止,我希望将输出保留在名为“ D:\ extracted_text”的文件夹中:

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
import glob
import os

def convert(fname, pages=None):
   if not pages:
       pagenums = set()
   else:
       pagenums = set(pages)

   output = StringIO()
   manager = PDFResourceManager()
   converter = TextConverter(manager, output, laparams=LAParams())
   interpreter = PDFPageInterpreter(manager, converter)

   infile = open(fname, 'rb')
   for page in PDFPage.get_pages(infile, pagenums):
       interpreter.process_page(page)
   infile.close()
   converter.close()
   text = output.getvalue()   
   output.close


   outfile = os.path.splitext(os.path.abspath(fname))[0] + '.txt'
   print(outfile)
   with open(outfile, 'w', encoding = 'utf-8') as pdf_file:
       pdf_file.write(text)

   return text    




directory = glob.glob(r'D:\files\*.pdf')  

for myfiles in directory:  
     convert(myfiles)

0 个答案:

没有答案