用飞碟旋转文字到pdf

时间:2013-05-10 14:19:11

标签: flying-saucer html-to-pdf

我使用飞碟和itext将html转换为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?

提前致谢:)

3 个答案:

答案 0 :(得分:1)

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

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

此处还有另一个代码示例 - Using Flying Saucer to Render Images to PDF In Memory

当整个应用程序使用Java时,使用像PhantomJS这样的浏览器引擎支持的库可能并不理想。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我们遇到了同样的问题。结束了在java中创建图像并旋转文本并将图像作为base64编码的字符串插入到html中。它很糟糕,但它的工作原理