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

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
リスト3は、PDFファイルからJPEG画像を抽出するテストプログラムのリストです。

# リスト3
#  PDFからJPEG画像を抽出するテストプログラム
#   (リスト2との違いは、(0)、(1)、(2))
#  「日経ソフトウエア」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」文は、筆者のデバッグのために挿入したもの。
#   

print('Start!!')

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


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

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

print('(4)実際の処理')
for i in range(pgnum):
print('i = ', i)

print('(5)')
pg = reader.getPage(i)
print('pg = ', pg)

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

print('(7)')
for key, obj in xobjs.items():
item = obj.getObject()

print('(8)')
if item['/Subtype'] == '/Image':

#(1)
if item['/Filter'] == '/DCTDecode':
print('(10)')
data = item.getData()
#(2)
img = Image.open(io.BytesIO(data))
img.show()

fp.close()





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

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



© Rakuten Group, Inc.