尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

ironpress CLI完全指南:一条命令批量转换HTML与Markdown文档为PDF

ironpress CLI完全指南:一条命令批量转换HTML与Markdown文档为PDF ironpress CLI完全指南一条命令批量转换HTML与Markdown文档为PDF【免费下载链接】ironpressPure Rust PDF converter, no browser, no external dependencies. Supports HTML with inline CSS, Markdown, and document conversion with a built-in layout engine.项目地址: https://gitcode.com/gh_mirrors/ir/ironpressironpress CLI 是一款用纯 Rust 编写的 PDF 转换命令行工具它内置完整的布局引擎能把带内联 CSS 的 HTML 文件和 Markdown 文档直接转换为标准 PDF 1.4 文件。全程无需浏览器、无需 Node.js、无任何系统级外部依赖一个可执行文件即可在本地、CI 或构建脚本中完成 HTML 转 PDF 与 Markdown 转 PDF 任务。本指南带你从零安装到一条命令批量转换整个文档目录并覆盖页面尺寸、页眉页脚、本地图片与字体解析等全部常用选项。为什么选择 ironpress 做文档转换传统方案通常依赖 Headless Chrome 或 wkhtmltopdf部署复杂、内存占用高。ironpress 的核心卖点非常直接极速基准测试中简单 HTML 约 0.93ms/次每秒约 1080 份Markdown 约 7ms/次每秒约 143 份详见基准文件benches/conversion.rs零依赖部署cargo install之后只有一个二进制没有浏览器运行时可管理文档级排版原生支持 Flexbox、Grid、表格、多栏布局、page、页眉页脚安全默认值HTML 默认消毒自动移除脚本、iframe 和事件处理器排版能力字体子集化嵌入、核心 Unicode 覆盖、SVG 与 LaTeX 公式渲染一键安装 ironpress CLI安装只需要 Rust 工具链和一条命令cargo install ironpress验证是否安装成功ironpress --version如果网络受限也可以从源码构建仓库地址为 https://gitcode.com/gh_mirrors/ir/ironpress git clone https://gitcode.com/gh_mirrors/ir/ironpress cd ironpress cargo build --release所有命令行参数的解析逻辑都在src/cli.rs中实现二进制入口在src/bin/cli.rs想看帮助随时运行ironpress --help。转换第一个 PDF最小命令用法ironpress 的基本语法只有两个位置参数——输入文件和输出文件ironpress invoice.html invoice.pdf执行成功后PDF 会写入invoice.pdf终端同时输出一条invoice.html → invoice.pdf的完成提示。就这么简单一行命令完成 HTML 转 PDF。批量转换整个目录这正是 CLI 最实用的场景。用一行 shell 循环即可批量转换目录中所有 HTML 或 Markdown 文件mkdir -p out for f in docs/*.html; do ironpress $f out/$(basename ${f%.*}).pdf done for f in docs/*.md; do ironpress $f out/$(basename ${f%.*}).pdf done每个文件一次调用转换失败会打印诊断信息并返回非零退出码非常适合放进 CI 流水线。转换 Markdown 文档扩展名自动识别.md和.markdown结尾的文件会被自动识别为 Markdown直接转换即可ironpress release-notes.md release-notes.pdf⚠️ 一个小细节标准输入stdin模式始终按 HTML 解析。如果你的管道起点是 Markdown建议先落盘为临时.md文件再转换。页面设置尺寸、方向、边距、页眉页脚一组参数组合就能定义整套文档策略ironpress report.html report.pdf \ --page-size letter \ --landscape \ --margin 36 \ --header Quarterly report \ --footer Page {page} of {pages}常用选项速查表选项默认值说明--page-sizea4支持a4、letter、legal--landscape关横向页面--margin72统一边距PDF 点72 ≈ 1 英寸--header/--footer无页眉 / 页脚{page}、{pages}自动替换为页码--sanitizetrueHTML 消毒开关--compresstrueFlateDecode 压缩内容流--jpeg-quality95图片嵌入时的 JPEG 质量0–100--auto-resize-imagestrue自动缩放超大源图--image-dpi/--filter-dpi/--mask-dpi300源图 / 滤镜 / 遮罩的栅格化 DPI--background-raster-dpi192扁平化背景的栅格化 DPI--base-path无本地图片、import、font-face的解析根目录解析本地图片、CSS 与字体--base-path 的正确姿势出于安全考虑ironpress 默认拒绝访问本地文件。当文档引用了相对路径的图片、CSSimport或font-face时先用--base-path授权一个根目录ironpress templates/invoice.html invoice.pdf --base-path templates之后所有相对 URL 只会在该目录内解析路径穿越和符号链接逃逸都会被拒绝这是它作为服务器端转换工具时的重要安全边界。从管道读取 HTML--stdin 模式不需要先生成文件任何命令的输出都能直接转成 PDFprintf h1Hello/h1pWorld/p | ironpress --stdin output.pdf常见报错与排错清单现象原因与解决Unknown page size: tabloid只支持a4、letter、legal三种命名尺寸本地图片没渲染出来缺少--base-path本地文件默认不可访问Markdown 内容被当成 HTML文件扩展名不是.md/.markdown或走了 stdin 管道图片太大导致 PDF 体积膨胀调低--jpeg-quality或确认--auto-resize-images true想抓取远程资源发布的二进制不发起远程请求请在本地准备好资源任何无效参数、读文件失败或转换错误都会打印诊断并以非零状态码退出方便脚本判断。总结ironpress CLI 把文档转 PDF这件事压缩成了一条命令ironpress 输入 输出.pdf。它用纯 Rust 实现了布局引擎、字体整形、SVG 与公式渲染没有浏览器、没有外部依赖批量转换整个目录只需一个 for 循环。如果你正在为 CI、报表系统或文档站点找一个轻量可靠的 PDF 方案从cargo install ironpress开始五分钟就能跑通第一个 PDF。【免费下载链接】ironpressPure Rust PDF converter, no browser, no external dependencies. Supports HTML with inline CSS, Markdown, and document conversion with a built-in layout engine.项目地址: https://gitcode.com/gh_mirrors/ir/ironpress创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表