2011-04-27 28 views
2

我有一个Web前端,我试图来处理与表格的布局,因为我的表都包含在像素的宽度 - 一个山坳,是什么来处理它的PDF里面的最好方式获得一致的布局......?处理像素FO

我使用fo.net我用的像素转换为代码如下:但是在不同的机器我得到不一致的结果...

<xsl:value-of disable-output-escaping="yes" select="floor(@width div 72)"/> 
       <xsl:text>in</xsl:text> 

是否有使用C#来获取方式屏幕分辨率和其他任何信息,以获得更准确的结果?

+0

我认为这几乎是不可能的'地板(@width DIV 72)'会给_“在不同的机器上”_ [...] _“不一致的结果”_ ... – 2011-04-27 19:36:20

+0

@Alejandro:我知道结果会有所不同,但我想这么多人可能碰到过问题,并找到了解决方法,例如有一个pxToEm jQuery转换器,如果我使用EM,会发生什么?作为一个解决方案,我已经把表格的最大长度设置为170毫米,这与xslt完全一样,确定我不能嵌套表格,但它很酷......这样,如果我有2列或3列所有列宽是由像素设置没有问题我会有一个合理的水平一致的浏览器,或不? – Haroon 2011-04-27 21:40:47

+0

或者或者强制/计算我的表格,使它们以%为单位,在HTML中具有固定的最大宽度并且可以计算xslt中的%可能是另一种选择。 – Haroon 2011-04-27 22:04:03

回答

0

回答我的问题...有一个固定的最大宽度在桌子上使用%,这样我可以得到XSL制定出每一列的基于表的总宽度上的%。这种解决方法似乎是处理我的情况的最好和最易于理解的方式,最大的问题是,像素不能转换为xsl fo - 如果一个人在页面上工作,然后移动到另一台机器上,输出的pdf可能会有很大的不同。

请注意:我希望mm可以在WYSIWYG编辑器的像素旁边被支持......因为我使用的是jQuery客户端,所以我很可能会增强我的表格,因此需要我创建此插件。我希望这个信息可以帮助别人谁想要创建从客户端的WYSIWYG编辑器的PDF,我相信这个信息可以适用于其他场景太... :)

-1

在类'System.Windows.Forms.Screen'中有几个关于屏幕的函数和值。

+0

我有一个web应用程序...更具体地说,asp.net mvc2,谢谢你的信息... – Haroon 2011-04-27 21:37:10

+0

如果我能弄到屏幕分辨率这样的东西可能会工作:毫米=(像素* 25.4)/ dpi其中25.4 = 1英寸 – Haroon 2011-04-27 21:43:25