📝
pythonでPDFをテキスト化する【Azure AI Document Intelligence】
やること
前回Azure portal上でAzure AI Document Intelligenceを使ってOCRを行いました。
今回は、pythonで行う方法を紹介します。参考資料
前提
- Azure AI Document Intelligenceを構築済みであること
- Python 3.9.6
実装手順
- 以下のコマンドを実行し、ライブラリーをinstallする
pip install azure-ai-formrecognizer azure-core
- Azure AI Document IntelligenceのエンドポイントとAPIキーを取得する
import time
from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential
from datetime import datetime
# 設定を読み込み
endpoint = "<エンドポイント>"
api_key = "<APIキー>"
# クライアントを作成
client = DocumentAnalysisClient(endpoint=endpoint, credential=AzureKeyCredential(api_key))
# ファイルを読み込んで
file_path = "<ファイルパス>"
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()}: 完了!!")
- 結果を見たいので、先程のコードに追加し再度実行
import time
from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential
from datetime import datetime
# 設定を読み込み
endpoint = "<エンドポイント>"
api_key = "<APIキー>"
# クライアントを作成
client = DocumentAnalysisClient(endpoint=endpoint, credential=AzureKeyCredential(api_key))
# ファイルを読み込んで
file_path = "<ファイルパス>"
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("result:", result) # 追加
print(f"{datetime.now()}: 完了!!")
結果がターミナル上に表示されたことを確認
Discussion