文档与表格

生成 Word 文档、把 docx/xlsx/pptx 转成 PDF、把任意页渲染成图片存档。适合出合同、出报告、给客户发不可编辑的文件、逐页核对打印效果。

文档与表格

结论先行

产品里自带一个 Office 引擎(LibreOffice Kit),不用装 Office,离线也能转。

两条命令覆盖大部分需求:转 PDF 和 渲染成图片。

一、先把路径拿到


$NODE = "<产品运行时目录>\node.exe"
$CLI  = "<产品运行时目录>\node_modules\@deepseek-ai\libreoffice-kit\lib\cli.js"

产品安装后通常在 C:\Program Files\sanshan-kaiwu\resources\runtime\。

二、转 PDF(最常用)


& $NODE $CLI convert --input "C:\work\合同.docx" --output "C:\work\合同.pdf"

验收:读前 4 个字节应为 %PDF,且文件大小 > 1KB。

三、渲染成图片(预览/存档)


$out = Join-Path $env:TEMP ("preview-" + [guid]::NewGuid().ToString('N'))
& $NODE $CLI render --input "C:\work\合同.pdf" --output-dir $out --pages "1"

验收:目录里出现 page-0001.png 且体积 > 10KB。

四、生成 Word 文档

没有模板时,用自带脚本生成一个结构干净的 docx(标题 + 若干段落):


& $NODE "<技能目录>\scripts\make-docx.cjs" "C:\work\报价说明.docx" "报价说明" "第一段内容" "第二段内容"

生成后再用 convert 转 PDF 发给客户。

五、已验证记录(2026-11-04)

| 动作 | 输入 | 结果 |

| --- | --- | --- |

| convert | 生成的 合同测试.docx(1,121 字节) | 输出 合同测试.pdf,签名 %PDF,22,212 字节 |

| render | 一份 2 页的扫描 PDF | 第 1 页 → page-0001.png,1190×1684,2.5MB,missingFonts: [] |

六、红线

| 不做 | 原因 |

| --- | --- |

| 覆盖源文件 | 客户原件不可恢复 |

| 转失败就反复重试同一文件 | 浪费时间,应报告限制 |

| 用系统 soffice 或装第三方转换器绕过 | 产品自带引擎已够用 |

| 把含客户信息的文件传到外部服务 | 数据不出本机 |

验收清单