2016-11-02 5 views
0

請求書の書類指定があり、その中の1つがテキストを縦方向に表示しています。このように:フライングソーサー付きの単一の列に表示されるようにテキストをラップするにはどうすればよいですか?

テキストを回転させるために両方のcssトランスフォームを使用すると、横向きに読み取ろうとしました。私はまた、列の幅が1のテーブルを使用してから、別の列のアドレスを使用しようとしました。ブラウザでは正しくレンダリングされます。私はITextRendererを介してそれを実行すると、文字をラップしません(私はラップする必要がありますので、各文字の間にスペースを使用しています)。私は変換と回転後にこれを試して、同じ結果が得られました。

私もテーブルレイアウトを試しました:固定; css設定、運がない。

enter image description here

答えて

0

CSS transformプロパティはFlyingsaucerでサポートされていない:私はこれで終わります。

しかし、テキストを狭い列に配置するオプションが機能するはずです。ここで

は一例です:

<html> 
<head> 
    <style> 
     td{border:1px solid blue} 
     .first{width:5mm;} 
    </style> 
</head> 
<body> 
    <table> 
     <tr> 
      <td class="first">H O M E</td> 
      <td> 
       123 Elm StO<br /> 
       PO Box 1<br /> 
       Anytown, ST<br /> 
       USA 
      </td> 
     </tr> 
    </table> 
</body> 
</html> 

それは次のような結果生成します。私は空飛ぶ円盤9.1を使用して、Javaコードがある PDF result

を:

import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 

import org.xhtmlrenderer.pdf.ITextRenderer; 

import com.lowagie.text.DocumentException; 

public class StackOverflow { 
    public static void main(String[] args) throws IOException, DocumentException { 

     String in = "so1.html"; 
     String out = "so1.pdf"; 

     File f = new File(in); 
     String url = f.toURI().toURL().toString(); 

     createPDF(url, out); 
    } 

    public static void createPDF(String url, String pdf) throws IOException, DocumentException { 
     try (OutputStream os = new FileOutputStream(pdf)) { 
      ITextRenderer renderer = new ITextRenderer(); 
      renderer.setDocument(url); 
      renderer.layout(); 
      renderer.createPDF(os); 
     } 
    } 
} 
+0

特別なものはありますあなたはJavaコードでやる必要がありますか、それとも文字列としてこれを吸ってpdfに出力していますか?私は私のCSSでmmを使用しなかった、私はちょうど(私は側の代わりに上に置くことを終えた)ナンバーを使用したと思う。 – Mike

+0

Javaコードには何も固有のものはありません(私の更新された回答を参照)。 withの列に関しては、私は 'mm'を使いましたが、他の単位(' px'、 'pt'、...)を使うことができます。 – obourgain

関連する問題