|
テーマ:パソコンを楽しむ♪(3520)
カテゴリ: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) | コメントを書く
[Python] カテゴリの最新記事
|