本日は昨日に引き続き、PDFを扱う学習用アプリ、
テキスト読み取りプログラム、
になります
はじめに
pyPDF2のインストール
$ pip install pyPDF2
Pythonのイントールがまだ、という方はこちら↓
Pythonファイルの実行方法がわからない、という方はこちら↓
コード
import tkinter.filedialog, tkinter.messagebox, tkinter.simpledialog, os
from tkinter import *
import PyPDF2
root = Tk()
root.title = 'PDFテキスト読み取り'
def read_pdf_pages(src_path, dst_basepath):
src_pdf = PyPDF2.PdfFileReader(src_path)
file_name = e.get()
saveFilePath = dst_basepath + '/' + file_name + '.txt'
for i in range(src_pdf.numPages):
page = src_pdf.getPage(i)
with open(saveFilePath, 'at', encoding="utf-8") as f:
f.write(page.extractText())
tkinter.messagebox.showinfo("読み取りの終了", "読み取り・保存は完了しました。")
root.quit()
def choose_file():
fTyp = [("","*.pdf")]
global iDir
iDir = os.path.abspath(os.path.dirname(__file__))
global img_path
img_path = tkinter.filedialog.askopenfilename(filetypes=fTyp, initialdir=iDir, title="読み取るファイルの選択")
def choose_saveDir():
global iDir
global saveDir
saveDir = tkinter.filedialog.askdirectory(title="保存先を選んで下さい", initialdir=iDir)
label = Label(root, text=saveDir.title)
choose_btn = Button(root, text="選択", command=choose_file)
choose_btn.pack()
saving_btn = Button(root, text="保存フォルダの選択", command=choose_saveDir)
saving_btn.pack()
e = Entry(root, width=10)
e.pack()
lbl = Label(root, text="ファイル名の入力")
lbl.pack()
finishup_btn = Button(root, text='読み取る', command=lambda: read_pdf_pages(img_path, saveDir))
finishup_btn.pack()
root.mainloop()
おわりに
前回に引き続き、
PDFを扱うアプリ、
「テキスト読み取りプログラム」
でした!
ただこちらのライブラリでは、日本語での対応ができないようですのでご注意下さい
解説は明日以降載せていきますのでご確認いただければと思います
本日もありがとうございました!