惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
V
V2EX
博客园_首页
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
H
Help Net Security
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
W
WeLiveSecurity
云风的 BLOG
云风的 BLOG
D
Docker
Security Archives - TechRepublic
Security Archives - TechRepublic
Help Net Security
Help Net Security
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
G
Google Developers Blog
A
Arctic Wolf
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
Hacker News: Ask HN
Hacker News: Ask HN
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy International News Feed
T
Troy Hunt's Blog
T
Tenable Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Recorded Future
Recorded Future
F
Fortinet All Blogs
D
DataBreaches.Net
B
Blog
T
Threat Research - Cisco Blogs
MyScale Blog
MyScale Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
The GitHub Blog
The GitHub Blog
Security Latest
Security Latest
M
MIT News - Artificial intelligence

博客园 - jack_Meng

WinForm 双屏开发中屏幕适配与窗口定位 高考志愿填报之计算机类专业院校报考指南(2026版) WebSocket 快速入门教程(附示例源码) 自动生成项目工具--AutoBuilder,一键干掉80%的重复CRUD工作 C#/.NET/.NET Core优秀项目和框架2026年5月简报 在Win10系统中,默认使用照片查看器 C#实现控制台多区域输出 解决: 您的连接不是私密连接,您目前无法访问 因为此网站使用了 HSTS 小说下载 网页版时间,可全屏显示 个人笔记本连接公共WIFI的安全措施 追更 HelloGitHub 一整年,年度盘点 基于Rust开发的m3u8下载器M3U8Quicker:支持断点续传、边下边播 新写了个直播录制工具,可录制抖音快手斗鱼直播 bing 每日一图 --- 桌面壁纸 一款基于 C# 开发的 Windows 10/11 系统增强优化工具 适合个人的免费域名 语雀里存了三年的笔记,导出到了本地插件----YuqueOut C# 也能像 Python 一样写脚本 | .NET 10 构建基于文件的应用 js 双击页面 开始/暂停 页面滚动 使用bat批量给txt追加内容 Python摄像头监控:运动检测+自动录像+时间水印 【译】告别繁琐查错:认识下新的 Visual Studio Debugger Agent Workflow 好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了! [C#] 零依赖高性能跨平台 Web 胶水库 -- PicoServer 我的第一款独立产品--TaskManager 写 EF Core 查询,优化查询语句 最新.NET新手入门学习网站合集(2026更新版) Avalonia UI:.NET 跨平台桌面开发的“真香”选择 一个 txt 生成并保存 mp3的 Python 脚本 c# 常用且免费的 AI 编程工具 CodeGeeX,在vs 2019中使用的 AI 大模型工具 支持在 vs studio 2019中安装的 免费的 AI 辅助工具 .Net Framework 使用Lazy<T>延迟初始化对象 微软官网wpf例程源码下载地址 GitHub“神级”项目学习网址 开源协议介绍 Windows 窗体控件和等效的 WPF 控件 sql server backup database 爬取七猫中文网小说 ASP.NET Core 内存缓存实战 CliWrap —— .NET 最优雅的命令行交互库 .NET 高级开发 | 设计、实现一个事件总线框架 一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统 C#/.NET/.NET Core优秀项目和框架2026年3月简报--工作流引擎 C# 如何减少代码运行时间:7 个实战优化技巧
开源可商用 .NET Office 转 PDF 工具/库 - MiniPdf
jack_Meng · 2026-04-17 · via 博客园 - jack_Meng

MiniPdf 是晚辈开发 MiniExcel、Word 后最新开发工具,不需要安装任何软体,轻量化,开源可免费商用
主要解决目前好用的转换库要收费,需要安装 LibreOffice、office 或 docker 情况
特点
1.无需 COM、Office、Adobe Acrobat
2.其他语言可以用预编译独立二进制文件,支援 Windows / Linux / macOS,无需安装 .NET 执行阶段
3.完全开源免费,基于 Apache 2.0 授权,可自由商用,无任何限制

MiniPdf 目前只能处理基本的转换需求。对于复杂或高度自订的 Office 文件,转换结果可能不够理想。如果遇到相容性问题,欢迎提交 Issue 或发起 Pull Request,一起让开源社群变得更好!

假如喜欢 MiniPdf 的理念,期待你的 star 跟推荐🙌

image


GitHub : https://github.com/mini-software/MiniPdf
Gitee : https://gitee.com/dotnetchina/MiniPdf


介绍

一个极简、轻量化的 .NET 库,用于将 Office 文件转换为 PDF。

在线演示 — 在浏览器中快速体验,无需安装。

浏览器可用字体有限,渲染效果可能不够理想。建议在本地电脑上测试以获得最佳效果。



功能特性

  • Excel 转 PDF — 将 .xlsx 文件转换为 PDF
  • Word 转 PDF — 将 .docx 文件转换为 PDF
  • 极少依赖 — 轻量化设计,几乎仅使用 .NET 内置 API
  • Serverless 就绪 — 无需 COM、无需安装 Office、无需 Adobe Acrobat — 有 .NET 即可运行
  • Native AOT — 预编译独立二进制文件,支持 Windows / Linux / macOS,无需安装 .NET 运行时
  • 标准 PDF 1.4 格式输出
  • 完全开源免费 — 基于 Apache 2.0 协议,可自由商用,无任何限制,注明出处即可。欢迎提交 PR 一起贡献!
  • 图表 — 目前支持尚不完善

快速开始

通过 NuGet 安装

dotnet add package MiniPdf

使用方式

using MiniSoftware;

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

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

// 文件转字节数组
byte[] pdfBytes = MiniPdf.ConvertToPdf("data.xlsx");

// 流转字节数组
using var stream = File.OpenRead("data.xlsx");
byte[] pdfBytes = MiniPdf.ConvertToPdf(stream);

自定义字体

如果运行环境系统字体有限(例如容器或 Blazor WASM),请在转换前先注册字体。

using MiniSoftware;

// 建议在应用启动时注册一个或多个字体
MiniPdf.RegisterFont("NotoSansSC", File.ReadAllBytes("Fonts/NotoSansSC-Regular.ttf"));
MiniPdf.RegisterFont("NotoColorEmoji", File.ReadAllBytes("Fonts/NotoColorEmoji.ttf"));

MiniPdf.ConvertToPdf("report.docx", "report.pdf");

说明:

  • 支持传入 TrueType .ttf 和 TrueType Collection .ttc 字体字节。
  • 建议仅在启动阶段注册一次,避免重复注册。
  • 已注册字体会优先于系统字体参与匹配。

命令行工具

MiniPdf 还提供命令行工具 MiniPdf.Cli,无需编写代码即可快速转换文件。

安装

dotnet tool install --global MiniPdf.Cli

使用方式

# 将 Excel 转为 PDF(输出: data.pdf)
minipdf data.xlsx

# 将 Word 转为 PDF
minipdf report.docx

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

# 注册自定义字体(适用于容器/无头环境)
minipdf report.docx --fonts ./Fonts

命令说明

命令说明
minipdf <file> .xlsx / .docx 转换为 PDF
minipdf convert <file> -o <out> 转换并指定输出路径
minipdf --version 显示版本
minipdf --help 显示帮助

Native AOT 独立二进制文件

MiniPdf.Cli 支持 Native AOT(Ahead-of-Time,预编译)— 在构建阶段将 C# 代码直接编译为原生机器码,如同 C/C++ 编译一样,生成独立的可执行文件。运行时无需 .NET 运行时或 JIT 编译器。

优势:

  • 零依赖 — 目标机器无需安装 .NET SDK 或运行时
  • 即时启动 — 原生机器码,无 JIT 预热
  • 体积小巧 — 单文件二进制,便于分发和部署
  • CI/CD 友好 — 下载即可运行,无需在流水线中安装 .NET

下载: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 (Apple Silicon) minipdf-osx-arm64.tar.gz

使用方式(Linux / macOS 示例):

# 下载并解压
tar -xzf minipdf-linux-x64.tar.gz

# 转换
./minipdf report.docx -o report.pdf

使用方式(Windows 示例):

# 解压 zip 后运行
.\minipdf.exe report.docx -o report.pdf

=======================================================================================