You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用html2canvas和html2pdf将HTML页面适配为A4尺寸单页PDF

优化方案

1. 修复依赖冲突

html2pdf.bundle.min.js已内置适配版本的html2canvas,你额外引入的0.4.1版本html2canvas版本过旧,会和内置版本冲突导致渲染高度计算错误,直接删除以下引入即可:

<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>

2. 调整导出JS配置

新增强制不分页配置,修复图片质量参数错误(jpeg质量取值范围为0-1,你填的4属于无效值),修改后的JS代码如下:

document.querySelector('#temp').contentEditable = true;

function createpdf() {
  let element = document.querySelector('#temp')
  html2pdf(element, {
    margin: 1,
    filename: 'MyResume.pdf',
    image: {
      type: 'jpeg',
      quality: 0.9
    },
    html2canvas: {
      letterRendering: true,
      scale: 3,
      useCORS: true
    },
    jsPDF: {
      orientation: 'portrait',
      unit: 'cm',
      format: 'a4'
    },
    // 核心配置:禁用自动分页
    pagebreak: { mode: 'avoid-all' }
  }).save()
}

3. 修复CSS无效属性

padding不支持负值,你之前写的所有负padding全部要替换为负margin才能起到压缩间距的效果,同时调整容器尺寸适配A4大小,修改后的核心CSS如下:

@page {
  size: A4;
  margin: 1cm;
}
/* 可调整字号压缩内容高度 */
p, b, li{
  font-size: 11px;
}
body {
  margin: 0px;
}
.border {
  border-bottom: 1px solid red;
  margin-bottom: -4px;
}
.spacing {
  margin-top: -10px;
}
.paddingtop {
  padding-top: 15px;
  border-top: 1px solid red;
}
.paddingbottom {
  margin-bottom: -14px;
}
.right1 {
  padding-left: 15px;
  margin-left: 130px;
  margin-top: -53px;
}
.right2 {
  padding-left: 15px;
  margin-left: 130px;
  margin-top: -60px;
}
.right3 {
  padding-left: 15px;
  margin-left: 130px;
  margin-top: -52px;
}
.blankline {
  padding-bottom: 6px;
}
[contenteditable]:focus {
  outline: 0px solid transparent;
}
#page {
  width: 19cm;
  min-height: 27.7cm;
  box-sizing: border-box;
  background-color: white;
  margin: 1% auto 1% auto;
  padding: 0.2cm 1cm 1cm 1cm;
  box-shadow: 0px 0px 20px 0px #000;
  line-height: 1.4em;
  text-align: left;
}

4. 可选微调

如果修改后还是有轻微溢出,可以再缩小全局字号,或者减少各模块的上下间距,就能刚好把所有内容塞入单页A4。

内容的提问来源于stack exchange,提问作者Nitin Saini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 02:54:05