自架服務
run-llama/liteparse avatar
run-llama/liteparse

LiteParse:一個快速、本地化的PDF解析器,用於文字擷取和OCR

一個快速、有用的開源文件解析器。此表示遵循 LlamaParse PDFium 路徑提取; LiteParse 將形狀矩形稱為 bbox 而不是 PDFium 的座標,並使用寬度/高度而不是 w/h。

12,305 個 Star847 個 ForkRustApache-2.0

秒懂

它是什麼?
一個用Rust編寫的開源解析器,在本地執行,支援空間文字輸出、可選OCR,並提供Node、Python和瀏覽器的繫結。
適合誰用?
LiteParse結合了基於PDFium的文字擷取、選擇性OCR和空間版面重建,是一個本地工具。README指出其Markdown輸出是啟發式和基於規則的,對於最複雜的文件,建議使用LlamaParse。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 3 天前。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

LiteParse是什麼,以及它有意排除的內容

LiteParse是一個用Rust編寫的獨立開源PDF解析工具。根據README,它只專注於快速和輕量解析,這意味著它優先考慮速度和資源使用,而不是進階功能。它提供帶邊界框的空間文字解析,因此輸出包含每個文字元素的位置資訊。該工具不包含專有的LLM功能,因此不會進行語意理解或摘要。沒有雲端依賴,因此完全在本地機器上執行。對於超出本地解析能力的複雜文件,如密集表格、多欄版面、圖表、手寫文字或掃描PDF,README推薦使用雲端服務LlamaParse,該服務專為生產文件管道而構建。README沒有提供具體的效能數字或比較,也沒有描述「快速」的確切含義。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「LiteParse是什麼,以及它有意排除的內容」,核對序號 1。 在 liteparse 的 README 中,這一節涉及 run-llama/liteparse 的實際入口;文檔未說明的行為不在本文推論範圍。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

解析如何工作:從PDF到結構化輸出

README包含一個描述核心流程的流程圖。輸入格式(PDF、DOCX、XLSX、PPTX、影像)在需要時進行轉換:Office文件透過LibreOffice轉換,影像由Rust crate原生處理。PDF文字擷取使用PDFium C函式庫。OCR是選擇性的,使用Tesseract、HTTP伺服器或自訂實作,並將原生文字和OCR結果合併。然後透過網格投影重建空間版面,生成帶有文字和邊界框的結構化JSON、保留版面的純文字或PNG截圖。同一個核心透過Node.js(napi-rs)、Python(PyO3)和WASM繫結以及CLI公開。README沒有指定網格投影背後的確切演算法,但它確實指出輸出格式包括Markdown、JSON和文字,其中Markdown能夠從空間版面中重建標題、表格、列表、影像和連結。這純粹是啟發式和基於規則的,因此複雜的文件可能無法完美渲染,但解析速度很快。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「解析如何工作:從PDF到結構化輸出」,核對序號 2。 核對 liteparse 時可直接對照官方 README 的命令、檔案路徑與版本標籤;這些記號比倉庫人氣統計更能界定使用條件。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

安裝和共享CLI

除了WASM之外,所有安裝都附帶相同的`lit` CLI。README列出了Node.js/TypeScript的`npm i -g @llamaindex/liteparse`、Python的`pip install liteparse`、Rust CLI的`cargo install liteparse`以及瀏覽器使用的`npm i @llamaindex/liteparse-wasm`。CLI支援解析單一檔案、批次解析目錄、生成截圖和檢查文件複雜度。例如,`lit parse document.pdf --format markdown -o output.md`渲染Markdown,`lit is-complex document.pdf`向stderr列印判定,同時向stdout輸出逐頁JSON。README指出,CLI在npm、pip和cargo安裝中是相同的。其他旗標包括`--target-pages`用於選擇特定頁面,`--no-ocr`用於停用OCR,`--dpi`用於截圖解析度,以及`--num-workers`用於並行OCR工作程序。批次解析命令接受輸入和輸出目錄,並具有`--recursive`和`--extension`等選項。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「安裝和共享CLI」,核對序號 3。 liteparse 的來源資料列出 Rust 與 Apache-2.0,但沒有因此替使用者承諾效能、相容性或安全結果。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

OCR:內建Tesseract和可插拔HTTP伺服器

OCR預設啟用,Tesseract內建且無需設定即可使用。使用者可以使用`--no-ocr`停用它,或使用`--ocr-language`選擇語言。對於離線環境,`TESSDATA_PREFIX`或`--tessdata-path`指向`.traineddata`檔案。或者,任何實作LiteParse OCR API規範的OCR服務都可以透過HTTP使用。README提供了EasyOCR和PaddleOCR的範例包裝器,API要求POST `/ocr`端點接受`file`和`language`參數,返回包含文字、邊界框和置信度的JSON。README沒有說明這些選項的效能宣告,但它確實指出內建Tesseract是零設定,而HTTP伺服器可能提供更高的準確性或效能,但沒有給出基準。OCR合併步驟將原生文字與OCR結果結合,`is-complex`命令有助於確定何時需要OCR。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「OCR:內建Tesseract和可插拔HTTP伺服器」,核對序號 4。 若要檢查這個判斷,應把 liteparse 的 README 範例放進隔離目錄,觀察它產生的輸出與錯誤,再逐項回看來源。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

PDF以外的輸入格式

LiteParse在解析前會自動將多種Office格式轉換為PDF。README列出了Word、PowerPoint和試算表格式,包括`.docx`、`.pptx`、`.xlsx`及更舊的變體,以及`.odt`、`.rtf`、`.pages`、`.key`、`.csv`和`.numbers`。轉換依賴LibreOffice,README給出了macOS、Ubuntu/Debian和Windows的安裝命令。影像原生支援:`.jpg`、`.jpeg`、`.png`、`.gif`、`.bmp`、`.tiff`、`.webp`和`.svg`。從2.8.0版本開始,影像轉換不再需要imagemagick;轉換由Rust程式碼原生處理。README沒有詳細描述轉換行為,也沒有說明不同格式的轉換品質差異。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「PDF以外的輸入格式」,核對序號 5。 這個專案的限制也要和適用場景一起看:README 有寫出的能力可以採用作為檢查項,沒有寫出的整合方式不能當成既定功能。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

可選輸出功能:向量圖形、結構樹、截圖、複雜度檢查

幾個解析選項是可選啟用的。`--extract-vector-graphics`新增帶形狀和合併線的向量路徑資料,其表示遵循LlamaParse PDFium路徑擷取。`--extract-structure-tree`公開帶標籤的PDF邏輯結構,包括元素型別、ID和文字。`--extract-content-bounds`、`--extract-xfa-packets`和`--extract-document-metadata`提供額外的來源和版面資訊,如文件建立者和生產者、XMP資料包和內容邊界。截圖可以包含AcroForm欄位外觀,每個截圖報告是否為純色填充,這有助於偵測空白頁。`is-complex`命令執行一次廉價的僅文字層檢查,以決定是否需要OCR或更重的處理,並列出諸如scanned、no-text、sparse-text、embedded-images、garbled、vector-text或annotation-text等原因。這些功能都在README中記錄,但README沒有包含基準資料。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「可選輸出功能:向量圖形、結構樹、截圖、複雜度檢查」,核對序號 6。 升級前可比較 liteparse 的 GitHub Releases 與預設分支變更,並保留實際使用到的設定鍵,避免把不同版本的行為混在一起。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

開發、代理技能和授權

該專案是一個Rust工作區,包含核心函式庫和語言繫結的crate。README顯示了結構:`crates/liteparse`包含核心和CLI,`liteparse-napi`用於Node,`liteparse-python`用於Python,`liteparse-wasm`用於WASM,還有`pdfium`和`pdfium-sys`包裝器。構建命令使用`cargo build --release -p liteparse`、在`packages/node`中的`npm run build`、在`packages/python`中的`maturin develop --release`以及在`packages/wasm`中的`npm run build`。README還描述了一個代理技能:你可以透過`skills` CLI下載它,使用`npx skills add run-llama/llamaparse-agent-skills --skill liteparse`,或者複製`SKILL.md`檔案。該專案採用Apache 2.0授權。授權摘錄授予版權和專利許可,但README和授權沒有就支援、保證或安全作出宣告。

這一段要讀成 liteparse 的具體使用邊界,而不是泛用工具的宣傳。README 把 run-llama/liteparse 放在 Rust 生態中,並以明確的入口、選項或檔案說明使用者能做什麼。實際採用時,先照該段提到的名稱與路徑建立最小案例,再記錄命令回傳值、輸出檔案和錯誤訊息。若結果與文件不一致,應以實際版本的 README、CHANGELOG 或 Releases 逐項比對,不能把未記載的功能補成保證。liteparse 使用 Apache-2.0 授權,這只說明授權條款的適用範圍,不代表作者替部署環境承擔支援或安全責任。 本段標題為「開發、代理技能和授權」,核對序號 7。 在 liteparse 的 README 中,這一節涉及 run-llama/liteparse 的實際入口;文檔未說明的行為不在本文推論範圍。 針對 liteparse,還要分開看輸入、處理與輸出。輸入是否符合 README 的格式,決定後續結果能否比較;處理階段若涉及外部程式、Emacs 套件、Ruby 函式庫或系統工具,必須確認相依版本與權限;輸出則應檢查實際檔案、文字內容、網路請求或終端訊息。這些觀察點會把 liteparse 的特色轉成可重現的工程判斷,也能及早暴露文件沒有涵蓋的例外。再把 liteparse 放回原本的工作流程,逐項確認安裝、設定、執行、失敗處理和升級方式,才能知道它是否真的適合目前團隊。

編輯結論

LiteParse結合了基於PDFium的文字擷取、選擇性OCR和空間版面重建,是一個本地工具。README指出其Markdown輸出是啟發式和基於規則的,對於最複雜的文件,建議使用LlamaParse。該專案採用Apache 2.0授權;來源未建立安全保證或生產就緒性。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記