繁体   English   中英

Apache POI Word XWPF表的方向和对齐方式

[英]Apache POI Word XWPF table direction and alignment

我想创建一个普通表并将其方向设置为“从右至左”“可以使用此选项表方向设置 ”,并使它的对齐方式是“从左至右”,可以使用此选项设置表对齐

我已经试过了:

XWPFTable myTable = myDocument.createTable();
CTTbl cttblp = myTable.getCTTbl();
CTTblPr cttblpr;
cttblpr = (cttblp.getTblPr() == null ? cttblp.addNewTblPr() : cttblp.getTblPr());

//table direction
cttblpr.addNewBidiVisual().setVal(STOnOff.ON);

//table alignment
CTJc ctjc = (cttblpr.isSetJc() ? cttblpr.getJc() : cttblpr.addNewJc());
ctjc.setVal(STJc.LEFT);

据我了解,表格方向的这一部分可以防止发生任何对齐。

工作台方向不会阻止对齐,它会扭转对齐的影响。 因此,在您的情况下,如果将表格方向设置为Right-to-Left ,则必须将表格对齐方式设置为Right ,以使其显示左对齐。 对于具有左右可视化的所有表属性都是如此,例如,左侧边框现在将显示在右侧,反之亦然。

参见ECMA-376第1版第4部分2.4.23行16

如果在表上省略了此属性[jc(表对齐)],则对齐方式应由关联的表样式确定。 如果在样式层次结构中未指定此属性,则该表应从前距(左至右表中的左边界或右至左表中的右边界)以零缩进对齐。 。

ECMA-376第1版第4部分2.4.1线7

当指定了此属性[bidiVisual(从视觉上从右到左的表)]时,假定该表是正常的从左到右的表,则应将此表中所有单元格(和表级属性)的顺序应用于该表,但是表格单元格应按从右到左的方向显示。 [示例:第一个表格单元格的左边框应显示在该单元格的右侧(这将是最右边的单元格),在视觉上从右到左的表格中。 最终示例]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM