pdf-ocr-skill について
PDF OCR Skill は、AI IDE やスクリプトで文書を処理する人向けに、スキャン PDF や画像からテキストを抽出します。ローカル OCR から SiliconFlow API まで4種類のエンジンを選べ、構造化された認識結果を出力できます。
主な機能
- 01スキャン PDF と画像の OCR
- 02RapidOCR、RapidDoc、PaddleOCR、SiliconFlow の4エンジン
- 03中国語と英語の文字認識
- 04PDF ページ変換と一括処理
- 05RapidDoc によるレイアウト・表・数式解析
活用シーン
- 01スキャンした契約書やレポートのテキスト抽出
- 02スクリーンショットやスキャン画像の文字認識
- 03スキャン PDF の一括処理
- 04ローカル OCR とクラウド OCR の結果比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yejinlei/ pdf-ocr-skill --skill pdf-ocrインストール後、Claude Code で/pdf-ocrを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.exampleLICENSE.txt.gitignoresetup.pyREADME.mdMANIFEST.in发布指南.mdrequirements.txt发布检查清单.mdscripts/__init__.pypdf_ocr_processor.py詳細
PDF OCR スキル
中国語版
PDF OCR スキルは、スキャンされた PDF ファイルや画像ファイルからテキストを抽出します。このスキルは、次の 2 種類の OCR エンジンに対応しています。
- RapidOCR(ローカルエンジン):API キーは不要で、無料で利用でき、認識速度も速いです
- SiliconFlow LLM(クラウドエンジン):AI LLM を使用して高精度の OCR 認識を行います
機能
- スキャンされた PDF ファイルからのテキスト抽出に対応
- 複数の画像形式(JPG、PNG、BMP、GIF、TIFF、WEBP)のテキスト認識に対応
- 4 種類のエンジンに対応:RapidOCR(ローカル)、RapidDoc(拡張)、PaddleOCR(ローカル)、SiliconFlow API(クラウド)
- 中国語と英語のテキスト認識に対応
- テキストの順序と構造を維持
- PDF のページを自動的に画像に変換して認識
- エンジンの自動切り替え:RapidOCR の初期化に失敗した場合、SiliconFlow API に自動的に切り替えます
インストール
依存関係
pip install pymupdf pillow requests python-dotenv
オプションの依存関係(推奨)
RapidOCR をインストールすると、ローカルで認識できるようになります。
pip install rapidocr_onnxruntime
環境変数の設定
.env.exampleファイルをコピーし、名前を.envに変更します- 必要に応じて、次のオプションを設定します。
# OCR引擎选择
# - "rapid": 使用RapidOCR本地引擎(默认,无需API密钥)
# - "rapidoc": 使用RapidDoc增强引擎(无需API密钥)
# - "paddle": 使用PaddleOCR本地引擎(无需API密钥)
# - "siliconflow": 使用硅基流动API引擎(需要API密钥)
OCR_ENGINE=rapid
# 如果使用硅基流动API引擎,需要配置以下选项:
SILICON_FLOW_API_KEY=your_api_key_here
SILICON_FLOW_OCR_MODEL=deepseek-ai/DeepSeek-OCR
クイックスタート
デフォルトエンジンを使用する(RapidOCR によるローカル認識)
# 导入OCR处理器
from scripts.pdf_ocr_processor import PDFOCRProcessor
# 创建处理器实例(默认使用RapidOCR)
processor = PDFOCRProcessor()
# 执行PDF OCR识别
result = processor.ocr_pdf('path/to/your/scanned.pdf')
# 获取识别结果
print(f"识别完成,共 {result['page_count']} 页")
print(f"使用引擎: {result['engine']}")
print(result['text'])
SiliconFlow API エンジンを使用する
# 导入OCR处理器
from scripts.pdf_ocr_processor import PDFOCRProcessor
# 创建处理器实例,指定使用硅基流动API
processor = PDFOCRProcessor(engine="siliconflow")
# 执行PDF OCR识别
result = processor.ocr_pdf('path/to/your/scanned.pdf')
# 获取识别结果
print(f"识别完成,共 {result['page_count']} 页")
print(result['text'])
画像ファイルを認識する
# 导入OCR处理器
from scripts.pdf_ocr_processor import PDFOCRProcessor
# 创建处理器实例
processor = PDFOCRProcessor() # 或 PDFOCRProcessor(engine="siliconflow")
# 执行图片OCR识别
result = processor.ocr_image_file('path/to/your/image.jpg')
# 获取识别结果
print(f"识别结果: {result['text']}")
コマンドラインでの使用
# 使用默认RapidOCR引擎
python pdf_ocr_processor.py your_document.pdf
# 使用硅基流动API引擎
python pdf_ocr_processor.py your_document.pdf siliconflow
# 使用RapidDoc增强引擎
python pdf_ocr_processor.py your_document.pdf rapidoc
# 使用PaddleOCR引擎
python pdf_ocr_processor.py your_document.pdf paddle
使用例(応用)
複数の PDF ファイルを一括処理する
import os
from scripts.pdf_ocr_processor import PDFOCRProcessor
# 创建处理器实例
processor = PDFOCRProcessor()
# 批量处理目录中的所有PDF文件
pdf_dir = "path/to/pdf/files"
output_dir = "path/to/output"
os.makedirs(output_dir, exist_ok=True)
for pdf_file in os.listdir(pdf_dir):
if pdf_file.endswith('.pdf'):
pdf_path = os.path.join(pdf_dir, pdf_file)
output_path = os.path.join(output_dir, f"{os.path.splitext(pdf_file)[0]}.txt")
print(f"处理文件: {pdf_file}")
try:
result = processor.ocr_pdf(pdf_path)
# 保存识别结果到文本文件
with open(output_path, 'w', encoding='utf-8') as f:
f.write(f"=== PDF OCR 识别结果 ===\n")
f.write(f"文件名: {pdf_file}\n")
f.write(f"页数: {result['page_count']}\n")
f.write(f"使用引擎: {result['engine']}\n\n")
f.write(result['text'])
print(f"处理完成,结果已保存到: {output_path}")
except Exception as e:
print(f"处理失败: {e}")
2 種類のエンジンを組み合わせて使用する
from scripts.pdf_ocr_processor import PDFOCRProcessor
def process_with_best_engine(pdf_path):
"""尝试使用RapidOCR,如果效果不佳则使用硅基流动API"""
# 首先使用RapidOCR本地引擎
rapid_processor = PDFOCRProcessor(engine="rapid")
rapid_result = rapid_processor.ocr_pdf(pdf_path)
# 简单评估识别效果(例如:检查识别出的文本长度)
text_length = len(rapid_result['text'])
if text_length < 100: # 如果识别出的文本太短,可能效果不佳
print("RapidOCR识别效果可能不佳,尝试使用硅基流动API...")
silicon_processor = PDFOCRProcessor(engine="siliconflow")
silicon_result = silicon_processor.ocr_pdf(pdf_path)
return silicon_result
else:
return rapid_result
# 使用示例
result = process_with_best_engine('path/to/your/document.pdf')
print(f"识别完成,使用引擎: {result['engine']}")
print(result['text'])
対応ファイル形式
- PDF ファイル: .pdf
- 画像ファイル: .jpg, .jpeg, .png, .bmp, .gif, .tiff, .webp
出力形式
{
"text": "识别的完整文本内容",
"page_count": 页数, # 图片文件始终为1
"engine": "rapid" | "rapidoc" | "paddle" | "siliconflow" # 使用的OCR引擎
}
使用例
- スキャンされた契約書、合意書などの文書を処理する
- スキャンされた書籍やレポートからテキストを抽出する
- テキストを直接コピーできない PDF ファイルを処理する
- スキャンされた PDF 文書を一括処理する
- スクリーンショットやスキャン画像などの画像からテキストを認識する
- 手書き文字や印刷文字が含まれる画像を処理する
注意事項
-
RapidOCR エンジン:
- 完全に無料で、ネットワーク接続は不要です
- 初回使用時にモデルファイルが自動的にダウンロードされます
- 認識速度は CPU の性能によって異なります
-
SiliconFlow API エンジン:
- 有効な API キーが必要です
- 費用が発生する場合があります
- 認識速度はファイルのページ数、画像サイズ、ネットワークの状態によって異なります
-
RapidDoc エンジン:
- 完全に無料で、ネットワーク接続は不要です
- レイアウト分析、表認識、数式認識、読み順の復元に対応しています
- Markdown 形式を含む、より構造化された出力を提供します
- 追加の分析を行うため、RapidOCR よりも処理に時間がかかる場合があります
-
PaddleOCR エンジン:
- 完全に無料で、ネットワーク接続は不要です
- PP-OCRv5 モデルを使用し、高い認識精度を実現します
- 初回使用時にモデルファイルが自動的にダウンロードされます
- さまざまな言語や場面のテキスト認識に対応しています
-
複雑なスキャン PDF や画像では、認識精度に差が生じる場合があります
-
より良い認識結果を得るには、高解像度のスキャン PDF や画像を使用することをおすすめします
各エンジンの使用を指定するプロンプト
AI IDE のアシスタントとやり取りする際、次のプロンプトを使って OCR エンジンを指定できます。
📍 RapidOCR(ローカルエンジン)を起動するプロンプト
- 「この PDF をローカル OCR エンジンで処理してください」
- 「RapidOCR でこのファイルを認識してください」
- 「API を使わずにローカルで処理してください」
- 「この文書を素早く認識してください」
- 「この PDF をオフラインで処理してください」
- 「SiliconFlow API は使わず、ローカルエンジンを使ってください」
📍 SiliconFlow API(クラウドエンジン)を起動するプロンプト
- 「この PDF を SiliconFlow API で処理してください」
- 「LLM OCR でこのファイルを認識してください」
- 「この文書を高精度で認識してください」
- 「複雑なスキャン画像を処理してください」
- 「クラウド OCR エンジンを使ってください」
- 「AI LLM で認識してください」
📍 RapidDoc(拡張エンジン)を起動するプロンプト
- 「RapidDoc でこの PDF を処理してください」
- 「拡張 OCR でこのファイルを認識してください」
- 「レイアウト分析を含む PDF を処理してください」
- 「表認識を含むテキストを抽出してください」
- 「RapidDoc を使って、より適切な書式で出力してください」
- 「拡張 OCR とレイアウト分析を使ってください」
📍 PaddleOCR(ローカルエンジン)を起動するプロンプト
- 「PaddleOCR でこの PDF を処理してください」
- 「PaddleOCR でこのファイルを認識してください」
- 「PP-OCRv5 モデルを使って認識してください」
- 「PaddleOCR で高精度の認識を行ってください」
- 「PaddleOCR でローカル処理してください」
- 「PaddleOCR エンジンでテキストを抽出してください」
📍 会話例
例 1:ローカルエンジンを使用する
用户:帮我处理这个扫描版 PDF,用本地 OCR 引擎快速识别
助手:好的,我将使用 RapidOCR 本地引擎为您处理。请提供 PDF 文件路径。
例 2:クラウドエンジンを使用する
用户:这个 PDF 包含手写体,需要高精度识别,用硅基流动 API
助手:理解,我将使用硅基流动 API 大模型为您处理。请提供 PDF 文件路径和您的 API 密钥(如果尚未配置)。
例 3:自動選択
用户:帮我识别这个 PDF,选择最合适的引擎
助手:我将默认使用 RapidOCR 本地引擎为您处理。如果识别效果不理想,我们可以尝试使用硅基流动 API。
🔧 技術的な仕組み
AI アシスタントがこれらのプロンプトを受け取ると、次の処理を行います。
- ユーザーの意図を解析し、使用するエンジンを決定します
- PDFOCRProcessor(engine="rapid")、PDFOCRProcessor(engine="rapidoc")、PDFOCRProcessor(engine="paddle") または PDFOCRProcessor(engine="siliconflow") を呼び出します
- OCR 認識を実行し、結果を返します
🎯 ベストプラクティス
- エンジンを明確に指定する:エンジンに特定の要件がある場合は、プロンプトで明確に指定することをおすすめします
- コンテキストを伝える:文書の種類(手書き文字、複雑な書式など)を伝えると、アシスタントが適切なエンジンを選びやすくなります
- 異なるエンジンを試す:重要な文書では、2 種類のエンジンを試して結果を比較できます
これらのプロンプトを使うと、AI IDE とのやり取りで OCR エンジンを柔軟に選択し、最適な認識結果を得られます。
トラブルシューティング
よくある問題と解決方法
-
RapidOCR の初期化に失敗する
- 問題:
ModuleNotFoundError: No module named 'rapidocr_onnxruntime' - 解決方法:RapidOCR の依存関係をインストールします:
pip install rapidocr_onnxruntime
- 問題:
-
SiliconFlow API で 401 エラーが発生する
- 問題:
Unauthorized: 401 Client Error - 解決方法:
.envファイルで API キーが正しく設定されていることを確認します
- 問題:
-
PDF から画像への変換に失敗する
- 問題:
ImportError: No module named 'fitz' - 解決方法:PyMuPDF の依存関係をインストールします:
pip install pymupdf
- 問題:
-
認識結果が空になる
- 問題:認識結果のテキストの長さが 0 です
- 解決方法:
- PDF がスキャンされたものか(テキスト PDF ではないか)を確認します
- SiliconFlow API エンジンを試します
- PDF または画像が鮮明で読み取り可能であることを確認します
英語版
PDF OCR スキル
PDF OCR スキルは、スキャンされた PDF ファイルや画像ファイルからテキストを抽出するために使用します。このスキルは、次の 2 種類の OCR エンジンに対応しています。
- RapidOCR(ローカルエンジン):API キーは不要で、無料で利用でき、認識速度も速いです
- SiliconFlow LLM(クラウドエンジン):AI LLM を使用して高精度の OCR 認識を行います
機能
- スキャンされた PDF ファイルからのテキスト抽出に対応
- 複数の画像形式(JPG、PNG、BMP、GIF、TIFF、WEBP)のテキスト認識に対応
- 4 種類のエンジンに対応:RapidOCR(ローカル)、RapidDoc(拡張)、PaddleOCR(ローカル)、SiliconFlow API(クラウド)
- 中国語と英語のテキスト認識に対応
- テキストの順序と構造を維持
- PDF のページを自動的に画像に変換して認識
- エンジンの自動切り替え:RapidOCR の初期化に失敗した場合、SiliconFlow API に自動的に切り替えます
インストール
依存関係
pip install pymupdf pillow requests python-dotenv
オプションの依存関係(推奨)
ローカルでの認識機能を利用するには、RapidOCRをインストールしてください。
pip install rapidocr_onnxruntime
環境設定
.env.exampleファイルをコピーし、ファイル名を.envに変更します。- 必要に応じて、以下のオプションを設定します。
# OCR engine selection
# - "rapid": Use RapidOCR local engine (default, no API key required)
# - "rapidoc": Use RapidDoc enhanced engine (no API key required)
# - "paddle": Use PaddleOCR local engine (no API key required)
# - "siliconflow": Use SiliconFlow API engine (API key required)
OCR_ENGINE=rapid
# If using SiliconFlow API engine, configure the following options:
SILICON_FLOW_API_KEY=your_api_key_here
SILICON_FLOW_OCR_MODEL=deepseek-ai/DeepSeek-OCR
クイックスタート
デフォルトエンジンを使用する(RapidOCRによるローカル認識)
# Import OCR processor
from scripts.pdf_ocr_processor import PDFOCRProcessor
# Create processor instance (default uses RapidOCR)
processor = PDFOCRProcessor()
# Perform PDF OCR recognition
result = processor.ocr_pdf('path/to/your/scanned.pdf')
# Get recognition result
print(f"Recognition completed, total {result['page_count']} pages")
print(f"Engine used: {result['engine']}")
print(result['text'])
SiliconFlow APIエンジンを使用する
# Import OCR processor
from scripts.pdf_ocr_processor import PDFOCRProcessor
# Create processor instance, specify to use SiliconFlow API
processor = PDFOCRProcessor(engine="siliconflow")
# Perform PDF OCR recognition
result = processor.ocr_pdf('path/to/your/scanned.pdf')
# Get recognition result
print(f"Recognition completed, total {result['page_count']} pages")
print(result['text'])
画像ファイルを認識する
# Import OCR processor
from scripts.pdf_ocr_processor import PDFOCRProcessor
# Create processor instance
processor = PDFOCRProcessor() # or PDFOCRProcessor(engine="siliconflow")
# Perform image OCR recognition
result = processor.ocr_image_file('path/to/your/image.jpg')
# Get recognition result
print(f"Recognition result: {result['text']}")
コマンドラインでの使用方法
# Use default RapidOCR engine
python pdf_ocr_processor.py your_document.pdf
# Use SiliconFlow API engine
python pdf_ocr_processor.py your_document.pdf siliconflow
# Use RapidDoc enhanced engine
python pdf_ocr_processor.py your_document.pdf rapidoc
# Use PaddleOCR engine
python pdf_ocr_processor.py your_document.pdf paddle
高度な使用例
複数のPDFファイルを一括処理する
import os
from scripts.pdf_ocr_processor import PDFOCRProcessor
# Create processor instance
processor = PDFOCRProcessor()
# Batch process all PDF files in directory
pdf_dir = "path/to/pdf/files"
output_dir = "path/to/output"
os.makedirs(output_dir, exist_ok=True)
for pdf_file in os.listdir(pdf_dir):
if pdf_file.endswith('.pdf'):
pdf_path = os.path.join(pdf_dir, pdf_file)
output_path = os.path.join(output_dir, f"{os.path.splitext(pdf_file)[0]}.txt")
print(f"Processing file: {pdf_file}")
try:
result = processor.ocr_pdf(pdf_path)
# Save recognition result to text file
with open(output_path, 'w', encoding='utf-8') as f:
f.write(f"=== PDF OCR Recognition Result ===\n")
f.write(f"File name: {pdf_file}\n")
f.write(f"Pages: {result['page_count']}\n")
f.write(f"Engine used: {result['engine']}\n\n")
f.write(result['text'])
print(f"Processing completed, result saved to: {output_path}")
except Exception as e:
print(f"Processing failed: {e}")
2つのエンジンを両方使用する
from scripts.pdf_ocr_processor import PDFOCRProcessor
def process_with_best_engine(pdf_path):
"""Try using RapidOCR, if not good enough then use SiliconFlow API"""
# First use RapidOCR local engine
rapid_processor = PDFOCRProcessor(engine="rapid")
rapid_result = rapid_processor.ocr_pdf(pdf_path)
# Simple evaluation of recognition effect (e.g., check recognized text length)
text_length = len(rapid_result['text'])
if text_length < 100: # If recognized text is too short, may not be good enough
print("RapidOCR recognition effect may not be good enough, trying SiliconFlow API...")
silicon_processor = PDFOCRProcessor(engine="siliconflow")
silicon_result = silicon_processor.ocr_pdf(pdf_path)
return silicon_result
else:
return rapid_result
# Usage example
result = process_with_best_engine('path/to/your/document.pdf')
print(f"Recognition completed, engine used: {result['engine']}")
print(result['text'])
対応ファイル形式
- PDFファイル:.pdf
- 画像ファイル:.jpg、.jpeg、.png、.bmp、.gif、.tiff、.webp
出力形式
{
"text": "Recognized full text content",
"page_count": number_of_pages, # Always 1 for image files
"engine": "rapid" | "rapidoc" | "paddle" | "siliconflow" # OCR engine used
}
使用例
- スキャンした契約書、合意書などの文書を処理する
- コピー機で複写した書籍やレポートからテキストを抽出する
- テキストをコピーできないPDFファイルを処理する
- スキャンしたPDF文書を一括処理する
- スクリーンショットやスキャン画像内のテキストを認識する
- 画像内の手書きまたは印刷されたテキストを処理する
注意事項
-
RapidOCRエンジン:
- 完全無料で、ネットワーク接続は不要です
- モデルファイルは初回使用時に自動でダウンロードされます
- 認識速度はCPUの性能によって異なります
-
SiliconFlow APIエンジン:
- 有効なAPIキーが必要です
- 費用が発生する場合があります
- 認識速度はページ数、画像サイズ、ネットワークの状況によって異なります
-
RapidDocエンジン:
- 完全無料で、ネットワーク接続は不要です
- レイアウト解析、表認識、数式認識、読み取り順序の復元に対応しています
- Markdown形式を含む、より構造化された出力を提供します
- 追加の解析を行うため、処理時間はRapidOCRより長くなる場合があります
-
PaddleOCRエンジン:
- 完全無料で、ネットワーク接続は不要です
- 認識精度の高いPP-OCRv5モデルを使用します
- モデルファイルは初回使用時に自動でダウンロードされます
- 複数の言語やシナリオでのテキスト認識に対応しています
-
複雑なスキャン済みPDFや画像では、認識精度が変わる場合があります
-
より良い認識結果を得るには、高解像度のスキャン済みPDFや画像を使用することをおすすめします
各エンジンのプロンプト例
AI IDEのアシスタントとのやり取りで、次のプロンプトを使ってOCRエンジンを指定できます。
📍 RapidOCR(ローカルエンジン)のプロンプト例
- 「ローカルOCRエンジンを使ってこのPDFを処理して」
- 「RapidOCRでこのファイルを認識して」
- 「APIは不要なので、ローカルで処理して」
- 「この文書をすばやく認識して」
- 「このPDFをオフラインで処理して」
- 「SiliconFlow APIは使わず、ローカルエンジンを使って」
📍 SiliconFlow API(クラウドエンジン)のプロンプト例
- 「SiliconFlow APIを使ってこのPDFを処理して」
- 「大規模モデルOCRでこのファイルを認識して」
- 「この文書を高精度で認識して」
- 「複雑なスキャン文書を処理して」
- 「クラウドOCRエンジンを使って」
- 「AI大規模モデルを使って認識して」
📍 RapidDoc(高機能エンジン)のプロンプト例
- 「RapidDocを使ってこのPDFを処理して」
- 「高機能OCRでこのファイルを認識して」
- 「レイアウト解析を使ってPDFを処理して」
- 「表認識を使ってテキストを抽出して」
- 「より良い書式で出力するためにRapidDocを使って」
- 「レイアウト解析付きの高機能OCRを使って」
📍 PaddleOCR(ローカルエンジン)のプロンプト例
- 「PaddleOCRを使ってこのPDFを処理して」
- 「PaddleOCRでこのファイルを認識して」
- 「PP-OCRv5モデルを使って認識して」
- 「高精度の認識にPaddleOCRを使って」
- 「PaddleOCRでローカル処理して」
- 「PaddleOCRエンジンを使ってテキストを抽出して」
📍 会話例
例1:ローカルエンジンを使用する
User: Help me process this scanned PDF, use local OCR engine for quick recognition
Assistant: Sure, I'll use the RapidOCR local engine for you. Please provide the PDF file path.
例2:クラウドエンジンを使用する
User: This PDF contains handwritten text, need high-precision recognition, use SiliconFlow API
Assistant: Understood, I'll use the SiliconFlow API large model for you. Please provide the PDF file path and your API key (if not already configured).
例3:自動選択
User: Help me recognize this PDF, choose the most suitable engine
Assistant: I'll default to using the RapidOCR local engine for you. If the recognition effect is not ideal, we can try using SiliconFlow API.
🔧 技術的な実装
AIアシスタントがこれらのプロンプトを受け取ると、次の処理を行います。
- ユーザーの意図を解析し、使用するエンジンを判断します
- PDFOCRProcessor(engine="rapid")、PDFOCRProcessor(engine="rapidoc")、PDFOCRProcessor(engine="paddle")、またはPDFOCRProcessor(engine="siliconflow")を呼び出します
- OCR認識を実行し、結果を返します
🎯 ベストプラクティス
- エンジンを明確に指定する:エンジンに特定の要件がある場合は、プロンプトに明記することをおすすめします
- コンテキストを提供する:文書の種類(手書き、複雑な形式など)を説明すると、アシスタントが適切なエンジンを選びやすくなります
- 異なるエンジンを試す:重要な文書では、両方のエンジンを試して結果を比較できます
これらのプロンプト用語を使用すると、AI IDE とのやり取りで OCR エンジンの選択を柔軟に制御し、最良の認識結果を得られます
トラブルシューティング
よくある問題と解決策
-
RapidOCR の初期化に失敗する
- 問題:
ModuleNotFoundError: No module named 'rapidocr_onnxruntime' - 解決策:RapidOCR の依存関係をインストールします:
pip install rapidocr_onnxruntime
- 問題:
-
SiliconFlow API の 401 エラー
- 問題:
Unauthorized: 401 Client Error - 解決策:
.envファイルで API キーが正しく設定されていることを確認します
- 問題:
-
PDF から画像への変換に失敗する
- 問題:
ImportError: No module named 'fitz' - 解決策:PyMuPDF の依存関係をインストールします:
pip install pymupdf
- 問題:
-
認識結果が空になる
- 問題:認識結果のテキスト長が 0 です
- 解決策:
- PDF がスキャンされたもの(テキストではない PDF)か確認します
- SiliconFlow API エンジンを使用してみます
- PDF または画像が鮮明で読み取り可能であることを確認します
ライセンス
MIT License - LICENSE.txt を参照してください