在python-docx中用一个int类型的大整数表示长度,叫做Emu,即 整型1=1 Emu,但为了符合我们平时使用厘米、毫米等长度单位,需要有一个对应的转换比例,12700表示1磅(Pt),36000表示1毫米(Mm),914400表示1英寸(Inches),另外还有一个Twips,即二十分之一点,我们国内好像不怎么常用,等于635Emu
1 Emu = 1 1 Twips = 635Emu 1 Pt = 12700 Emu 1 Mm = 36000 Emu 1 Cm = 360000 Emu 1 Inches = 914400 Emu2.单位转换
有了上面的比例关系我们可以通过乘除的方式随意转换单位,但实际上,python-docx中封装的长度类Length,可以指定小写的单位长度进行转换,下面是转换案例
section.header_distance = Emu(12700) # 直接用整数也可以的 print(section.header_distance) # 12700 print(section.header_distance.pt) # 转换成磅,1.0 print(section.header_distance.mm) # 转换成毫米,0.3527777777777778 print(section.header_distance.cm) # 转换成厘米,0.035277777777777776 print(section.header_distance.inches) # 转换成英尺,0.013888888888888888
注意,由于除法计算不一定能除完,并且由于python精度溢出等原因,换算得到的结果不一定准确,即可能存在少许偏差



