🐷
【Azure Document intelligence/PyPDF2/python】OCRをするドキュメントのページ数を取得する方法
執筆日
2024/09/28
やること
Azure Document intelligenceを使ってドキュメントのOCRを行うアプリケーションを開発していました。その際に、ドキュメントのページ数を取得する機能を実装する必要がありました。
あれ、どうやってやるんだ?と思ったので記事にします。
前提
- python 3.9.6
- 以下参考にAzure Document intelligenceをつかるようにする
コード
- 以下のライブラリーをinstallする
pip install pypdf2
- 以下のコードを実行する
main.py
import time
from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential
from datetime import datetime
import PyPDF2
# 設定を読み込み
endpoint = <endpoint>
api_key = <key>
# クライアントを作成
client = DocumentAnalysisClient(endpoint=endpoint, credential=AzureKeyCredential(api_key))
# ファイルを読み込んで
file_path = "<該当のPDFファイルのパス>"
# PyPDF2を使ってページ数を取得
with open(file_path, "rb") as file:
reader = PyPDF2.PdfReader(file)
num_pages = len(reader.pages)
print(f"ページ数: {num_pages}")
# 分析開始
with open(file_path, "rb") as file:
print(f"{datetime.now()}: アップロード開始")
poller = client.begin_analyze_document("prebuilt-document", file)
# ステータスが完了になるまでポーリング
while not poller.done():
print(f"{datetime.now()}: Waiting...")
time.sleep(3)
# 結果を取得
result = poller.result()
print(f"{datetime.now()}: 完了!!")
- できた!
Discussion