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

推荐订阅源

罗磊的独立博客
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
A
About on SuperTechFans
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
Recent Announcements
Recent Announcements
D
DataBreaches.Net
B
Blog
博客园 - 【当耐特】
爱范儿
爱范儿
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
WordPress大学
WordPress大学
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
I
InfoQ
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
雷峰网
雷峰网
量子位
G
Google Developers Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
世界第一个开源可商用 .NET Office 转 PDF 工具/库 - MiniPdf
littlemis · 2026-03-29 · via V2EX

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 跟推荐 🙌


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


介绍

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

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

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


QQ 群 - 1 群 : 813100564 / 2 群 : 579033769 / 3 群 : 625362917 / 4 群 : 907750429


功能特性

  • 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 一起贡献!
  • 图表 — 目前支持尚不完善

注意: MiniPdf 目前只能处理基本的转换需求。对于复杂或高度自定义的 Office 文档,转换效果可能不够理想。如果您遇到兼容性问题,欢迎提交 Issue 或发起 Pull Request ,一起让项目变得更好!

快速开始

通过 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