ResumeToJob 開源履歷產生器:履歷不出瀏覽器,免費匯出 PDF

我在深夜實際打開 ResumeToJob 的官網,建了一份測試履歷,按下載鍵,PDF 檔案直接進了下載資料夾。整個過程瀏覽器的對外請求清一色是載入靜態檔案的 GET,沒有任何一筆把履歷內容送出去的請求。這個結果我想先講在前面,因為它是這個工具最值得信賴的部分,也是理解它全部優點與全部風險的起點。 ResumeToJob 是一套免費、開源的線上履歷產生器,程式碼放在 GitHub 上,任何人都能查看

用 AI 摘要這篇文章:

我在深夜實際打開 ResumeToJob 的官網,建了一份測試履歷,按下載鍵,PDF 檔案直接進了下載資料夾。整個過程瀏覽器的對外請求清一色是載入靜態檔案的 GET,沒有任何一筆把履歷內容送出去的請求。這個結果我想先講在前面,因為它是這個工具最值得信賴的部分,也是理解它全部優點與全部風險的起點。

ResumeToJob 是一套免費、開源的線上履歷產生器,程式碼放在 GitHub 上,任何人都能查看、下載、自己架一份。它免註冊、無付費牆、匯出的 PDF 不加浮水印。這三件事加上前面說的「不上傳」,全部來自同一個設計決策:你的履歷只存在瀏覽器的 localStorage 裡,從填寫到匯出 PDF 都在你的電腦上完成。這個決策做得徹底,好處很實在;但它同時意味著資料綁在單一瀏覽器上、容量滿了不會有人提醒你、換裝置前得自己記得備份。這篇文章就把這個交換攤開來算給你看。

實測打開官網:填資料、按下載,PDF 直接到手

實測流程很短,這本身就是它的一個賣點。打開 resumetojob.ltlyl.fun,首頁左邊一個大的建立履歷按鈕,按下去就進編輯器,沒有註冊頁、沒有信箱驗證、沒有「升級專業版」的彈窗。編輯器是左右分割:左邊表單填個人資料、工作經歷、學歷、專案、技能,右邊即時預覽履歷長相,改一個字右邊馬上跟著變。履歷填好後按右下角的下載按鈕,PDF 檔案直接存進下載資料夾,檔案是瀏覽器在本機生成的,匯出動作本身不到一分鐘。

ResumeToJob 官網首頁:左側建立履歷按鈕與右側履歷預覽,頂部導覽列與 GitHub 星數按鈕Pin
ResumeToJob 官網首頁,免註冊直接開始編輯(圖片來源:ResumeToJob 官網截圖)

網路請求這一面可以攤開來看。我開著請求記錄跑完整個流程,全程只有四類對外連線:官網自己的頁面與腳本、jsDelivr CDN 上的字型檔、GitHub 星數徽章、以及一支 Vercel 流量統計腳本。履歷欄位的內容從頭到尾沒有離開過瀏覽器。字型檔的請求數量不少,一次工作階段我記到六十四個:十款英文字型一進編輯器就整批從 CDN 載下來,每款兩個字重,中文字型則看瀏覽器語言決定載不載。這也解釋了官方常見問題裡字沒載完就匯出會亂碼的提醒。

ResumeToJob 履歷編輯器:左側表單填寫個人資料與經歷,右側即時預覽履歷版面Pin
編輯器左右分割,左邊填資料右邊即時預覽,右下角就是匯出 PDF 的下載鈕(圖片來源:ResumeToJob 官網截圖)

「不上傳」是寫在結構裡,不是寫在文案裡

很多工具都會在隱私頁寫「我們重視您的資料」,ResumeToJob 的說法可以更進一步檢驗,因為它是開源的。我把原始碼抓下來看過一輪:整套 Next.js 應用裡沒有任何一條後端 API 路由,前端程式碼裡也找不到任何 fetch 或類似的請求呼叫。換句話說,就算開發者想收你的履歷,這套程式碼也沒有地方可以收。「資料存在本地瀏覽器」對它來說不是行銷承諾,而是程式結構的事實。

不過有兩個但書要誠實交代。第一,網站掛了 Vercel Analytics,你的造訪行為會進站長的流量統計;第二,字型檔來自 jsDelivr CDN,你的 IP 會出現在 CDN 日誌裡。這兩件事碰的都是「誰來過這個網站」,不是「你的履歷寫了什麼」。對一般求職情境來說這條線畫得夠清楚,但如果你要的是連造訪紀錄都不留下,那答案是把原始碼抓回來自己跑,官方也為此寫了一份不假設你會寫程式的本地執行教學。

儲存的機制也交代一下。履歷每有變動,程式會在半秒內自動存進 localStorage 的一個固定鍵值裡,我進編輯器後實際查看,鍵值已經寫入了一千多個位元組的預設資料。照片欄位用的是瀏覽器的 FileReader 把圖檔轉成 base64 字串直接放進這份狀態裡,所以大頭照一樣不出瀏覽器,代價是它會以文字形式佔用 localStorage 的空間。

資料住在瀏覽器的意思:換台電腦它就留在原地

免費加上不上傳聽起來很吸引人,但 localStorage 不是雲端空間,這是使用前要想清楚的取捨。

它綁定單一瀏覽器。你在家用 Chrome 寫的履歷,到公司開 Edge 或用別台電腦打開官網,看到的是空白的。清掉瀏覽器資料、重灌系統、換手機,履歷會跟著消失,沒有任何帳號可以讓你登回來救。官方在 README 的置頂警告寫得很直白:資料存在瀏覽器本地,為防意外遺失,建議用管理履歷功能匯出保存。這不是客氣話,是這種儲存方式的必然結論。

更隱蔽的問題是容量。localStorage 每個網站通常只有五 MB 上下的配額,履歷文字本身很小,但照片轉成 base64 之後會膨脹,多份履歷加上多張照片慢慢會逼近上限。我把儲存程式碼讀完,發現超過四 MB 的提醒只在開發模式顯示,真的撞上配額上限時,程式只會在瀏覽器 console 裡記一筆錯誤,畫面上什麼都不會發生。你以為它在自動存檔,其實從某個時刻起它已經靜靜地存不進去了。

逃生門是有的:管理履歷功能可以把全部履歷匯出成一個 JSON 檔,檔名帶著當天日期,之後再匯入還原。把它當成「每次改完履歷就匯出一份」的習慣,這個工具的資料風險就降到很低;反過來說,如果你是那種裝了工具就再也不管備份的人,它遲早會給你一次教訓。

功能卡上那個「即將上線」,和上游拔掉的解析器

首頁列了六張功能卡,第一張寫著履歷解析,說明文字的結尾標註這個功能正在優化、即將上線。對照原始碼,這張卡講的是實話:首頁程式裡留有一行註解,說明解析器的相關內容已經刪除。現在的 ResumeToJob 是一個純粹的履歷編輯器,編輯器本身是完整的。

ResumeToJob 首頁功能卡中的履歷解析卡片,說明文字標註功能優化中即將上線Pin
首頁第一張功能卡是履歷解析,標註即將上線,這個功能目前不在程式碼裡(圖片來源:ResumeToJob 官網截圖)

這裡有段血緣要知道。ResumeToJob 是從更早的開源專案 OpenResume 改出來的,開發者在 README 裡也大方承認。OpenResume 有兩個部分:履歷產生器,以及一個把現有履歷 PDF 丟進去、測試 ATS 能不能正確讀取的解析器。ResumeToJob 把前者拿來中文化,加上大頭照欄位、八款模板樣式與 Markdown 即時語法,十二色主題盤沿自上游,而解析器沒有跟過來。所以如果你看上的是「檢查我的履歷 ATS 可讀性」這個功能,現階段要回上游的網站才用得到。

ATS 友善這件事本身要打折扣看。官網功能卡說模板格式能讓徵選系統正確解析、提高通過率,這是行銷文案的說法。我把填了繁中內容的履歷匯出後解開檢查,PDF 文字層讀得回所有中文字,可以選取複製,這是機器可讀的基本條件;至於個別公司的系統把內容解得多乾淨,沒有人能替你保證。

八款模板、十二色主題,加上一份藏起來的多履歷管理器

模板是它相對上游最花力氣的部分。介面上有經典、專業、現代、優雅、創意、科技、極簡、緊湊八個中文名字,實際上是同一套單欄版面的八組樣式包,差別在配色、標題裝飾線、字級與區塊間距的組合;切換模板時右側預覽即時重排,已填的內容原封不動跟著搬過去,換版型不用重打履歷。主題色有十二色可選,字級有三段預設,紙張可選 A4 或 Letter。

表單本身有兩個設計要記下來。區塊標題是可以改的,工作經歷、學歷、專案這些欄位名稱都是可編輯的文字欄位,你想把某段改名成接案經歷或志工服務直接點開改字就行;內文欄位走 Markdown 語法,星號粗體、條列符號這些手勢在輸入時就生效,習慣用純文字寫東西的人會覺得順手。照片欄位放在個人資料區,上傳後縮圖直接嵌進預覽,輸出 PDF 時跟著排版,不需要另外處理圖片。

多履歷管理是藏在工具列裡的功能:可以新增、複製、刪除多份履歷,求職不同產業各存一版,投遞前切換再微調。這個功能同時就是前面說的備份出入口,全部履歷能匯出成單一 JSON 檔,檔名自動帶上匯出日期,換瀏覽器或換電腦時把檔案匯入就還原。它沒有雲端帳號,但這個檔案就是你的隨身履歷庫,放進自己的雲端硬碟或隨身碟,責任就從工具移轉到你身上。

台灣使用者打開它會先撞到的事

先說介面語言。它只有簡體中文和英文兩種介面,沒有繁中選項,所有按鈕與欄位名稱都是簡體字。功能不受影響,輸入繁中內容沒有障礙,字型的坑下一段會講;但整個使用過程你會一直看到簡體 UI。

字型是另一件事,而且有個一定會踩的坑。新履歷的預設字型是 Roboto,中文內容用預設值匯出會變亂碼,我第一次用預設值匯出繁中內容就中獎;要到字型選單手動切換成思源黑體,介面上也標注了只有它支援中文、其他字型都會亂碼。切對字型重匯,繁中內容就完整可讀。它的中文字型只有這一款思源黑體的簡體版,原始碼設定把它掛給 zh、zh-CN、zh-TW 三種瀏覽器語言,所以台灣使用者拿得到它,但這套字集針對簡體排版,繁體字形的細節不會像專門做給繁體的字型那麼講究。還有個小陷阱:它依瀏覽器語言決定要不要載中文字型,你的瀏覽器語言清單裡完全沒有中文的話,字型選單裡就不會出現中文字型,這在官方常見問題裡也是熱門條目。

還有一件事反而是好消息。README 的部署教學開頭假設讀者可能連不上官網、需要自備翻牆工具,那是寫給中國大陸讀者的處境。網站本身架在 Vercel 上,我從台灣連線直接開,速度正常,不需要任何工具。

它的血緣與維護現況:一個人改出來的 OpenResume 分支

把專案脈絡攤開,你會更知道自己在依賴什麼。上游 OpenResume 有八千八百多顆星,2024 年 10 月之後就沒有再更新;ResumeToJob 從 2025 年 5 月開始,累積一百三十七次提交,四百四十四顆星,但提交紀錄幾乎全部來自同一位開發者,主分支最近一次實質更新停在 2025 年 10 月。實質單人維護的好處是風格一致、教學寫得用心;風險是停更沒有人接手,免費工具裡這種事見得多了,官方站點現在活著不等於永遠活著,這也是養成匯出備份習慣的另一個理由。

授權是 AGPL-3.0。對一般求職者只是免費可自由使用;但如果你打算拿它的原始碼改一版履歷服務放上網路營運,AGPL 要求你公開修改後的原始碼,商業改造前值得先讀完授權條款再動工。自架給自己或團隊內部用則很單純,照官方教學裝好 Node.js 22、裝依賴就能跑,編輯與匯出都在本機進行,也不會有流量統計;要留意的是字型檔仍從 jsDelivr CDN 載,斷網環境下中文字型載不進來,就會撞上官方常見問題裡提醒過的匯出亂碼。想找自架又帶帳號同步的其他選擇,之前介紹過的 JadeAI 是另一個方向。

願意自己按匯出的人用它,要雲端同步的人繞開

它適合的人很明確:想要一份乾淨的中文履歷 PDF、不想註冊又一個帳號、不想把履歷交給雲端服務、而且願意自己按匯出備份的人。版型以一到兩頁的專業履歷為設計目標,配色與欄位結構的自由度足夠做出一份不丟臉的履歷,全程免費且匯出無浮水印。

它不適合的情境也一樣明確。你需要跨裝置雲端同步、履歷範本庫、AI 幫你潤稿改寫,或是那個 ATS 檢測器,這些它都沒有,去用雲端型或 AI 型的履歷服務會更省事。你在意介面語言與繁體字型細節,它的簡體 UI 會一直提醒你它是為簡中環境寫的。你完全不想管理備份,localStorage 的儲存方式總有一天讓你後悔。

我的結論是把它當一台放在瀏覽器裡的履歷印刷機:資料進來、PDF 出去,全程在你眼前,但它不替你保管任何東西。理解這一點,它是一個誠實又免費的好工具;期待它像雲端服務一樣幫你善後,那用起來會處處失望。每次改完履歷按一下匯出,這個動作就是它與付費服務之間真正的全部差距。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1209

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...