Node.js PDF 轉 Base64 後會變空白的問題

幫朋友解決寄信附件 PDF 空白的問題,在 Node.js 中產生 PDF 檔案後如果用 fs 讀檔後再丟到 Buffer 會造成 PDF 變空白的狀況。

const filepath = '/file.pdf';
const pdfBinary = fs.readFileSync(filepath, 'base64');
const pdfData = Buffer.from(pdfBinary, 'base64');
const base64Pdf = pdfData.toString('base64');

問題就在 fs.readFileSync(filepath, 'base64')
要把 encode 改成 nullBuffer.from(pdfBinary, 'base64') 時才不會造成二次轉換。

完整的 code 如下

const filepath = '/file.pdf';
const pdfBinary = fs.readFileSync(filepath, null);
const pdfData = Buffer.from(pdfBinary, 'base64');
const base64Pdf = pdfData.toString('base64');

參考:

Read more

GitHub SDD Tools: spec-kit

GitHub SDD Tools: spec-kit

最近很夯 SDD,然後 GitHub 也出了工具 spec-kit 來幫助開發者撰寫 SDD 文件。 這個工具可以讓你直接用自然語言來描述你的需求,然後自動生成 SDD 文件。 spec-kit 支援來幾乎現在市面上所有的 AI Coding 工具,而且一直持續在更新。 以下是目前(0.0.79)版本可用的指令以及指令的用處: * 核心指令: 指令 用途 /speckit.constitution 建立或更新專案管理原則和開發指南 /speckit.specify 建立需求和使用者故事 /speckit.plan 建立實施計劃 /speckit.tasks 生成 Task /speckit.implement 執行 Task * 選擇性指令: 指令 用途 /speckit.clarify 釐清不明確的規格,

By Mars