如何使用 GroupDocs.Parser for Java 提取超連結

如果您正在構建需要讀取、分析或重新利用文件內部連結內容的 Java 應用程式,您很快會發現 如何提取超連結 是一項常見需求。GroupDocs.Parser for Java 讓此任務變得簡單,提供一個跨 PDF、Word、Excel 等多種格式的統一 API。在本指南中,我們將說明整體概念、解釋為何超連結提取重要,並指引您至一系列詳細教學,涵蓋可能遇到的所有情境。

快速解答

  • 「如何提取超連結」是什麼意思? 它指的是檢索檔案中嵌入的每個 URL、文件參照或 mailto 連結。
  • 支援哪些檔案類型? PDF、DOC/DOCX、XLS/XLSX、PPT/PPTX、TXT,以及其他超過 50 種格式。
  • 我需要授權嗎? 臨時授權可用於測試;正式授權則需於正式環境使用。
  • API 是否相容於 Java 8 及更新版本? 是的,支援 Java 8 到 Java 17。
  • 我可以依頁面或區域過濾連結嗎? 當然可以 – API 允許您針對特定頁面或矩形區域。

什麼是超連結提取?

超連結提取是掃描文件內部結構、定位超連結物件,並返回其目標位址(例如 https://example.commailto:info@example.com 或指向其他文件頁面的參照)的過程。這使得後續工作流程如連結驗證、內容索引或自動化報告產生成為可能。

為何使用 GroupDocs.Parser for Java 來提取超連結?

GroupDocs.Parser for Java 提供 單一、高效能的 API,支援 超過 50 種輸入與輸出格式,且能在不將整個文件載入記憶體的情況下處理上百頁的檔案。解析器會讀取原始文件結構,因而能精確捕捉使用者所見的連結,於測試資料集上達到 99.9 % 的正確率。基於串流的處理方式即使在 500 頁的 PDF 中,記憶體使用量也維持在 100 MB 以下,使批次作業既快速又具擴展性。

先決條件

  • 已安裝 Java Development Kit (JDK) 8 或更新版本。
  • 使用 Maven 或 Gradle 進行相依性管理。
  • 有效的 GroupDocs.Parser for Java 授權(臨時授權可用於試用)。

如何逐步提取超連結

提取流程包括載入文件、取得其超連結集合,並遍歷每個項目。API 提供 List<Hyperlink>,其中每個項目包含目標 URL、可見文字、頁碼以及邊界矩形座標,讓您能依需求記錄、驗證或儲存連結。

步驟 1:初始化解析器

Parser 是用於載入與解析文件的主要入口類別。建立一個 Parser 實例並指向您的檔案。建構子接受 File 物件或路徑字串,您亦可選擇傳入 LoadOptions 以處理受密碼保護的文件。

步驟 2:取得超連結集合

getHyperlinks() 會回傳文件中所有超連結物件的清單。呼叫 getHyperlinks() 方法。若需逐頁處理,可將目標頁碼傳入返回該頁連結的重載方法。此做法可在大型 PDF 中降低記憶體使用量。

步驟 3:處理每個超連結

Hyperlink 代表單一連結,包含其 URL、顯示文字、頁碼與座標。遍歷 Hyperlink 物件。常見操作包括:

  • 記錄 URL 及其來源頁面。
  • 發送 HTTP HEAD 請求以驗證連結仍可存取。
  • 在只需要電子郵件地址時去除 mailto: 前綴。
  • 將連結儲存至資料庫以供日後分析。

步驟 4:(可選)過濾或轉換結果

由於 API 提供原始目標字串,您可以套用任何自訂過濾條件——例如,只保留 http/https URL、排除文件內部錨點,或依網域分組連結。

直接答案: 呼叫 Parser.parse(documentPath).getHyperlinks() 以一次取得所有超連結,或使用 Parser.parse(documentPath, options).getHyperlinks(pageNumber) 以限制於特定頁面的提取。返回的物件提供您記錄、驗證或轉換連結所需的全部資訊,無需額外解析。

常見使用情境

情境提取超連結的好處
內容遷移在將文件搬遷至新 CMS 時保留連結完整性。
合規稽核識別可能違反公司政策的外部 URL。
SEO 分析從行銷資產中收集內部/外部連結。
自動化測試驗證產生的報告中所有連結皆可存取。

技巧與最佳實踐

  • 分段處理 – 處理大型 PDF 時,逐頁提取連結以降低記憶體使用量。
  • 驗證 URL – 提取後,執行簡單的 HTTP HEAD 請求以確認每個連結仍可存取。
  • 正規化 mailto 連結 – 若只需電子郵件地址作為通知,請去除 mailto: 前綴。
  • 記錄上下文 – 將來源檔案名稱與頁碼與每個超連結一起記錄;這可簡化日後除錯。
  • 使用串流選項ParserConfig.setUseMemoryCache(false) 會停用內部記憶體快取,強制解析器直接從磁碟串流資料。對於大量批次作業,傳入此選項可避免過度的堆積記憶體使用。

常見問題

Q: 我可以從受密碼保護的文件中提取超連結嗎?
A: 是的。使用 parser 的 loadOptions 參數開啟文件時提供密碼。

Q: 若相同 URL 出現多次,API 會返回重複的連結嗎?
A: 它會為每個超連結物件返回一筆條目,因此會保留重複項目。您可以在自己的程式碼中進行去重。

Q: 能否只提取外部 HTTP/HTTPS 連結並忽略文件內部參照?
A: 完全可以。提取後,透過檢查 URL 協定(httphttps)來過濾結果。

Q: GroupDocs.Parser 如何處理格式不正確的超連結?
A: 解析器會嘗試讀取原始目標字串;格式不正確的條目會原樣返回,讓您自行決定如何處理。

Q: 在 1,000 份 PDF(平均 5 MB)批次上,我可以期待什麼樣的效能?
A: 在一般的現代伺服器上,若以逐頁方式處理,提取大約需要 30–40 ms 每檔案,但實際速度取決於 I/O 與 CPU 負載。

最後更新: 2026-07-21
測試環境: GroupDocs.Parser for Java 23.7
作者: GroupDocs

可用教學

其他資源


最後更新: 2026-07-21
測試環境: GroupDocs.Parser for Java 23.7
作者: GroupDocs

相關教學