05月18, 2021

JSPDF旋转页面为横版

默认代码

  // jsPDF-1.3.2/examples/images.html
        var doc = new jsPDF('p', 'pt', 'a4', false);

        doc.setFontSize(40);
        doc.setDrawColor(0);
        doc.setFillColor(238, 238, 238);
        doc.rect(0, 0, 595.28, 841.89, 'F');
        doc.text(35, 100, type);
        doc.addImage(imgData, format, 100, 200, 280, 210, undefined, compress);

        doc.save(type + '.pdf')

查看源码

 // jsPDF-1.3.2/dist/jspdf.debug.js
   // 通过查看源码,里面有一个参数('p'和'l'),它通过这个参数的值,再手动把宽高互置,达到竖屏转变为横屏的效果
   if (orientation) {
        switch (orientation.substr(0, 1)) {
          case 'l':
            if (height > width) orientation = 's';
            break;
          case 'p':
            if (width > height) orientation = 's';
            break;
        }
        if (orientation === 's') {
          tmp = width;
          width = height;
          height = tmp;
        }
      }

更改代码

// 将new jsPDF()第一个参数改成'l',就可以将pdf改成横版了
 var doc = new jsPDF('l', 'pt', 'a4', false);

本文链接:https://587v5.com/post/JSPDF-xuan-zhuan-ye-mian-wei-heng-ban.html

Comments