首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docx4j缩进表

Docx4j缩进表
EN

Stack Overflow用户
提问于 2014-12-12 12:45:48
回答 1查看 1.2K关注 0票数 0

我对docx4j有个小问题。在本文档中,我有一个从模板构建的文档(替换MailMerge字段并向其添加文本),我想插入两个表。到目前为止,一切正常,这里没问题。我只想缩进我的桌子,在它前面放个标签。

我使用一个表示docx4j文档的类,并使用类似以下的助手方法:

代码语言:javascript
运行
复制
public void buildTable(Map<String, String> data, boolean indent) {      
    Tbl table = factory.createTbl();
    Tr tableRow = null;

    for (String key : data.keySet()) {
        tableRow = factory.createTr();

        addTableCell(tableRow, key);
        addTableCell(tableRow, data.get(key));
        table.getContent().add(tableRow);           
    }

    if (indent) {
        R run = factory.createR();
        P para = factory.createP();
        R.Tab tab = factory.createRTab();

        run.getContent().add(tab);
        para.getContent().add(run);

        table.setParent(para);

        documentPart.addObject(para);
        documentPart.addObject(table);

    } else {
        documentPart.addObject(table);
    }       
}

我尝试过不同的东西,选项卡被插入。但是,要么我的表没有呈现,要么我的表被附加在选项卡下面。

我尝试将表添加到run对象-> No表中

到段落对象->无表

将段落设置为表的父级,然后在选项卡式段落下面添加表->表。

所以..。很明显我做错了什么。你有解决这个问题的办法吗?我看到文本对象有一个类似于text.setSpace的属性(“保存”);为了保留文本的空间,表对象有类似的地方吗?

提前谢谢。

马提亚斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-12 20:43:04

表是块级元素;它是段落的同级元素,不能是它的后代。

你想要的是tblInd

有关添加该表的帮助,请在Word中创建一个表,然后拖动其左边框。

将生成的docx上传到docx4j webapp,或者使用helper AddIn查看得到的docx4j,并生成相应的docx4j Java代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27443982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档