teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

違うソースで読み込んだ結果を記した

2023/07/21 08:11

投稿

fhiro_tokio
fhiro_tokio

スコア66

title CHANGED
File without changes
body CHANGED
@@ -87,5 +87,49 @@
87
87
  df.to_csv(f)
88
88
  ```
89
89
 
90
+ ### 試したこと
91
+
92
+ 違うソースで読み込みんでみたら、以下のような内容が出力された
93
+ ```
94
+ '\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c'
95
+ ```
96
+
97
+ 試したソース
98
+ ```ここに言語を入力
99
+ from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
100
+ from pdfminer.converter import TextConverter
101
+ from pdfminer.layout import LAParams
102
+ from pdfminer.pdfpage import PDFPage
103
+ from io import StringIO
104
+ from glob import glob
105
+
106
+ def convert_pdf_to_txt(path): # 引数にはPDFファイルパスを指定
107
+ rsrcmgr = PDFResourceManager()
108
+ retstr = StringIO()
109
+ codec = 'utf-8'
110
+ laparams = LAParams()
111
+ laparams.detect_vertical = True # Trueにすることで綺麗にテキストを抽出できる
112
+ device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
113
+ fp = open(path, 'rb')
114
+ interpreter = PDFPageInterpreter(rsrcmgr, device)
115
+ maxpages = 0
116
+ caching = True
117
+ pagenos=set()
118
+ fstr = ''
119
+ for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,caching=caching, check_extractable=True):
120
+ interpreter.process_page(page)
121
+
122
+ str = retstr.getvalue()
123
+ fstr += str
124
+
125
+ fp.close()
126
+ device.close()
127
+ retstr.close()
128
+ return fstr
129
+
130
+ inpname = 'kanban_apc_print.pdf'
131
+ #inpname = 'pdf_test1.pdf'
132
+ convert_pdf_to_txt(inpname)
133
+ ```
90
134
  ### 補足情報(FW/ツールのバージョンなど)
91
135