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"
    })
    }

  • 相关阅读:
    Djano restframework
    python测试一
    SQL分类,DDL,DML,DCL
    sql查询时,根据特定的条件给表的某一个字段赋值
    数据类型之Nullable
    web.config节点
    拼凑的宿主-host
    css的优先级
    jquery——write less,do more
    double类型计算
  • 原文地址:https://www.cnblogs.com/tis100204/p/10334362.html
Copyright © 2011-2022 走看看