30、electron contents.printToPDF(options)页网转PDF,指定pageSize,windows与linux环境下的差别
electron将网页转成pdf使用方法contents.printToPDF(options),具体使用方法查看官网:
https://www.electronjs.org/zh/docs/latest/api/web-contents#contentsprinttopdfoptions
在转化过程中,发现使用pageSize指定生成pdf文件的大小,在windows和linux环境下出入很大。
官网给出的解释是指定width\heigth单位是英寸:
pageSize
string | Size (optional) - Specify page size of the generated PDF. Can beA0
,A1
,A2
,A3
,A4
,A5
,A6
,Legal
,Letter
,Tabloid
,Ledger
, or an Object containingheight
andwidth
in inches. 默认值为Letter
。
实际使用中发现在windows底下单位是微米,当我宽高分别指定85000*90000实际转换后文件大小是85mm*90mm
pageSize:{ width:85000, height:90000 }
但在Linux(麒麟)系统底下,单位是英寸指定宽高为4*5才能转出正常的文件,指定太大值转出的文件都是空白
pageSize:{ width:4, height:5 }