{子系统名}
diff --git a/_templates/docs/pdf-export.js b/_templates/docs/pdf-export.js
new file mode 100644
index 0000000..bce99fb
--- /dev/null
+++ b/_templates/docs/pdf-export.js
@@ -0,0 +1,43 @@
+#!/usr/bin/env node
+/**
+ * HTML 宣传册转 PDF(横版 A4,保留背景)
+ * 用法:node pdf-export.js
+ * 输出:与 HTML 同目录同名 .pdf
+ * 依赖:playwright(chromium),无则用系统 Edge 兜底
+ */
+const { chromium } = require('playwright');
+const { pathToFileURL } = require('url');
+const path = require('path');
+
+const htmlFile = process.argv[2];
+if (!htmlFile) {
+ console.error('用法:node pdf-export.js ');
+ process.exit(1);
+}
+
+(async () => {
+ const abs = path.resolve(htmlFile);
+ const url = pathToFileURL(abs).href;
+ const pdfFile = process.argv[3] || abs.replace(/\.html$/i, '.pdf');
+
+ let browser;
+ try {
+ browser = await chromium.launch();
+ } catch (e) {
+ // playwright 自带 chromium 不可用时,退回系统 Edge
+ browser = await chromium.launch({ channel: 'msedge' });
+ }
+
+ const page = await browser.newPage();
+ await page.goto(url, { waitUntil: 'networkidle' });
+ await page.pdf({
+ path: pdfFile,
+ format: 'A4',
+ landscape: true,
+ printBackground: true,
+ margin: { top: 0, bottom: 0, left: 0, right: 0 },
+ displayHeaderFooter: false,
+ });
+ await browser.close();
+ console.log('PDF 已生成:' + pdfFile);
+})();