0

請求書の .docx を生成するために XWPFDocument を使用しています。コンソールで以下のような文字列を設計しました

    XXXX Restaurant & Cafe
      Phone No# 12131546

Invoice No. 120
Type: C-6
Customer Name:         29 05 2015
---------------------------------------
Product    Qty   Price   Total
---------------------------------------
fr. egg+toast but. jam
           1  110.0  110.0
---------------------------------------
Discount: 0%
Sub total: 110.0
Cash: 200

.docx を生成するための私のコードは次のとおりです。

FileOutputStream output = new FileOutputStream(FILE);                   
                    XWPFDocument doc = new XWPFDocument();
                     XWPFParagraph para = doc.createParagraph();
                    para.setAlignment(ParagraphAlignment.CENTER);
                     XWPFRun run  = para.createRun();
                     run.setBold(true);
                     run.setFontSize(11);
                      doc.write(output); 
                    output.close();

しかし、テキストを含む生成された .docx は次のようになります。

"XXXXXX Restaurant & Cafe 電話番号 12313531 請求書番号 120 タイプ: C-6 顧客名: 29 05 2015 -------------------------- ------------- 商品数 価格 合計 --------------------------------- ------ fr. エッグ+トースト バタージャム 1 110.0 110.0 --------------------------------- ------ 割引: 0% 小計: 110.0 現金: 200 残高: 90.0"

コンソールに表示されるものと同じものを取得したい.できるだけ早く助けてください.

4

1 に答える 1

0

私はこれで間違っているかもしれません。しかし、私が覚えている限り、XWPFRun は文字列内のすべての \n を無視します。したがって、スタイル付きのテキストで run.setText(text) を使用しようとすると、スタイルのないテキストが残念ながら取得されます。ランを作成するテキストのスタイルを設定する必要があります。このようなものは実際に機能するかもしれませんが、今はテストしていません:

XWPFParagraph p = doc.createParagraph();
for(Sting s:text.split("\n")){
    XWPFRun = p.createRun();
    run.setText(s);
}

これにより、文字列からすべてのスタイル情報が保持されるわけではありません。XWPFRuns を使用してスタイル付き出力を生成するだけです。

于 2015-08-19T09:58:26.170 に答える