如何在jsPDF中纵向打印半张A4纸?
解决jsPDF纵向打印半张A4纸的问题
首先明确jsPDF中orientation参数的核心逻辑:它会根据指定方向自动交换自定义format的宽高值——portrait(纵向)模式强制页面高度≥宽度,landscape(横向)模式强制宽度≥高度。
针对你的需求,分两种情况处理:
1. 生成真正的纵向半张A4纸(高度>宽度)
这种情况是将A4沿短边对折,得到**148.5mm(宽)×210mm(高)**的纸张,直接使用以下代码:
let doc = new jsPDF({ orientation: 'portrait', unit: 'mm', format: [148.5, 210], });
2. 生成宽210mm、高148.5mm的纸张(A4沿长边对折)
该尺寸本身是宽>高的横向纸张,若要在上面实现纵向排版(文字垂直排列),分两步操作:
- 先设置正确的页面尺寸与方向:
let doc = new jsPDF({ orientation: 'landscape', unit: 'mm', format: [210, 148.5], });
- 再设置文字纵向排列:
doc.setTextOrientation(90); // 将文字方向转为垂直 doc.text("你的纵向打印内容", 10, 10);
这样就能精准匹配你需要的纸张尺寸与打印方向。
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

