首页 > 其他 > 详细

[简单]poi word 2007中的单位转换

时间:2014-11-25 02:23:48      阅读:562      评论:0      收藏:0      [点我收藏+]

????????? 以前使用poi操作word 2007时候会遇到设置页面大小等问题,当时发现1cm≈567,为什么要这样一直不清楚,今天发现一篇关于这方面的文章。

????????? 文章链接:http://startbigthinksmall.wordpress.com/2010/01/04/points-inches-and-emus-measuring-units-in-office-open-xml/,打不开的同学请看下面的图片

?????????
bubuko.com,布布扣
?????
bubuko.com,布布扣
????
bubuko.com,布布扣
?????
bubuko.com,布布扣
???? 1cm≈567 (567=1*20*72/2.54)?? 。
???? 文章作者提供了换算的工具,链接:http://lcorneliussen.de/raw/dashboards/ooxml/ ,如下:

?????
bubuko.com,布布扣
?????

public class POI_单位转换_S3_Test {
	public static void main(String[] args) {
		double cm = mm2Cm(25.4);
		System.out.println(String.format("%s-->%s=%s", "mm", "cm", cm));
		double inch = cm2Inch(cm);
		System.out.println(String.format("%s-->%s=%s", "cm", "inch", inch));
		double pt = inch2Pt(inch);
		System.out.println(String.format("%s-->%s=%s", "inch", "pt", pt));
		double dxa = pt2Dxa(pt);
		System.out.println(String.format("%s-->%s=%s", "pt", "dxa", dxa));
		double emu = dxa2Emu(dxa);
		System.out.println(String.format("%s-->%s=%s", "dxa", "emu", emu));
		double dxa2 = emu2dxa(emu);
		System.out.println(String.format("%s-->%s=%s", "emu", "dxa", dxa2));
		System.out.println(String.format("%s-->%s=%s", "dxa", "pt", dxa2points(1440.0)));
		System.out.println(String.format("%s-->%s=%s", "dxa", "inch", dxa2inch(1440.0)));
	}

	public static double mm2Cm(double mm) {
		return mm / 10;
	}

	public static double cm2Inch(double cm) {
		return cm / 2.54;
	}

	public static double inch2Pt(double inch) {
		return inch * 72;
	}

	public static double pt2Dxa(double pt) {
		return pt * 20;
	}

	public static double dxa2inch(double dxa) {
		return dxa2points(dxa) / 72;
	}

	public static double dxa2points(double dxa) {
		return dxa / 20;
	}

	public static double dxa2Emu(double dxa) {
		return 914400 * dxa2inch(dxa);
	}

	public static double emu2dxa(double emu) {
		return pt2Dxa(inch2Pt(emu)) / 914400;
	}
}

??? 结果为:

???

mm-->cm=2.54
cm-->inch=1.0
inch-->pt=72.0
pt-->dxa=1440.0
dxa-->emu=914400.0
emu-->dxa=1440.0
dxa-->pt=72.0
dxa-->inch=1.0

????转载请注明原处,原文链接:http://53873039oycg.iteye.com/blog/2159659? ,谢谢。

?? ?全文完

?

[简单]poi word 2007中的单位转换

原文:http://53873039oycg.iteye.com/blog/2159659

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!