719985 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

mlupinのブログ

mlupinのブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

aki@ Re:今朝の朝食は、じゃがいものポタージュスープ(01/20) この様な書込大変失礼致します。日本も当…
aki@ Re:今朝の朝食は、じゃがいものポタージュスープ(01/20) この様な書込大変失礼致します。日本も当…
mlupin@ Re:いちごの苗2023 その後 花が?(12/21) かずパパさん、コメントありがとうござい…
かずパパ@ Re:いちごの苗2023 その後 花が?(12/21) こんにちは、藻緯羅さんのブログから来ま…
mlupin@ Re[1]:今朝の朝食は、食事系のパンケーキ(11/26) 藻緯羅さんへ いつもコメントありがとうご…

カテゴリ

バックナンバー

2021.05.25
XML
カテゴリ:Python
リスト2は、PDFファイルからPNG画像を抽出するテストプログラムのリストです。

# リスト2
#  PDFからPNG画像を抽出するテストプログラム
#  「日経ソフトウエア」2020.07
#  『特集5 Pythonで自動化』p.069~p.073
#
#  ■PyPDF2をGitHubから入手してインストール。p.070
#
#    https://github.com/mstamy2/PyPDF2
#
#   から「PyPDF2-Master.zip」をダウンロードして、展開すると、
#   「PyPDF2-Master」フォルダが生成されるので、「Anaconda Prompt」
#   を立ち上げ、「cd」コマンドで、「PyPDF2-Master」フォルダに移動し、
#   次のコマンドを入力してインストールする。
#
# python setup.py install
#
# ■注
#     ・記号「#」以降はコメント。(番号)は、本文の説明用の番号。[番号]は筆者が付加したコメント。
#     ・元々のリストにない「print」文は、筆者のデバッグのために挿入したもの。

t('Start!!')

print('[1]ライブラリの読み込み')
from PyPDF2 import PdfFileReader
from PIL import Image

print('[2]目的のPDFファイルを開く処理')
#   PDFファイルを、第2引数の「rb」で読み取り専用、バイナリーモードで開く。
#   「r」は読み込み用、「b」はバイナリーを意味する。
fp = open('PDFtest2.pdf', 'rb')

print('[3]必要なオブジェクトの生成')
#(1)
reader = PdfFileReader(fp)
#(2)
pgnum = reader.getNumPages()

print('[4]実際の処理')
#(3)
for i in range(pgnum):
#(4)
pg = reader.getPage(i)

#(5)
if '/XObject' in pg['/Resources']:
xobjs = pg['/Resources']['/XObject']
print('xobjs = ', xobjs)

#(6)
for key, obj in xobjs.items():
item = obj.getObject()

#(7)
if item['/Subtype'] == '/Image':

if item['/Filter'] == '/FlateDecode':
#(8)
size = (item['/Width'], item['/Height'])
data = item.getData()
img = Image.frombytes('RGB', size, data)
img.show()

fp.close()prin





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2021.05.25 22:31:06
コメント(0) | コメントを書く



© Rakuten Group, Inc.