在线样例
左侧浏览样例目录,右侧查看版式预览与示例代码;点击运行即可通过 web-print-pdf 驱动本地客户端完成静默打印或 PDF 预览。使用前请先 安装并启动客户端。
客户端
若打印或预览效果与预期不符,请务必先从官网下载并安装最新版 Web打印专家客户端后再试(旧版本可能导致版式偏差)。
版式说明
版式预览与打印输出完全遵循 HTML/CSS 标准样式,没有隐藏的渲染技巧:样式写成什么样,页面就长成什么样。
21 - 仅预览不出纸
action: "preview" 只生成 PDF、不出纸。用返回的 printPreviewUrl 在新窗口或 iframe 中展示(须在用户点击里调用,避免弹窗被拦)。
版式预览
示例代码
const res = await webPrintPdf.printHtml(html, { paperFormat: 'A4' }, { paperFormat: 'A4' }, {
action: 'preview',
requestTimeout: 15
});
const previewUrl = res.data.printPreviewUrl;
if (!previewUrl) throw new Error('未返回预览地址');
// 展示方式由业务决定(请在「用户点击」回调里调用,避免 window.open 被拦截):
// 方式 A:新标签页打开 PDF(勿在 window.open 返回 null 后再 a.click,否则会开两个窗口)
window.open(previewUrl, '_blank', 'noopener,noreferrer');
// 方式 B:当前页 iframe 内嵌
// document.getElementById('pdf-preview').src = previewUrl;
运行结果
- 样例优先加载本站内置
web-print-pdf,与 npm 包 API 一致;失败时回退 CDN。 - 客户端内置「运行示例」页(
vueApp/.../examples/index.vue)提供更多可编辑 demo,与本页样例互补。 - 工具类样例(连接检测、打印机列表等)仅返回 JSON,不触发打印。