面向代理的 PDF 分流
先讀取低成本的原生文字與逐頁品質訊號,再判斷是否需要渲染、OCR、搜尋或裁切。
許多 PDF 擷取工具只給代理一段字串,並要求它信任結果。真實文件中,這種方式很容易失敗:雙欄論文、含義藏在形狀裡的投影片、帶圖表和表格的報告、政府表單、帶 OCR 殘留的掃描件,以及文字層包含相容字形或亂碼的多語言 PDF,都不能只看一條扁平文字流。
pdfvision 圍繞一個不同的循環設計:
這個循環更接近人類閱讀 PDF 的方式。你會先瀏覽頁面,注意視覺頁面和擷取文字是否不一致,放大圖表或表單欄位,並保留可驗證的原始證據。
pdfvision 在一個 CLI 和 TypeScript 函式庫中組合了代理需要的 PDF 訊號:
不用安裝即可執行:
npx pdfvision document.pdf為多模態模型渲染頁面影像:
npx pdfvision document.pdf --render從 URL 擷取結構化 JSON:
npx pdfvision --remote https://raw.githubusercontent.com/mozilla/pdf.js-sample-files/master/tracemonkey.pdf --format json搜尋證據,然後只裁切匹配區域:
npx pdfvision report.pdf --search "revenue" --json
npx pdfvision report.pdf --pages 3 --render --render-region 120,180,360,140 --render-output ./crops --json不渲染每一整頁,也可以檢查視覺結構:
npx pdfvision slides.pdf --layout --image-boxes --vector-boxes --visual-regions --json
npx pdfvision slides.pdf --render-visual-regions --render-output ./regions --json