在前幾天的開發中,我已經逐步完成 AI 避雷探針的店家搜尋、評論分析、會員登入,以及歷史紀錄頁面。
目前網站可以透過 AI 分析 Google Maps 店家評論,整理出店家的優點、缺點、價格、環境、等待時間及其他注意事項。加入會員功能後,也開始有了保存歷史報告的需求。
不過,我又想到一個問題:如果使用者只是臨時查詢一間店家,沒有註冊會員,想把分析結果保存下來,該怎麼辦?
有些人可能想在出門前先查好店家,也有人希望把分析結果傳給朋友,或是留著之後參考。如果每次都只能回到網站查看,使用上還是有些不方便。
因此,今天決定新增避雷報告下載功能,讓使用者可以把 AI 分析結果保存成 PDF。
這次的設計原則是:下載功能不需要登入,訪客與會員都可以保存當次產生的避雷報告。
一開始,我先思考要使用什麼方式產生 PDF。
如果要自行開發 PDF 產生功能,可能需要額外安裝套件,還要處理中文字型、版面配置及分頁等問題。
考量目前專案的開發進度,我決定先使用瀏覽器內建的列印功能。
基本概念是先將報告整理成適合列印的網頁版面,再讓使用者點選「下載/列印報告」,開啟瀏覽器的列印視窗。
使用者接著可以選擇「另存為 PDF」,將報告保存到自己的裝置。
這種方式不需要額外的 PDF 套件,也能繼續沿用目前的 HTML、CSS 與 JavaScript。
首先,我規劃在原本的避雷報告頁面新增一個「下載/列印報告」按鈕。
按鈕會放在報告內容附近,讓使用者看完分析結果後,就能直接保存報告,不必再另外尋找功能入口。
【實際操作圖 1 :避雷報告頁面的下載按鈕】
在 AI 避雷報告頁面新增下載/列印功能,讓使用者可以直接保存分析結果。
這個按鈕的功能不是直接把網頁截圖,而是呼叫瀏覽器的列印功能,讓報告可以依照文字與版面配置輸出。
因此,接下來還需要處理報告內容的整理,以及列印時的版面樣式。
網頁畫面適合互動操作,但不代表直接列印就會有良好的閱讀體驗。
例如,原本的網頁可能有導覽列、返回按鈕、下載按鈕或其他操作元件。這些內容對使用網站很有幫助,卻不需要出現在 PDF 裡。
實際輸出的欄位會依照目前網站已經產生的分析結果調整,不需要為了下載功能重新執行一次 AI 分析。
這樣可以避免使用者只是想下載報告,卻需要重新等待 AI 回覆。
因此,我也開始考慮列印專用的 CSS 樣式。
預計調整以下項目:
【實際操作圖 2:列印預覽畫面】
完成按鈕與列印版面後,接下來最重要的工作就是實際測試。
因為報告內容是由 AI 產生的,每次分析的文字長度可能不同。如果只使用短篇內容測試,很容易忽略長篇報告可能發生的問題。
因此,我將測試重點分成以下幾項:
| 測試項目 | 確認內容 |
|---|---|
| 中文顯示 | 中文是否正常呈現,沒有亂碼 |
| 段落換行 | 長句是否會自動換行 |
| 長篇內容 | 多個分析項目是否完整輸出 |
| 分頁效果 | 內容是否被不自然地切開 |
| 頁面元素 | 列印時是否隱藏不需要的操作按鈕 |
| PDF 保存 | 是否能透過「另存為 PDF」保存檔案 |
【實際操作圖 3:PDF 輸出結果】

這次功能設計的另一個重點,是不將下載功能限制在會員身上。
訪客完成店家分析後,就可以直接下載當次的報告,不需要先註冊帳號。
會員則可以使用相同的下載功能。如果之後想再次查看之前保存的報告,也可以從歷史紀錄頁面進入,再使用下載功能。
這裡需要區分兩件事:
這樣可以讓兩種使用者都保有基本的使用便利性,同時也維持會員歷史紀錄功能的價值。
對於只是偶爾查詢店家的訪客來說,可以直接下載;對於經常使用網站的會員來說,則可以透過歷史紀錄管理過去的分析結果。
今天主要是讓 AI 避雷探針產生的分析結果不只停留在網頁上,也能透過 PDF 保存下來。
這次選擇瀏覽器內建的列印功能,是希望先以比較簡單的方式完成實用的功能,不必為了產生 PDF 而增加太多額外的開發工作。
不過,實際製作後也能發現,下載功能並不只是新增一個按鈕。報告內容的整理、中文顯示、長篇文字換行,以及列印時的分頁效果,都會影響最後的使用體驗。
接下來,我希望繼續完善網站的操作流程,並確認會員歷史紀錄與報告下載功能可以順利搭配使用。
希望透過這些逐步累積的功能,讓 AI 避雷探針不只是能產生分析結果,也能讓使用者更方便地保存與運用這些資訊。