馴服失控的 AI 格式!n8n + Google Docs 自動化套印術,打造完美精準文件

告別AI 總是亂生格式?讓自動化流程幫你「定型」

許多人在工作時會利用 AI 整理資料,但最令人頭痛的狀況是:雖然 AI 整理出的內容是對的,但當要求它匯入固定格式時,它經常會「自我發揮」,甚至亂產生不符合規範的結構

為了改善這個問題,我們不應該讓 AI 直接產出最終文件。最好的做法是讓 AI 負責「數據清洗」,再透過 n8n 擔任嚴格的工廠領班,將清洗後的 JSON 數據,透過類似word「信件套印」的方式,精準、死板地填入 Google Docs 模板中 。這樣既能享有 AI 的智慧,又能確保文件格式百分之百正確。

結構化資料轉換,精準排版不走鐘

這套流程能達成的最終目標如下:

  • 格式絕對固定:無論 AI 提供的資料多複採,最終產生的 Word 檔絕對符合你預設的企業標準格式 。
  • 自動化取件頁面:處理完成後,系統會自動生成一個專屬下載頁面,讓你能即時領取完美的 .docx 檔案 。

特別注意:後來測試完後有發現字型會是一個問題,所以若格式上要求到完美的話,需要將檔案下載後,再進Word進行字型的設定即可。

從混亂到有序的自動化之路
第一步:設計你的「不可變」模板

首先,在 Word 中建立你理想的固定格式,並在需要填入資料的地方使用 {{變數名稱}} 做標記

  • 關鍵在於:讓 AI 輸出的 JSON 欄位名稱與模板標籤(如 {{course_info}})完全對應 。
  • 完成後,將此 Word 檔上傳至 Google Drive 備用 。
  • 並記錄檔案的ID,此處的ID不是文件的檔名。
    • 開啟上傳的雲端檔案後,在網址列上的序號,https://docs.google.com/document/d/你的檔案ID/edit
第二步:解決轉檔障礙(API 高手技巧)

由於上傳的Word檔不是Google原生的Docs格式,會導致Google Docs API 沒辦法直接編輯。因此,我們需要透過 n8n 的 HTTP Request 節點,發送 API 指令將其「複製並強制轉檔」為 Google Docs 原生格式 。

Http Request節點設定說明

  • Method:POST
  • URL:https://www.googleapis.com/drive/v3/files/你的檔案ID/copy
  • Authentication:Predefined Credential Type
  • Credential Type:Google Drive OAuth2 API
  • Google Drive OAuth2 API:選你預建好的
  • Send Body:開啟
  • Body Content Type:JSON
  • Specify Body:Specify Body
  • Body Parameters
    • Name:mimeType
    • Value:application/vnd.google-apps.document
    • Name:name
    • Value:檔案名稱(這邊可以自定或自動抓取設定)

關鍵參數說明:mimeType設定的Value主要是解決「Office 檔案不可編輯」的錯誤,以確保n8n的資料能順利填入 。

第三步:資料與欄位對齊

套印資料部份,是利用Google Docs Update a document節點做設定

Update a document節點設定說明

  • Doc ID or URL:{{ $json.id }} (利用上一個節點取得ID)
  • Actions:選Add Actions
    • Object:Text
    • Action:Find and Replace Text
    • Old Text:(變數欄位名稱)
    • New Text:要填入的內容

後續可以依據自己的需求自行增設新的Actions,增加置換的內容。

有時在套印資料時,產生的JSON格式會是以陣列方式輸出,但Google Docs Update的「Find and Replace Text」僅能使用字串,因此需要將陣列內容透過函式轉換。

  • 處理陣列(Array):如果 AI 整理出一串項目,使用 .join('\n') 將其轉換成一列一列的文字 。
  • 防止空值報錯:使用 {{ $json.field || "" }} 確保即便 AI 漏掉某個欄位,流程也不會因為抓不到值而中斷 。
第四步:自動化「出口」設定

當 n8n 幫你把資料填入模板後,我們需要將檔案拿回來,但Google Drive: Share僅能將檔案做分享權限開放設定,無法取得下載連結,因此需要再利用HTTP Request來取得下載頁面。

Google Drive: Share 節點設定:

HTTP Request節點設定:

  • Method:GET
  • URL:https://www.googleapis.com/drive/v3/files/你檔案ID?fields=webViewLink,webContentLink
  • Authentication:Predefined Credential Type
  • Credential Type:Google Drive OAuth2 API
  • Google Drive OAuth2 API:選你預建好的

由於前面是採用n8n的表單,所以無法使用Respond to Webhook來產生下載連結頁面,所以要使用Form Ending節點來處理。當使用者提交資料後,螢幕會在處理完畢後直接彈出下載連結,並將檔案做開啟的動作 。

透過這套流程,我們把 AI 當成「大腦」處理邏輯,把 n8n 與 Google Docs 當成「手腳」固定輸出。這不僅解決了 AI 格式亂跳的煩惱,更大幅提升了文書作業的專業度與自動化程度!

發佈留言

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