iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0
Build on Google AI

AI 避雷探針|Google Maps 店家評論智慧分析助手系列 第 23 篇

Day 23|新增下載功能,讓分析結果可以保存成 PDF

  • 分享至 

  • xImage
  •  

在前幾天的開發中,我已經逐步完成 AI 避雷探針的店家搜尋、評論分析、會員登入,以及歷史紀錄頁面。
目前網站可以透過 AI 分析 Google Maps 店家評論,整理出店家的優點、缺點、價格、環境、等待時間及其他注意事項。加入會員功能後,也開始有了保存歷史報告的需求。
不過,我又想到一個問題:如果使用者只是臨時查詢一間店家,沒有註冊會員,想把分析結果保存下來,該怎麼辦?
有些人可能想在出門前先查好店家,也有人希望把分析結果傳給朋友,或是留著之後參考。如果每次都只能回到網站查看,使用上還是有些不方便。
因此,今天決定新增避雷報告下載功能,讓使用者可以把 AI 分析結果保存成 PDF。
這次的設計原則是:下載功能不需要登入,訪客與會員都可以保存當次產生的避雷報告。

一、規劃報告下載方式

一開始,我先思考要使用什麼方式產生 PDF。
如果要自行開發 PDF 產生功能,可能需要額外安裝套件,還要處理中文字型、版面配置及分頁等問題。
考量目前專案的開發進度,我決定先使用瀏覽器內建的列印功能。
基本概念是先將報告整理成適合列印的網頁版面,再讓使用者點選「下載/列印報告」,開啟瀏覽器的列印視窗。
使用者接著可以選擇「另存為 PDF」,將報告保存到自己的裝置。
這種方式不需要額外的 PDF 套件,也能繼續沿用目前的 HTML、CSS 與 JavaScript。

二、設計下載按鈕

首先,我規劃在原本的避雷報告頁面新增一個「下載/列印報告」按鈕。
按鈕會放在報告內容附近,讓使用者看完分析結果後,就能直接保存報告,不必再另外尋找功能入口。

【實際操作圖 1 :避雷報告頁面的下載按鈕】
https://ithelp.ithome.com.tw/upload/images/20261005/20178908OOUTTMuEI8.png
在 AI 避雷報告頁面新增下載/列印功能,讓使用者可以直接保存分析結果。

這個按鈕的功能不是直接把網頁截圖,而是呼叫瀏覽器的列印功能,讓報告可以依照文字與版面配置輸出。
因此,接下來還需要處理報告內容的整理,以及列印時的版面樣式。

三、調整適合列印的版面

網頁畫面適合互動操作,但不代表直接列印就會有良好的閱讀體驗。
例如,原本的網頁可能有導覽列、返回按鈕、下載按鈕或其他操作元件。這些內容對使用網站很有幫助,卻不需要出現在 PDF 裡。
實際輸出的欄位會依照目前網站已經產生的分析結果調整,不需要為了下載功能重新執行一次 AI 分析。
這樣可以避免使用者只是想下載報告,卻需要重新等待 AI 回覆。
因此,我也開始考慮列印專用的 CSS 樣式。

預計調整以下項目:

  • 隱藏不需要列印的按鈕與導覽列。
  • 保留店家名稱、地址及完整分析內容。
  • 使用清楚的標題與段落層級。
  • 設定適合紙張閱讀的留白與文字大小。
  • 避免同一個分析項目的標題與內容被分隔到不同頁面。
  • 讓較長的報告可以自然延伸到下一頁。

【實際操作圖 2:列印預覽畫面】
https://ithelp.ithome.com.tw/upload/images/20261005/20178908VdSBfHeUPo.png

四、測試 PDF 輸出結果

完成按鈕與列印版面後,接下來最重要的工作就是實際測試。
因為報告內容是由 AI 產生的,每次分析的文字長度可能不同。如果只使用短篇內容測試,很容易忽略長篇報告可能發生的問題。
因此,我將測試重點分成以下幾項:

測試項目 確認內容
中文顯示 中文是否正常呈現,沒有亂碼
段落換行 長句是否會自動換行
長篇內容 多個分析項目是否完整輸出
分頁效果 內容是否被不自然地切開
頁面元素 列印時是否隱藏不需要的操作按鈕
PDF 保存 是否能透過「另存為 PDF」保存檔案

【實際操作圖 3:PDF 輸出結果】
https://ithelp.ithome.com.tw/upload/images/20261005/20178908JKh7SZilRM.png
https://ithelp.ithome.com.tw/upload/images/20261005/20178908VTXeAWwy5Y.png

五、讓訪客與會員都能下載報告

這次功能設計的另一個重點,是不將下載功能限制在會員身上。
訪客完成店家分析後,就可以直接下載當次的報告,不需要先註冊帳號。
會員則可以使用相同的下載功能。如果之後想再次查看之前保存的報告,也可以從歷史紀錄頁面進入,再使用下載功能。
這裡需要區分兩件事:

  • 下載報告: 將目前顯示的報告保存成 PDF,不需要登入。
  • 儲存歷史紀錄: 將報告保存到會員帳號中,以便日後從其他時間再次查看,需要登入會員。

這樣可以讓兩種使用者都保有基本的使用便利性,同時也維持會員歷史紀錄功能的價值。
對於只是偶爾查詢店家的訪客來說,可以直接下載;對於經常使用網站的會員來說,則可以透過歷史紀錄管理過去的分析結果。

六、今日心得

今天主要是讓 AI 避雷探針產生的分析結果不只停留在網頁上,也能透過 PDF 保存下來。
這次選擇瀏覽器內建的列印功能,是希望先以比較簡單的方式完成實用的功能,不必為了產生 PDF 而增加太多額外的開發工作。
不過,實際製作後也能發現,下載功能並不只是新增一個按鈕。報告內容的整理、中文顯示、長篇文字換行,以及列印時的分頁效果,都會影響最後的使用體驗。
接下來,我希望繼續完善網站的操作流程,並確認會員歷史紀錄與報告下載功能可以順利搭配使用。
希望透過這些逐步累積的功能,讓 AI 避雷探針不只是能產生分析結果,也能讓使用者更方便地保存與運用這些資訊。


上一篇
Day 22|實作會員登入與歷史紀錄頁面
下一篇
Day 24|讓 AI 報告更好讀:九宮格排版優化與全站 UI 統一
系列文
AI 避雷探針|Google Maps 店家評論智慧分析助手 共 26 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言