|
|
@@ -395,26 +395,38 @@ export default {
|
|
|
}).then(function (canvas) {
|
|
|
const contentWidth = canvas.width
|
|
|
const contentHeight = canvas.height
|
|
|
- const pageHeight = (contentWidth / 592.28) * 841.89
|
|
|
- var leftHeight = contentHeight
|
|
|
- var position = 0
|
|
|
- const imgWidth = 595.28
|
|
|
- const imgHeight = (592.28 / contentWidth) * contentHeight
|
|
|
+
|
|
|
+ // ========== 自适应长页面(无分页,高清晰度) ==========
|
|
|
+ // 使用canvas原始尺寸作为PDF尺寸,保持高清晰度
|
|
|
+ const imgWidth = contentWidth
|
|
|
+ const imgHeight = contentHeight
|
|
|
const pageData = canvas.toDataURL('image/jpeg', 1.0)
|
|
|
- const 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 -= pageHeight
|
|
|
- position -= 841.89
|
|
|
- if (leftHeight > 0) {
|
|
|
- PDF.addPage()
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // 创建与canvas相同尺寸的PDF,无压缩,无分页
|
|
|
+ const PDF = new JsPDF('p', 'pt', [imgWidth, imgHeight])
|
|
|
+ PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
|
|
|
PDF.save(title + '.pdf')
|
|
|
+
|
|
|
+ // ========== 原有逻辑:A4分页(备用、勿删!!) ==========
|
|
|
+ // const pageHeight = (contentWidth / 592.28) * 841.89
|
|
|
+ // var leftHeight = contentHeight
|
|
|
+ // var position = 0
|
|
|
+ // const imgWidth = 595.28
|
|
|
+ // const imgHeight = (592.28 / contentWidth) * contentHeight
|
|
|
+ // const pageData = canvas.toDataURL('image/jpeg', 1.0)
|
|
|
+ // const 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 -= pageHeight
|
|
|
+ // position -= 841.89
|
|
|
+ // if (leftHeight > 0) {
|
|
|
+ // PDF.addPage()
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // PDF.save(title + '.pdf')
|
|
|
})
|
|
|
},
|
|
|
loadData() {
|