zoukankan      html  css  js  c++  java
  • 网页导出PDF文件

    转自-----出道诗人

    var downPdf = document.getElementById("exportToPdf");
    downPdf.onclick = function() {
    html2canvas(
    document.getElementById("export_content"), {
    dpi: 172, //导出pdf清晰度
    onrendered: function(canvas) {
    var contentWidth = canvas.width;
    var contentHeight = canvas.height;

    //一页pdf显示html页面生成的canvas高度;
    var pageHeight = contentWidth / 592.28 * 841.89;
    //未生成pdf的html页面高度
    var leftHeight = contentHeight;
    //pdf页面偏移
    var position = 0;
    //html页面生成的canvas在pdf中图片的宽高(a4纸的尺寸[595.28,841.89])
    var imgWidth = 595.28;
    var imgHeight = 592.28 / contentWidth * contentHeight;

    var pageData = canvas.toDataURL('image/jpeg', 1.0);
    var pdf = new jsPDF('', 'pt', 'a4');

    //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
    //当内容未超过pdf一页显示的范围,无需分页
    if(leftHeight < pageHeight) {
    pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight);
    } else {
    while(leftHeight > 0) {
    pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
    leftHeight -= pageHeight;
    position -= 841.89;
    //避免添加空白页
    if(leftHeight > 0) {
    pdf.addPage();
    }
    }
    }
    pdf.save('content.pdf');
    },
    //背景设为白色(默认为黑色)
    background: "#fff"
    })
    }

  • 相关阅读:
    linux c 正则表达式
    【编译原理】1. 宏观结构
    编译原理
    知我所未知,方行我所未至
    接口返回值中的状态值设置
    Quotes in shell(bash, csh)
    Blog 081018
    58同城职位分类数据 json
    ckeditor小记
    三大WEB服务器对比分析(apache ,lighttpd,nginx)
  • 原文地址:https://www.cnblogs.com/tis100204/p/10334362.html
Copyright © 2011-2022 走看看