LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

MiniPdf 是一个轻量级的 .NET 库,专门把 Excel(.xlsx)和 Word(.docx)文件转成 PDF

admin
2026年4月17日 9:15 本文热度 58

服务器上要把 Excel 表格转成 PDF,你会怎么做?

很多人的第一反应是:装一个 LibreOffice,写个脚本调它的命令行。或者更狠的,在 Windows 服务器上装一套 Office,然后用 COM 接口去调。

然后你就会面对一地鸡毛:Office 在服务器上的版权问题、LibreOffice 版本和字体兼容的坑、进程僵死和内存泄漏、容器化部署困难……就为了把一个 .xlsx 转成一个 .pdf,结果搭了一套比你业务代码还复杂的外部依赖。

最近发现一个 .NET 库叫 MiniPdf,干的就是这件事——不用装任何外部组件,一行代码搞定 Office 文件转 PDF

它是什么

MiniPdf 是一个轻量级的 .NET 库,专门把 Excel(.xlsx)和 Word(.docx)文件转成 PDF。

最大的特点就一句话:纯 .NET 实现,不依赖 Office,不依赖 LibreOffice,不依赖任何外部程序

它基于 Apache POI + LibreOffice 的真实渲染数据做训练,配合 LLM 辅助开发,.NET 端纯自包含实现,不引入额外的运行时依赖,最终在 373 个测试用例上跑出了 97.2% 的综合得分。

什么概念?XLSX 转 PDF 得分 96.9%,DOCX 转 PDF 得分 97.6%,没有一个用例低于 70%——零失败。

这在"无 Office 服务端转换"这个场景里,数据相当能打。

怎么用

装 NuGet 包:

dotnet add package MiniPdf

一行代码转换:

using MiniSoftware;

// Excel 转 PDF
MiniPdf.ConvertToPdf("data.xlsx""output.pdf");

// Word 转 PDF
MiniPdf.ConvertToPdf("report.docx""output.pdf");

// 直接返回 byte[],方便进一步处理
byte[] pdfBytes = MiniPdf.ConvertToPdf("data.xlsx");

// Stream 模式
usingvar stream = File.OpenRead("data.xlsx");
byte[] pdfBytes = MiniPdf.ConvertToPdf(stream);

如果你的容器或无头环境字体不全,先注册字体:

MiniPdf.RegisterFont("NotoSansSC", File.ReadAllBytes("Fonts/NotoSansSC-Regular.ttf"));
MiniPdf.ConvertToPdf("report.docx""report.pdf");

搞定。

CLI 工具:不服上命令行

不想写代码也行。装个 CLI 工具:

dotnet tool install --global MiniPdf.Cli

然后:

# 转换 Excel
minipdf data.xlsx

# 转换 Word,指定输出路径
minipdf report.docx -o /path/to/output.pdf

# 指定字体目录(容器环境必备)
minipdf report.docx --fonts ./Fonts

就这些。不需要安装 Office 或 LibreOffice,不需要任何外部依赖。

Native AOT:连运行时都不需要

如果你的场景更极端——连 .NET 运行时都不想装怎么办?

MiniPdf.Cli 支持 Native AOT 编译,直接生成各平台的原生可执行文件。

从 GitHub Releases 下载对应平台的压缩包,解压就能跑:

平台
文件
Windows x64
minipdf-win-x64.zip
Windows ARM64
minipdf-win-arm64.zip
Linux x64
minipdf-linux-x64.tar.gz
Linux ARM64
minipdf-linux-arm64.tar.gz
macOS x64
minipdf-osx-x64.tar.gz
macOS ARM64
minipdf-osx-arm64.tar.gz

这就是一个单文件原生程序,不需要安装任何东西。在 CI/CD 流水线里,直接 curl 下载、解压、执行,三步搞定。

对于需要跑在 Alpine 容器、树莓派、或者各种奇怪 Linux 发行版上的场景,这个能力相当有价值。

跨平台:Windows、Linux、macOS 全覆盖

MiniPdf 本身是 .NET 库,.NET 能跑到的地方,它就能跑

同时 Native AOT 二进制包覆盖了三大平台的主流架构:Windows x64/ARM64、Linux x64/ARM64、macOS x64/ARM64(Apple Silicon)。

意味着不管你用的是 Windows 服务器、Linux 服务器、还是 macOS 做开发机,都能无缝使用同一套方案。

协议友好:Apache 2.0,商业使用仅需署名

这是很多技术团队关心的现实问题。

MiniPdf 采用 Apache 2.0 许可证,商业使用仅需保留署名,不需要开源你的业务代码。你可以把它用在公司内部项目、外包项目、甚至打包进商业产品里发行。

结合"零外部依赖"这个特点,这意味着你可以在不引入任何合规风险的前提下,把 Office 到 PDF 的转换能力嵌入到任何产品里。

适用场景

说几个我第一时间想到的落地场景:

报表系统:很多系统的报表模块要导出 PDF,用 MiniPdf 在服务端直接生成,不用前端 JS 库做复杂排版,也不用装 Office。

合同生成:把 Word 模板渲染后直接转 PDF,一行调用,没有 COM,没有进程调度。

电子发票:财务系统生成 Excel 格式的对账单,自动转 PDF 存档,服务端无依赖。

CI/CD 流水线:把测试报告、周报自动转 PDF 并发送,不需要在 Runner 上装 LibreOffice。

文档归档系统:大批量 Office 文件转 PDF 归档,Native AOT 模式下可分布式部署,性能线性扩展。

在线体验:不用安装,先试试再说

如果想先看看效果再决定要不要用,官网有在线 Demo

    https://mini-software.github.io/MiniPdf/

    直接上传一个 Excel 或 Word 文件,浏览器里看转换结果。体验门槛为零。

    结语

    服务端 Office 转 PDF 这个需求,长期以来存在两个极端:要么依赖重量级的外部组件(Office COM、LibreOffice),引入复杂的部署和运维负担;要么用前端 JS 库,牺牲精度和一致性。

    MiniPdf 找到的是一个务实的中间地带:用 .NET 内置能力 + Apache POI 解析 + LLM 辅助训练,换来零外部依赖、97%+ 转换精度、和随手可用的 CLI 工具。

    好用的东西,有时候不需要很重。

    如果你的项目正被"怎么在服务器上转 PDF"这个问题困扰,不妨给它一个机会——一个 NuGet 包,一行代码,或许就够了。


    阅读原文:原文链接


    该文章在 2026/4/17 16:21:55 编辑过
    关键字查询
    相关文章
    正在查询...
    点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
    点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
    点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
    点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
    Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号