Apacheワードポイ(XWPF)でテーブルの方向を変更するにはどうすればよいですか?

MTB

Apache poi word 3.8を使用して、ペルシア語/アラビア語のWord文書を作成しようとしています。

私の質問は、ドキュメント内のテーブルの方向を変更する方法ですか?これは、テーブル内の列の順序を意味します(テーブルセル内のテキストの方向ではありません)。

例えば:

rtlテーブルとlrtテーブルの方向

MS Wordでは、次を使用してテーブルのプロパティを変更できます。

このオプション

アクセルリヒター

テーブル全体が双方向である場合、org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPrにはにbidiVisual設定されONが含まれている必要があります

import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.*;

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STOnOff;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;

import java.math.BigInteger;

public class CreateWordRTLTable {

 public static void main(String[] args) throws Exception {

  XWPFDocument doc= new XWPFDocument();

  XWPFParagraph paragraph = doc.createParagraph();
  XWPFRun run = paragraph.createRun();
  run.setText("Paragraph 1 LTR");

  paragraph = doc.createParagraph();

  //create table:
  XWPFTable table = doc.createTable();
  //set the table itself to bidi visual
  if (table.getCTTbl().getTblPr() == null) {
   table.getCTTbl().addNewTblPr().addNewBidiVisual().setVal(STOnOff.ON);
  } else {
   table.getCTTbl().getTblPr().addNewBidiVisual().setVal(STOnOff.ON);
  }
  //create first row
  XWPFTableRow tableRow = table.getRow(0);
  tableRow.getCell(0).setText("first cell");
  tableRow.addNewTableCell().setText("السلام عليكم");
  tableRow.addNewTableCell().setText("third cell");
  //Each cell contains at least a paragraph. Those can be set to support bidi.
  for (int col = 0 ; col < 3; col++) {
   paragraph = tableRow.getCell(col).getParagraphs().get(0);
   CTP ctp = paragraph.getCTP();
   CTPPr ctppr = ctp.getPPr();
   if (ctppr == null) ctppr = ctp.addNewPPr();
   ctppr.addNewBidi().setVal(STOnOff.ON);
  }

  //create CTTblGrid for this table with widths of the 3 columns. 
  //necessary for Libreoffice/Openoffice to accept the column widths.
  //values are in unit twentieths of a point (1/1440 of an inch)
  table.getCTTbl().addNewTblGrid().addNewGridCol().setW(BigInteger.valueOf(2*1440));
  for (int col = 1 ; col < 3; col++) {
   table.getCTTbl().getTblGrid().addNewGridCol().setW(BigInteger.valueOf(2*1440));
  }

  //create and set column widths for all columns in all rows
  //most examples don't set the type of the CTTblWidth but this
  //is necessary for working in all office versions
  //values are in unit twentieths of a point (1/1440 of an inch)
  for (int col = 0; col < 3; col++) {
   CTTblWidth tblWidth = CTTblWidth.Factory.newInstance();
   tblWidth.setW(BigInteger.valueOf(2*1440));
   tblWidth.setType(STTblWidth.DXA);
   for (int row = 0; row < 1; row++) {
    CTTcPr cttcpr = table.getRow(row).getCell(col).getCTTc().getTcPr();
    if (cttcpr != null) {
     cttcpr.setTcW(tblWidth);
    } else {
     cttcpr = CTTcPr.Factory.newInstance();
     cttcpr.setTcW(tblWidth);
     table.getRow(row).getCell(col).getCTTc().setTcPr(cttcpr);
    }
   }
  }

  paragraph = doc.createParagraph();

  doc.write(new FileOutputStream("WordDocument.docx"));

 }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パワーポイント2010でデフォルトのテキストの方向を変更するにはどうすればよいですか?

分類Dev

Microsoft Wordでテーブルの方向を変更するにはどうすればよいですか?

分類Dev

Reactでdivテーブルのサイズを変更するにはどうすればよいですか?

分類Dev

MySQLテーブルの列のサイズを変更するにはどうすればよいですか?

分類Dev

LibreElecでパスワードポリシーを変更するにはどうすればよいですか

分類Dev

Matlabでテーブル変数の名前を変更するにはどうすればよいですか?

分類Dev

ant.designの「テーブル」コンポーネントのスタイルを変更するにはどうすればよいですか?

分類Dev

エンティティフレームワークで移行テーブルの名前を変更するにはどうすればよいですか?

分類Dev

djangoのラベルパスワードを変更するにはどうすればよいですか?

分類Dev

テーブル内の既存の主キーを変更するにはどうすればよいですか?

分類Dev

XAMPP Apacheサーバーのポートを変更するにはどうすればよいですか?

分類Dev

パスワードで保護されたMSAccessテーブルをインポートしてExcelにするにはどうすればよいですか?

分類Dev

パスワードで保護されたMSAccessテーブルをインポートしてExcelにするにはどうすればよいですか?

分類Dev

Symfony 3 / Doctrineでテーブルの名前を変更するにはどうすればよいですか?

分類Dev

SQL Serverでテーブルの形状を変更するにはどうすればよいですか?

分類Dev

別のHTMLテーブル形式で動作するようにコードを変更するにはどうすればよいですか?

分類Dev

jfeinstein10のSlidingMenuライブラリでドロワーインジケーターを変更するにはどうすればよいですか?

分類Dev

LEFT OUTER JOINを変更して、RIGHTサイドテーブルのフィルターを追加するにはどうすればよいですか。

分類Dev

LEFT OUTER JOINを変更して、RIGHTサイドテーブルのフィルターを追加するにはどうすればよいですか。

分類Dev

ターミナルでキーワード/特定のテキストで名前を変更するにはどうすればよいですか?

分類Dev

Realm を使用して複数のテーブルに適合するようにコードを変更するにはどうすればよいですか?

分類Dev

SolidWorks APIを介して穴テーブルの軸方向を変更するにはどうすればよいですか?

分類Dev

ASPNETUsersテーブルの名前をUserに変更するにはどうすればよいですか?

分類Dev

bashでワイルドカードを使用してファイルの名前を変更するにはどうすればよいですか?

分類Dev

GNOMEでアクティブなウィンドウのタイトルバーの色を変更するにはどうすればよいですか?

分類Dev

既存のHiveテーブルのFIELDTERMINATED値を変更するにはどうすればよいですか?

分類Dev

UICollectionViewのスクロール方向を変更するにはどうすればよいですか?

分類Dev

テーマ全体でAppBarLayoutのスタイルを変更するにはどうすればよいですか?

分類Dev

Wordで、テーブルの幅を変更せずに列のサイズを変更するにはどうすればよいですか?

Related 関連記事

  1. 1

    パワーポイント2010でデフォルトのテキストの方向を変更するにはどうすればよいですか?

  2. 2

    Microsoft Wordでテーブルの方向を変更するにはどうすればよいですか?

  3. 3

    Reactでdivテーブルのサイズを変更するにはどうすればよいですか?

  4. 4

    MySQLテーブルの列のサイズを変更するにはどうすればよいですか?

  5. 5

    LibreElecでパスワードポリシーを変更するにはどうすればよいですか

  6. 6

    Matlabでテーブル変数の名前を変更するにはどうすればよいですか?

  7. 7

    ant.designの「テーブル」コンポーネントのスタイルを変更するにはどうすればよいですか?

  8. 8

    エンティティフレームワークで移行テーブルの名前を変更するにはどうすればよいですか?

  9. 9

    djangoのラベルパスワードを変更するにはどうすればよいですか?

  10. 10

    テーブル内の既存の主キーを変更するにはどうすればよいですか?

  11. 11

    XAMPP Apacheサーバーのポートを変更するにはどうすればよいですか?

  12. 12

    パスワードで保護されたMSAccessテーブルをインポートしてExcelにするにはどうすればよいですか?

  13. 13

    パスワードで保護されたMSAccessテーブルをインポートしてExcelにするにはどうすればよいですか?

  14. 14

    Symfony 3 / Doctrineでテーブルの名前を変更するにはどうすればよいですか?

  15. 15

    SQL Serverでテーブルの形状を変更するにはどうすればよいですか?

  16. 16

    別のHTMLテーブル形式で動作するようにコードを変更するにはどうすればよいですか?

  17. 17

    jfeinstein10のSlidingMenuライブラリでドロワーインジケーターを変更するにはどうすればよいですか?

  18. 18

    LEFT OUTER JOINを変更して、RIGHTサイドテーブルのフィルターを追加するにはどうすればよいですか。

  19. 19

    LEFT OUTER JOINを変更して、RIGHTサイドテーブルのフィルターを追加するにはどうすればよいですか。

  20. 20

    ターミナルでキーワード/特定のテキストで名前を変更するにはどうすればよいですか?

  21. 21

    Realm を使用して複数のテーブルに適合するようにコードを変更するにはどうすればよいですか?

  22. 22

    SolidWorks APIを介して穴テーブルの軸方向を変更するにはどうすればよいですか?

  23. 23

    ASPNETUsersテーブルの名前をUserに変更するにはどうすればよいですか?

  24. 24

    bashでワイルドカードを使用してファイルの名前を変更するにはどうすればよいですか?

  25. 25

    GNOMEでアクティブなウィンドウのタイトルバーの色を変更するにはどうすればよいですか?

  26. 26

    既存のHiveテーブルのFIELDTERMINATED値を変更するにはどうすればよいですか?

  27. 27

    UICollectionViewのスクロール方向を変更するにはどうすればよいですか?

  28. 28

    テーマ全体でAppBarLayoutのスタイルを変更するにはどうすればよいですか?

  29. 29

    Wordで、テーブルの幅を変更せずに列のサイズを変更するにはどうすればよいですか?

ホットタグ

アーカイブ