当前位置: 首页 > 知识库问答 >
问题:

HTML中文本方向垂直的表格单元格到.docx和docx4j

尚棋
2023-03-14

我试图用docx4j将文本垂直方向的html表转换为docx。这是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="ISO-8859-1" />
    <title>Platilla HTML para convertirlo a DOCX</title>
    <style type="text/css">
        body {
            font-family:Arial;
            font-size:11pt;
        }
        .titulo {
            text-align:center;
            font-weight:bold;
        }
        .contenido {
            text-align:justify;
        }
        .tabla {
            width:100%;
            border:1px solid black;
            border-spacing:0px;
            border-collapse:collapse;
            margin-top: 10px;
        }
        .tabla td, .tabla th {
            border:1px solid black;
        }
        .tabla th {
            background-color: #898989;
            color: white;
            text-align: center;
            vertical-align: bottom;
            height: 150px;
            padding-bottom: 3px;
            padding-left: 5px;
            padding-right: 5px;
        }
        .verticalText {
            text-align: center;
            vertical-align: middle;
            width: 20px;
            margin: 0px;
            padding: 0px;
            padding-left: 3px;
            padding-right: 3px;
            padding-top: 10px;
            white-space: nowrap;
            transform: rotate(-90deg);
            -webkit-transform: rotate(-90deg);
            -moz-transform: rotate(-90deg);
            -o-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);                 
        };  
    </style>
</head>
<body>
    <table class="tabla">
        <tr>
            <th><div class="verticalText">No. de Item</div></th>
            <th>Departamento / Municipio</th>
            <th>Tipo de Servicio</th>
            <th>Contratista</th>
            <th>Monto maximo</th>
        </tr>
        <tr>
            <td>6</td>
            <td>7</td>
            <td>8</td>
            <td>9</td>
            <td>10</td>
        </tr>
    </table>
</body>

我正在使用样式将文本转换为垂直方向...

transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
private WordprocessingMLPackage export(String xhtml) {

    WordprocessingMLPackage wordMLPackage = null;
    try {
        RFonts arialRFonts = Context.getWmlObjectFactory().createRFonts();
        arialRFonts.setAscii("Arial");
        arialRFonts.setHAnsi("Arial");
        XHTMLImporterImpl.addFontMapping("Arial", arialRFonts);

        wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.LETTER, false);
        XHTMLImporter importer = new XHTMLImporterImpl(wordMLPackage);
        List<Object> content = importer.convert(xhtml, null);
        wordMLPackage.getMainDocumentPart().getContent().addAll(content);
    } catch (Docx4JException ex) {
        Logger.getLogger(ReporteContratoEspecialista.class.getName()).log(Level.SEVERE, null, ex);
    }
    return wordMLPackage;
}
wordMLPackage.save(servletOutputStream);

共有1个答案

陆敏学
2023-03-14

您需要增强源代码以添加该特性。

 类似资料:
  • 问题内容: 我有一个显示在JLabel中的HTML表(带有CSS的样式)。我希望单元格的内容(单行文本)水平和垂直居中。水平居中很容易,但是我似乎无法使文本居中。我已经尝试过并同时使用了和参数。我已经看了几个技巧,但是似乎都没有用,而我尝试过的那些没有用。 我现在所拥有的: 内联(在标记中)CSS: HTML的相关部分: 问题答案: 支持 在Swing组件的HTML 被限制到3.2,但应该工作。

  • 问题内容: 是否有(便携式)方式将HTML表格单元格中的文本旋转90°? (我的表有很多列,标题的文本很多,所以我想垂直书写以节省空间。) 问题答案: .box_rotate { 截至2017年,上述站点已简化了规则集以删除旧版InternetExplorer过滤器并更多地依赖现在的标准属性:

  • 问题内容: 根据该规范,默认值是。 将框的基线与父框的基线对齐。如果该框没有基线,则将下边距边缘与父对象的基线对齐。 但是,当涉及表格单元格()时,默认值始终为。 将框的垂直中点与父框的基线对齐,再加上父框x高度的一半。 我希望对此行为进行官方确认,但在W3C文档中找不到任何内容。我发现的所有内容都显示默认值为。 它在哪里说表单元的默认值是? 问题答案: 如规范所述,的初始值始终为: 垂直对齐 初

  • 我有一个名为“DocumentContent”的富文本框,我将使用以下代码将其内容添加到pdf中: 问题是,当我打开PDF文件时,内容显示为HTML,而不是如下所示的文本: 但它应该如下所示 我要做的是保留用户应用于富文本的所有样式,并将字体系列更改为Arial。 我可以更改字体系列,但我需要将此内容从超文本标记语言解码为文本。 你能给个建议吗?谢谢

  • 见鬼,各位, 我想问一下如何创建一个垂直的表(作为比较表),我可以这样显示数据uch: 我的问题是,如果我想从后端显示数据,它将水平显示,我想垂直显示,就像我想比较两个客户,检查他们是否有相同的数据或其他不同的数据(例如年龄)。 有人能帮我做这样的事情吗(后台前端)??很抱歉我的问题,但我已经尝试了太多,谷歌了,但我找不到任何可以帮助我解决这个问题的东西。 我的想法是:我想从后端获取重复怀疑,并在

  • 问题内容: 我想在表格单元格中使用CSS,这样,如果文本太长而无法放在一行上,它将用省略号进行剪切,而不是换成多行。这可能吗? 我尝试了这个: 但是,似乎使文本(及其单元格)不断向右扩展,从而使表格的总宽度超出了其容器的宽度。但是,如果没有它,文本在碰到单元格的边缘时会继续换行。 问题答案: 要在表格单元溢出时用省略号剪切文本,您需要在每个类上设置CSS属性,以使溢出起作用。不需要额外的布局div