質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

3825閲覧

[Python初心者] PDFの文字と座標の抽出→Excelにリスト化

vncvr0512

総合スコア0

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/28 07:24

PDFから文字と座標を抽出し、Excelに座標ごとに表示したい。

PDFから文字と座標を抽出(下記)

赤を例として記入しました 住所:東京都○○○○, x0=229.20, x1=475.68, y0=747.10, y1=758.08, width=246.48, height=10.98

会社名:株式会社○○○○, x0=365.88, x1=497.64, y0=759.16, y1=770.14, width=131.76, height=10.98
TEL:03-0000-0000 FAX:, x0=365.88, x1=492.63, y0=734.74, y1=745.72, width=126.75, height=10.98
題 名
素材内容  ○○○○
共通コード, x0=46.98, x1=161.94, y0=688.18, y1=731.32, width=114.96, height=43.14
副題名
商品名, x0=46.98, x1=79.92, y0=639.94, y1=667.00, width=32.94, height=27.06
○○○○, x0=107.04, x1=161.94, y0=639.94, y1=650.92, width=54.90, height=10.98
広告主名, x0=46.98, x1=90.90, y0=607.78, y1=618.76, width=43.92, height=10.98
○○○○
制作プロダクション, x0=46.98, x1=150.96, y0=575.62, y1=602.68, width=103.98, height=27.06
制作広告会社, x0=168.48, x1=234.36, y0=575.62, y1=586.60, width=65.88, height=10.98
○○○○, x0=46.98, x1=112.86, y0=555.88, y1=566.86, width=65.88, height=10.98
○○○○, x0=168.48, x1=223.38, y0=555.88, y1=566.86, width=54.90, height=10.98
TAPE NO., x0=303.06, x1=357.96, y0=720.34, y1=731.32, width=54.90, height=10.98
OA DATE, x0=303.06, x1=352.47, y0=688.18, y1=699.16, width=49.41, height=10.98
VTR機種
DSR-11, x0=365.88, x1=420.78, y0=672.10, y1=699.16, width=54.90, height=27.06
NO., x0=494.94, x1=511.41, y0=720.34, y1=731.32, width=16.47, height=10.98
VTR NO., x0=494.94, x1=533.37, y0=688.18, y1=699.16, width=38.43, height=10.98
□EED   □ORIG   □DUB from
□MONO    □STEREO  □BILINGUAL
CH1 ( )
CH2 ( )
CH3 ( )
CH4 ( ), x0=303.06, x1=506.19, y0=575.62, y1=667.00, width=203.13, height=91.38
T.C (DF,NDF)
DOLBY (SR,A,C,OFF)
SYNC (ON,OFF)
VITC (ON,OFF), x0=432.12, x1=530.94, y0=575.62, y1=634.84, width=98.82, height=59.22
TIME CODE, x0=46.62, x1=82.53, y0=538.00, y1=545.98, width=35.91, height=7.98
TIMER, x0=46.62, x1=90.51, y0=522.64, y1=530.62, width=43.89, height=7.98
58'00'', x0=46.86, x1=81.93, y0=506.22, y1=516.24, width=35.07, height=10.02
黒味, x0=106.92, x1=126.96, y0=475.50, y1=485.52, width=20.04, height=10.02
58'15'', x0=46.86, x1=81.93, y0=429.42, y1=439.44, width=35.07, height=10.02
COLOR BAR, x0=110.82, x1=154.22, y0=439.60, y1=447.58, width=43.40, height=7.98
SET UP 0%, x0=110.82, x1=147.70, y0=402.88, y1=410.86, width=36.88, height=7.98
1kHz -12dB, x0=106.92, x1=162.03, y0=383.34, y1=393.36, width=55.11, height=10.02
クレジット, x0=106.92, x1=157.02, y0=337.26, y1=347.28, width=50.10, height=10.02
黒味, x0=106.92, x1=126.96, y0=299.34, y1=309.36, width=20.04, height=10.02
本編
(12'30''), x0=106.92, x1=157.02, y0=229.74, y1=255.64, width=50.10, height=25.91
59'15'', x0=46.86, x1=81.93, y0=352.62, y1=362.64, width=35.07, height=10.02
59'30'', x0=46.86, x1=81.93, y0=321.90, y1=331.92, width=35.07, height=10.02
1H00'00'', x0=46.86, x1=91.95, y0=275.82, y1=285.84, width=45.09, height=10.02
1H12'30'', x0=46.86, x1=91.95, y0=214.38, y1=224.40, width=45.09, height=10.02
sync, x0=107.04, x1=129.00, y0=137.14, y1=148.12, width=21.96, height=10.98
COMMENT, x0=46.98, x1=85.41, y0=108.04, y1=119.02, width=38.43, height=10.98
作業日
03.10.10, x0=303.06, x1=346.98, y0=95.98, y1=119.02, width=43.92, height=23.04
作業内容
EED
EED直し, x0=365.88, x1=412.98, y0=83.92, y1=119.50, width=47.10, height=35.58
担当者, x0=439.08, x1=472.02, y0=108.04, y1=119.02, width=32.94, height=10.98
○○
○○, x0=432.12, x1=454.08, y0=83.92, y1=106.96, width=21.96, height=23.04
場  所
○○
○○, x0=494.94, x1=540.36, y0=83.92, y1=119.50, width=45.42, height=35.58

python

1from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 2from pdfminer.converter import PDFPageAggregator 3from pdfminer.pdfpage import PDFPage 4from pdfminer.layout import LAParams 5 6resourceManager = PDFResourceManager() 7# 引数にLAParamsを追加 8device = PDFPageAggregator(resourceManager, laparams=LAParams()) 9 10with open('PDF path:/tape_record.pdf', 'rb') as fp: 11 interpreter = PDFPageInterpreter(resourceManager, device) 12 for page in PDFPage.get_pages(fp): 13 interpreter.process_page(page) 14 layout = device.get_result() 15 for lt in layout: 16 print('{}, x0={:.2f}, x1={:.2f}, y0={:.2f}, y1={:.2f}, width={:.2f}, height={:.2f}'.format( 17 lt.get_text().strip(), lt.x0, lt.x1, lt.y0, lt.y1, lt.width, lt.height)) 18 19 20device.close()

試したこと

① 座標がx0=46.86の文字を検索し、Excelにリスト化したいと考えています。
②”題名”、"会社名"、"住所"のように抽出できた文字の後ろに入力されるであろうタイトルのみをExcelに記入したい。
③ExcelのColumnを指定してExcelに情報を入力する方法が知りたいです。

宜しく御願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sfdust

2020/09/28 09:34 編集

「x0=46.86の文字」とは、例えば上記ではどこの文字を取得すればよいのでしょうか? 「題名”、"会社名"、"住所"のように抽出できた文字の後ろに入力されるであろうタイトルのみをExcelに記入したい」とはどういう操作になりますでしょうか
vncvr0512

2020/09/28 09:25

座標がx0=46.86となっている58'00や59'15や1H00'00のような文字を取得したいと思っております。 "題名  風の谷のナウシカ" "会社名 ジブリスタジオ"となっている文字を "風の谷のナウシカ"と"ジブリスタジオ"だけ抽出させ、Excelのカラムに題名、会社名と作ったところに反映させたいと考えております。
guest

回答1

0

PDFからの情報はフォーマットされている事から取得自体はすでに出来上がっていると思います。

PythonからExcel操作なら下記URLが参考になるかと
PythonでExcel作業を自動化するOpenPyXLのはじめての使い方
openpyxl による Excelファイル操作方法のまとめ

投稿2020/09/28 20:41

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問