vue pdf generación de páginas y abierto en una nueva pestaña

vue pdf generación de páginas y abierto en una nueva pestaña

1. página HTML en un cuadro
NPM instalar --save html2canvas
2. El pdf imagen generada
NPM instalar jspdf --save
3. Agregue htmlToPdf.js en el js
dice:

import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf'

export default {
    install(Vue, options) {
        Vue.prototype.getPdf = function (title) {
            let url;
            html2Canvas(document.querySelector('#pdfDom'), {
                allowTaint: true
            }).then(function (canvas) {
                let contentWidth = canvas.width
                let contentHeight = canvas.height
                let pageHeight = contentWidth / 592.28 * 841.89
                let leftHeight = contentHeight
                let position = 0
                let imgWidth = 595.28
                let imgHeight = 592.28 / contentWidth * contentHeight
                let pageData = canvas.toDataURL('image/jpeg', 1.0)
                let PDF = new JsPDF('', 'pt', 'a4')
                if (leftHeight < pageHeight) {
                    PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
                } else {
                    while (leftHeight > 0) {
                        PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
                        leftHeight -= pageHeighthhhhhhh
                        position -= 841.89
                        if (leftHeight > 0) {
                            PDF.addPage()
                        }
                    }
                }
                window.open(PDF.output('bloburl'))//新标签打开生成的pdf
            }
            )
        }
    }
}


4. main.js introducido y utilizado en el

import htmlToPdf from '@/js/htmlToPdf.js'
Vue.use(htmlToPdf)

  1. La envoltura exterior del contenido sea generado pdf
    <div class="row" id="pdfDom">
      <PrescPrintTpl ref="printTpl"  :info="printDetail"></PrescPrintTpl>
    </div>
  1. Hacer clic para entrar en los métodos de generar (impresión) evento
    this.getPdf (); // importación en lo principal, que puede ser utilizado directamente
    Aquí Insertar imagen Descripción
Liberadas dos artículos originales · ganado elogios 0 · Vistas 13

Supongo que te gusta

Origin blog.csdn.net/y13488733540/article/details/105125683
Recomendado
Clasificación