最稳方案是浏览器打印导出PDF;Chrome/Edge/Firefox按Ctrl+P选“Save as PDF”,无需工具或代码,兼容性好、不上传数据,适合单页HTML快速转PDF。
直接用浏览器打印功能就能生成可用的 PDF,不需要装额外工具或写代码——这是绝大多数人最省事、兼容性最好的方案。
这是目前最稳定、对 CSS 和图片支持最好的方式。所有主流桌面浏览器都内置该能力,不依赖网络、不上传 HTML 到第三方服务器。
Ctrl+P(Windows/Linux)或 Cmd+P(macOS)Save as PDF(不是“Microsoft Print to PDF”等系统虚拟打印机)注意:若页面含动态内容(如 JS 渲染的表格、图表),请确保页面完全加载后再触发打印;部分 CSS 媒体查询(如 @media print)会影响最终效果,可临时禁用以调试布局。
需要服务端批量生成、嵌入中文字体、或集成进 Spring Boot 应用时,html2pdf 是目前 Java 生态里最成熟的方案。它不是简单截图,而是解析 HTML/CSS 并重构成 PDF 流,因此支持分页、页眉页脚、字体嵌入等专业需求。
立即学习“前端免费学习笔记(深入)”;
com.itextpdf:html2pdf,不是旧版 itext-asian 或 xmlworker
fontProvider.addSystemFonts() 仅在 Windows 有效;Linux/macOS 需 fontProvider.addFont("simhei.ttf") 指向实际路径HtmlConverter.convertToPdf() 默认不处理相对路径资源(如 ./style.css 或 ../images/logo.png),建议提前内联 CSS/图片或转为绝对 URL示例关键调用:HtmlConverter.convertToPdf(htmlContent, outputStream, properties),其中 properties 必须含 FontProvider 实例,否则中文会变成方块。
如果你在用 Microsoft Power Automate 构建自动化流程,且 HTML 来源是 Dataverse、SharePoint 或 HTTP 请求返回的字符串,Pascalcase HTML to PDF 连接器是最轻量的集成选择。
HTTP timeout 或 Failed to parse HTML 通常指向结构不规范(如未闭合 <div>、含非法实体字符)它返回的是 byte[],可直接存入 SharePoint 文件库或作为邮件附件,但无法控制页边距、纸张方向等参数。
真正麻烦的从来不是“怎么转”,而是“转出来能不能用”:字体缺失、分页断在表格中间、CSS 媒体查询被忽略、JS 渲染内容空白……这些细节往往要反复试三四种方案才能定位。别迷信“一键转换”,先用浏览器打印看效果,再决定是否值得引入后端或 API 方案。