Я пытаюсь использовать Html2Canvas вместе с jsPDF для создания PDF-файла из HTML.Чтобы архивировать, что я следую этому быстрому учебнику .
Я пытаюсь сделать простой Hello World h1
, и на самом деле я получаю PDF и Hello World, но это растянуть,Я не знаю, как изменить его для правильного отображения, вы можете увидеть изображение ниже:
Я уже пытался изменить конфигурациюОбъект PDF выглядит примерно так: pdf.internal.scaleFactor = 2.25;
Но, похоже, это ничего не меняет, я также безуспешно пытался изменить конфигурацию.
<template>
<div>
<a @click="print">Print</a>
<div id="nodeToRenderAsPDF">
<h1>Hello World</h1>
</div>
</div>
</template>
<script>
import jsPDF from 'jspdf'
import html2canvas from 'html2canvas'
export default {
name: 'HelloWorld',
props: {
msg: String
},
methods: {
print() {
const filename = 'ThisIsYourPDFFilename.pdf';
html2canvas(document.querySelector('#nodeToRenderAsPDF')).then(canvas => {
let pdf = new jsPDF('p', 'mm', 'a4');
pdf.internal.scaleFactor = 2.25;
pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 0, 0, 211, 298);
pdf.save(filename);
});
}
}
}
</script>
Фактический результат, который я получаю, таков:растянутый элемент внутри pdf. Ожидается, что я получу PDF-файл, отображающий привет-мир того же размера, что и h1
, отображаемый в браузере.