javascript - 如何使用 jspdf 增加 pdf 大小

标签 javascript jspdf

各位高级开发人员和程序员,您好,

我正在使用一个与 jspdf 集成的脚本, 基本上该脚本应该将我的网站内容转换为 pdf, 该脚本有两种类型的概念。

可选择的和 Canvas , Canvas 适用于复杂的网页,例如表格、空间、背景图像。

它工作成功,但我的 pdf 不清晰,只是停留在中间

这是 JavaScript 代码

//Download as a canvas if contains complex data
    $('.wppdf-download-canvas').click(function() {  
        var pdfname = $(this).attr('name');             
        var htmlSource = $(this).siblings('.wppdf');    
        var canvasToImage = function(canvas){
            var img = new Image();
            var dataURL = canvas.toDataURL('image/png');
            img.src = dataURL;
            return img;
        };
        var canvasShiftImage = function(oldCanvas,shiftAmt){
            shiftAmt = parseInt(shiftAmt, 10) || 0;
            if(!shiftAmt){ return oldCanvas; }

            var newCanvas = document.createElement('canvas');
            newCanvas.height = oldCanvas.height - shiftAmt;
            newCanvas.width = oldCanvas.width;
            var ctx = newCanvas.getContext('2d');

            var img = canvasToImage(oldCanvas);
            ctx.drawImage(img,0, shiftAmt, img.width, img.height, 0, 0, img.width, img.height);

            return newCanvas;
        };

        var canvasToImageSuccess = function(canvas){
            var pdf = new jsPDF2('p','pt'),
                pdfInternals = pdf.internal,
                pdfPageSize = pdfInternals.pageSize,
                pdfScaleFactor = pdfInternals.scaleFactor,
                pdfPageWidth = pdfPageSize.width,
                pdfPageHeight = pdfPageSize.height,
                totalPdfHeight = 0,
                htmlPageHeight = canvas.height,
                htmlScaleFactor = canvas.width / (pdfPageWidth * pdfScaleFactor),
                safetyNet = 0;

            while(totalPdfHeight < htmlPageHeight && safetyNet < 15){
                var newCanvas = canvasShiftImage(canvas, totalPdfHeight);
                pdf.addImage(newCanvas, 'png', 15, 15, pdfPageWidth - (pdfPageWidth * .0 ), 0, null, 'NONE');

                totalPdfHeight += (pdfPageHeight * pdfScaleFactor * htmlScaleFactor);

                safetyNet++;
            }

            pdf.save(pdfname);
        };

我尝试使用此 var pdf = new jsPDF('p','pt','a4'); 更改大小

因为我想要它更大,但是当我尝试下载我的页面时没有任何反应。

任何建议

最佳答案

所以我通过一些在线研究得到了这个
pdf.addImage(newCanvas, 'png', -120, 10, 700, 580);

这解决了问题。

关于javascript - 如何使用 jspdf 增加 pdf 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872791/

相关文章:

javascript - 在 jquery 中返回 span 的空值?

javascript - Object.keys 的 Dojo 等价物

javascript - jquery 不能在 IE、Chrome 中工作,可以在 FF 中工作

javascript - 附加子不工作?

javascript - 错误: ArrayBuffer is undefined

javascript - 如何添加回调以在 JQuery 每个选择器之后发生?

javascript - 访问 Node 中 PDFCrowd 的 saveToFile 方法中的结束事件

jspdf - 如何使用 JsPDF-autoTable 在每个页面的顶部添加 Logo ?

javascript - 提供的数据不是 ReactJS 中有效的 base64 字符串 jsPDF

ios - Phonegap - 打开/复制 PDF 文件到 iBook