2013-05-10 97 views
3

I'm和iText的将HTML转换成PDF格式,顺序在垂直方向写入文本PDF,我尝试了简单的CSS:旋转文本与飞碟使用飞碟

style="writing-mode: tb-rl"; 

变换旋转对于浏览器:

transform: rotate(270deg)!important; 
-ms-transform:rotate(270deg); /* IE 9 */ 
-moz-transform:rotate(270deg); /* Firefox */ 
-webkit-transform:rotate(270deg); /* Safari and Chrome */ 
-o-transform:rotate(270deg); /* Opera */ 
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); 
progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476); /* IE6,IE7 */ 
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"; /* IE8 */ 

,但没有成功... :(

同一个知道如何旋转HTML文本,有飞碟和iText的

在此先感谢:)

+1

去年我有同样的问题,我认为没有办法用飞碟旋转文本。 'transform:rotate'是ccs3的一部分,不支持。 – obourgain 2013-05-10 15:06:01

回答

0

据我所知,这是不可能使用飞碟,您可以尝试使用PhantomJS这是一种更可靠的方法,从HTML到PDF。要与Java集成,您可以运行Web服务器模块并通过HTTP请求将您的请求发送到PhantomJS。

1

我一直在做一些挖掘。在FlyingSaucer用户论坛中,似乎尚未支持transform属性。但是它应该更容易实现,因为它不会影响布局。

如果您对挖掘源代码不感兴趣,则可以实现替换的元素以接收数据,转换为SVG并在布局中使用它。以下是条形码类似用法的几个例子。 http://andreas.haufler.info/2012/12/generating-barcodes-in-pdfs-with-flying.html

这里有另一个代码示例 - Using Flying Saucer to Render Images to PDF In Memory

使用的浏览器引擎支持的库,例如PhantomJS当你的整个应用程序是在Java中可能并不理想。

0

我们遇到了同样的问题。最后在Java中创建一个图像,并旋转文本并将图像作为base64编码的字符串插入到html中。它很烂,但它的工作原理