提取 PDF 內文(pymupdf-based, born-digital only)。
Args: source: PDF URL 或 base64-encoded PDF 內容。 max_pages: 最多處理幾頁(None = 全部)。
Returns: text + per-page list + is_scanned flag。
行為說明(重要,client agents 請注意):
- 對 born-digital PDF(含可選取文字):正常回 text + pages
- 對 scanned / image-only PDF:這不是錯誤,會優雅降級回
{is_scanned: true, reason: "OCR required, ..."},無error欄位、 也不丟例外。掃描件 OCR 屬高階方案 call_agent 範圍,本 tool 不處理。 - 下游 agent 看到
is_scanned: true應該當作「PDF 不適合此 tool」而非 「呼叫失敗」,可改走 OCR 或請使用者重供 born-digital 版本。