@mdyk1126 (祐樹 松田)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

フォルダ内にあるpdfのテキストを抽出

解決したいこと

Pythonでフォルダ内にあるpdfファイルのテキストデータを抽出したいのですが、以下のコードだと、どのpdfファイルでもテキストデータを抽出することができません。

ですので、以下コードの問題点と対処法をご教授いただけますと幸いです。何卒よろしくお願い致します。

該当コード

from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.pdfpage import PDFPage
import csv
import io
import os
import glob

retstr = io.StringIO()
csvList = []
files = []
files.append("C:/Users/ymats/OneDrive/デスクトップ/pdf Python")

def pdf_mine():
for i in files:
try:
parser = PDFParser(open('i','rb'))
doc = PDFDocument(parser)
parser.set_document(doc)
file_name = i
rsrcmgr = PDFResourceManager()
device = TextConverter(rsrcmgr, retstr)
interpreter = PDFPageInterpreter(rsrcmgr, device)

        for page in PDFPage.create_pages(doc):
            interpreter.process_page(page)

        device.close()
        result = retstr.getvalue()
        retstr.close()
        csvList.append([result])

        with open("C:/Users/ymats/OneDrive/デスクトップ/pdf Python","i.csv""r",encoding="UTF-8",) as f:
            csv.writer(f).writerows(csvList)
    except Exception as e:
        print('is not a readable pdf')

pdf_mine()

結果

is not a readable pdf

0 likes

1Answer

files.append("C:/Users/ymats/OneDrive/デスクトップ/pdf Python")

これで、files に入っているものをloop させていますが、files は Path 自体です。

本来は、Path内の File 一覧を取得してPDF ファイルだけで Loopする必要があるのでは?

0Like

Your answer might help someone💌