📅  最后修改于: 2023-12-03 15:03:52.244000             🧑  作者: Mango
printthis是一款轻量级的JavaScript库,用于将网页内容以打印格式打印。它支持自定义打印标题、自定义样式和打印前/后的回调函数。此外,printthis还支持在打印之前将选定的部分拷贝到剪贴板或保存为PDF。
您可以从printthis的GitHub存储库下载最新的稳定版本。
https://github.com/jasonday/printThis/archive/master.zip
您还可以使用npm或bower安装printthis。
npm install printthis
bower install printthis
使用printThis()
函数可以轻松地将指定的元素打印出来。
$('#your-element').printThis();
您可以使用以下选项自定义打印:
$('#your-element').printThis({
debug: false, // 是否启用调试模式
importCSS: true, // 是否导入页内CSS
importStyle: false, // 是否导入CSS样式表
printContainer: true, // 是否打印包含元素的区域
loadCSS: "", // 需要加载的CSS文件的URL
pageTitle: "", // 打印页标题
removeInline: false, // 是否移除内联样式
printDelay: 333, // 打印延迟
header: null, // 为打印页指定自定义头部
footer: null, // 为打印页指定自定义页脚
base: false, // 和所有相对链接的基本URL
formValues: true, // 是否包含表单值
canvas: false, // 是否打印canvas元素
doctypeString: "...", // 为打印页指定自定义DOCTYPE
removeScripts: false, // 是否移除脚本标记
copyTagClasses: false // 是否将原始元素的类复制到打印的元素上
});
您可以使用以下回调函数在打印之前或之后执行操作:
$('#your-element').printThis({
beforePrint: function () {
console.log('打印之前...');
},
afterPrint: function () {
console.log('打印之后...');
}
});
您可以使用以下选项将指定的元素复制到剪贴板。
$('#your-element').printThis({
copyTagClasses: true, //打印的元素是否复制原始元素的类
copyStyle: true, //打印的元素是否复制原始元素的样式
canvas: true //是否打印canvas元素
});
使用jsPDF库和html2canvas库将指定的元素保存为PDF文件。
$('#your-element').printThis({
canvas: true, //是否打印canvas元素
importCSS: false,
importStyle: false,
printContainer: false,
loadCSS: "path/to/your/css/file.css"
}, function() {
var pdf = new jsPDF('p', 'pt', 'letter');
var canvas = pdf.canvas;
canvas.height = 72 * 11;
canvas.width = 72 * 8.5;
canvas.style.height = 72 * 11 + 'px';
canvas.style.width = 72 * 8.5 + 'px';
canvas.getContext('2d');
html2canvas(document.body, {
canvas: canvas,
onrendered: function (canvas) {
var imgData = canvas.toDataURL();
pdf.addImage(imgData, 'PNG', 0, 0, 612, 791);
pdf.save('your-file-name.pdf');
}
});
});
printthis是一款非常有用的JavaScript库,可轻松将网页内容打印为打印版面格式,并提供了自定义选项、回调函数和复制到剪贴板/保存为PDF等功能。它易于使用,并且具有许多自定义选项,非常适合在您的下一个Web项目中使用。