jsPDF сохранить на сервере - PullRequest
0 голосов
/ 10 мая 2018

Мой код работает правильно. Он захватывает и генерирует целую страницу, а также вызывает загрузку. Но мне нужно, чтобы это автоматически сохранялось на моем сервере в папке «uploads / pdfs /». Я на самом деле хочу отправить это по почте php и сохранить его на сервере вместо запроса. Пожалуйста, помогите мне.

Это мой сценарий:

function makePDF() {
        var quotes = document.getElementById('container-fluid');

        html2canvas(quotes, {
            onrendered: function(canvas) {

            //! MAKE YOUR PDF
            var pdf = new jsPDF('p', 'pt', 'letter');

            for (var i = 0; i <= quotes.clientHeight/980; i++) {
                //! This is all just html2canvas stuff
                var srcImg  = canvas;
                var sX      = 0;
                var sY      = 1278*i; // start 980 pixels down for every new page
                var sWidth  = 990;
                var sHeight = 1278;
                var dX      = 0;
                var dY      = 0;
                var dWidth  = 990;
                var dHeight = 1278;

                window.onePageCanvas = document.createElement("canvas");
                onePageCanvas.setAttribute('width', 990);
                onePageCanvas.setAttribute('height', 1278);
                var ctx = onePageCanvas.getContext('2d');
                // details on this usage of this function: 
                // https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Using_images#Slicing
                ctx.drawImage(srcImg,sX,sY,sWidth,sHeight,dX,dY,dWidth,dHeight);

                // document.body.appendChild(canvas);
                var canvasDataURL = onePageCanvas.toDataURL("image/png", 1.0);

                var width         = onePageCanvas.width;
                var height        = onePageCanvas.clientHeight;

                //! If we're on anything other than the first page,
                // add another page
                if (i > 0) {
                    pdf.addPage(612, 791); //8.5" x 11" in pts (in*72)
                }
                //! now we declare that we're working on that page
                pdf.setPage(i+1);
                //! now we add content to that page!
                pdf.addImage(canvasDataURL, 'PNG', 0, 0, (width*.62), (height*.62));

            }
            pdf.save('output.php')

        }
      });
    }
...