你可以免費從 PDF 中擷取所有可點擊的連結註解,無需註冊、無需帳號,也無需上傳,只要使用一個瀏覽器型態的 PDF Link Extractor,即可在裝置本機完整處理容量上限為 25 MiB、頁數上限為 40 頁的文件。這個工具透過 PDF.js 讀取每一頁的註解陣列,僅保留目標為支援的外部 URL 或具名或明確內部目的地的註解,將存活下來的清單依頁面與註解順序排序,去除同一頁中完全重複的項目,然後提供一份你可以複製、另存為 UTF-8 TXT,或匯出為已中和公式的 CSV 的純文字報表——全程不需建立帳號、驗證電子郵件,或將檔案傳送到遠端伺服器。由於擷取作業是在瀏覽器分頁內,於開啟該分頁的同一台機器上執行,因此來源 PDF 與所有擷取到的目標都保留在本地:不會有文件被上傳以供分析、不會為了確認是否能載入而去擷取任何目的地,也不會為了換取結果而收集電子郵件地址或付款資訊。這種免費、匿名、即時,且僅限於你自身裝置的組合,正是多數讀者在搜尋「無需註冊即可從 PDF 擷取連結」的方式時,真正想要的意思。

這個表面上的短語涵蓋了一整堆相關的麻煩。它涵蓋了第一天就要求信用卡的免費試用漏斗、橫在你與一個 4 KB 文字檔之間的「建立帳號才能下載」高牆、會觸發你並未要求的行銷郵件序列的「驗證電子郵件」對話框,以及悄悄將機密文件複製到你無法控制的後端的「上傳」步驟。一條本地、僅限瀏覽器的路徑能一次解決所有限制,因為擷取作業在持有該 PDF 的同一台裝置上執行,結果即時產生,而工具唯一要求的,只是你已經擁有的那份檔案。

extract links from pdf free no sign up
免費從 PDF 擷取連結,無需註冊:一個本地端做法

「無需註冊、無需上傳」真正為你換來了什麼

「無需註冊」是一個表面上的宣稱,但更深層的保證是你的檔案不會有任何部分離開瀏覽器分頁。PDF Link Extractor 只會在你按下按鈕之後才載入 PDF.js 函式庫及其共用 worker,在每一頁上讀取註解陣列,並在你開始新的工作或關閉分頁時,捨棄載入任務與任何暫時性的下載 URL。原始 PDF 永遠不會被更動——這個工具會產生一份獨立的報表,讓你的來源檔案保持為未經更動的紀錄。

實務上,這代表:

  • 不會要求提供電子郵件地址、密碼、OAuth 流程,或 API 金鑰。
  • 沒有註冊程序、付款欄位,或電子郵件確認步驟會擋在你與報表之間。
  • 文件於開啟分頁的同一台機器上處理;不會有副本被傳送到後端。

如果你想要更完整地了解「無需上傳」的連結報表是如何組合出來的,How to Get Every Link From a PDF Without Uploading 指南會從稍微不同的角度說明同一套隱私模型。

三個步驟拉出每一個連結

  1. 在瀏覽器中開啟 PDF Link Extractor,並從你的裝置中選擇一個 PDF 檔案。可接受容量上限為 25 MiB、頁數上限為 40 頁的檔案;加密、損壞,或超量的 PDF 會在任何擷取作業開始之前,以可見的錯誤訊息被拒絕。
  2. 按下 Extract Links。這個工具會向 PDF.js 請求每一頁的註解資料,僅保留目標為支援的外部 URL 或具名或明確內部目的地的註解,並依頁面與註解順序排序結果。同一頁中的完全重複項目會被移除,但不同頁面上重複出現的同一個連結會被保留下來,因為頁次資訊本身就是有用的證據。
  3. 檢視非作用中的目標,然後複製純文字報表,或下載 UTF-8 TXT 或 CSV 檔。螢幕上的顯示永遠不會瀏覽、擷取,或預覽任何擷取到的 URL——所有目標都以純文字顯示,因此這個工具本身絕對不可能意外地開啟它們。

報表內部:頁面、類型與目標

這份報表刻意保持平坦。每個被接受的連結註解會顯示所在的頁面、該頁面內的註解編號、類型(外部 URL 或內部目的地),以及非作用中的目標文字。同一頁的完全重複項目會被移除,以維持報表的可讀性;而不同頁面上重複出現的註解則會保留顯示,因為知道同一個 URL 出現在第 3、7 和 12 頁,往往正是讀者想得到的答案。

摘要區塊會記錄已檢查的註解數量、被接受的連結、被去除的重複項目,以及被略過的不安全或不支援的目標。這個摘要正是讓輸出能作為稽核紀錄的原因:你可以知道原本有多少個註解、保留了多少個、拒絕了多少個,進而得以健全地檢視是否有任何重要項目在無聲中被捨棄。

欄位意義範例
Page註解所在、從 1 開始計算的頁碼7
Annotation #該頁上註解的順序2
Type外部 URL 或內部目的地external
Target連結註解的非作用中文字https://example.com/report

哪些通訊協定會被保留,哪些會被略過

外部目標只有在採用一組狹窄的實用通訊協定時才會被接受。檢查為不分大小寫,且會拒絕任何包含控制字元的值,因此不尋常的編碼或隱藏的酬載不會溜進去。內部 PDF 目的地也會被接受;它們可以是具名目的地,或指向同一份文件中其他位置的明確目的地陣列,並在報表中以有界且可讀的表示方式標示為內部目標。

外部通訊協定是否保留於報表原因
http是標準網頁 URL
https是安全網頁 URL
mailto是電子郵件地址連結
tel是電話號碼連結
javascript否點擊時可能執行程式碼
data否內嵌酬載,浮現出來並不安全
file否會揭露本地檔案系統路徑
blob否瀏覽器內部,在分頁外毫無意義
其他所有否在核准清單之外

會產生兩個實務上的後果。第一,在頁面上以印刷文字呈現、但從未被設為可點擊的 URL 並不會出現,因為這個工具讀取的是連結註解,而不是掃描整個文字層去尋找形似 URL 的字串。這個選擇能減少來自壓縮串流、字型資料、元資料欄位,以及剛好包含冒號的普通內文所造成的誤判。第二,標示為 internal 的目標是一個新的內部目的地,不過這個工具並未宣稱能將每個目的地解析為最終頁碼,因為 PDF 之間的底層結構、頁面參考,以及檢視器行為差異極大。如果你需要唯一指定的最終頁面,請在 PDF 閱讀器中開啟 PDF 並直接循著連結前往。

PDF.js 所公開的註解資料記錄於 PDF.js PDFPageProxy.getAnnotations 參考;這個工具會取用該欄位,並在上面套用通訊協定與預算篩選器。

複製、TXT 或 CSV:選擇正確的輸出

有三種匯出路徑可供選擇,它們都承載相同且安全、非作用中的內容。哪個才是正確的選擇,取決於這份報表接下來要去哪裡。

輸出編碼最適用於安全備註
複製到剪貼簿純文字貼到聊天、電子郵件或筆記中非作用中文字;貼上時不會啟動任何連結
TXT 下載UTF-8封存或與先前的報表進行差異比對頁面標籤穩定,沒有控制字元
CSV 下載UTF-8在試算表中開啟以進行排序與篩選引號與換行已逸出;公式前綴已被中和

CSV 路徑是最需要小心的一條,因為試算表軟體會把第一個字元為 =、+、- 或 @ 的儲存格視為公式的開頭。若擷取到的目標長得像 =cmd|' /c calc'!A1,在 Excel 中直接開啟它可能會嘗試執行指令。這個工具會在序列化之前將該風險予以中和:那些原本會以試算表公式前綴開頭的儲存格會被改寫,使其首字元被逸出;內嵌的引號或換行則依標準 CSV 規則加以逸出,與 OWASP 對 CSV 注入的指引一致。輸出結果在你那一端仍會被視為不受信任的資料,但最常見的公式注入模式在檔案抵達你的試算表之前,就已經被攤平處理掉了。

限制、錯誤與邊界情況下會發生什麼

這個工具設有明確的上限,以避免單一異常文件產生無止境的工作或輸出。超過 25 MiB 或 40 頁的檔案會在擷取開始之前,以可見的錯誤訊息被拒絕。為了用具體數字說明這個容量上限:25 MiB 等於 25 × 1024 KiB,亦即 25 × 1,048,576 位元組,合計為 26,214,400 位元組。大於該值的 PDF 必須先進行裁剪(例如經過一個分割步驟),才能產生連結報表。

加密、格式錯誤或不支援的 PDF 會回傳相同類型的可見錯誤,而不是產生一份空白報表。這裡沒有無聲的零結果,因此乾淨的「找到 0 個連結」確實代表該文件沒有任何支援的連結註解,而不是檔案載入失敗。每頁的註解計數、目標長度,以及報表的總字元數也都有上限,藉此防止單一密度極高的文件產生出任意龐大的匯出。

如果你在第一份擷取作業還在執行時就啟動了第二份,先前的作業會被中止,其載入任務、頁面物件與下載 URL 會在新檔案被讀取之前被清理乾淨。這種取代行為在需要逐一處理堆疊中的多份 PDF,並且不想手動取消每一次先前執行時特別重要。

What the Report Is — and Is Not — Useful For

The report is well suited to four jobs: inventorying where a document sends readers, checking a PDF before a content migration, doing a quick QA pass on a draft, and reviewing which destinations a marketing or sales PDF exposes. It is not a crawler, a broken-link checker, a phishing detector, an accessibility audit, or a content scanner. A target's presence in the report says only that PDF.js exposed a supported link annotation; it does not say the destination is reachable, safe, appropriate, or even spelled correctly. Important destinations should be verified independently before they are visited, republished, or shared, and the original PDF should be kept unchanged as the source record.

For most everyday uses — pulling URLs out of a press kit, copying references out of a white paper, listing resources from a syllabus, or pulling meeting-track tiles from a sponsor deck — that boundary is exactly the right size. You get a flat, page-ordered list of every clickable annotation, in a format you can paste or open, without signing up, uploading, or paying.

Related reading: Extract Images From a PDF at High Quality in Your Browser.