首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用iText的XMLWorker水平对表进行居中

使用iText的XMLWorker水平对表进行居中
EN

Stack Overflow用户
提问于 2015-05-22 17:54:18
回答 1查看 1.4K关注 0票数 0

我试过用两种方式对桌子进行对中:

尝试1代码:

代码语言:javascript
复制
<h1>Attempt 1</h1>

<table style="width: 50%; margin: 0 auto;">
    <tr>
        <th>foo</th>
        <td>bar</td>
    </tr>
    <tr>
        <th>foo</th>
        <td>bar</td>
    </tr>
</table>

尝试2代码:

代码语言:javascript
复制
<h1>Attempt 2</h1>

<table style="width: 50%;" align="center">
    <tr>
        <th>foo</th>
        <td>bar</td>
    </tr>
    <tr>
        <th>foo</th>
        <td>bar</td>
    </tr>
</table>

使用XMLWorker演示:http://demo.itextsupport.com/xmlworker/

这是HTML预览:

如您所见,这两个表都是居中的。

尽管,当我单击"transform“时,我得到了以下内容:

后来,我还尝试将表包装在一个不起作用的<div style="text-align: center"></div>中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-23 11:36:21

正如注释部分所解释的那样,XML工作者还不支持这一点。我们将把它添加到下一个版本中。如果您不能等到下一个版本,请应用此修补程序:

代码语言:javascript
复制
diff --git a/src/main/java/com/itextpdf/tool/xml/html/table/Table.java b/src/main/java/com/itextpdf/tool/xml/html/table/Table.java
index 541818bfc9..e262b4a406 100644
--- a/src/main/java/com/itextpdf/tool/xml/html/table/Table.java
+++ b/src/main/java/com/itextpdf/tool/xml/html/table/Table.java
@@ -165,6 +165,19 @@ public class Table extends AbstractTagProcessor {
             table.setHeaderRows(headerRows + footerRows);
             table.setFooterRows(footerRows);

+            if ( tag.getAttributes().containsKey(HTML.Attribute.ALIGN)) {
+                String value = tag.getAttributes().get(HTML.Attribute.ALIGN);
+                if ( value != null ) {
+                    if (value.equalsIgnoreCase(CSS.Value.RIGHT)) {
+                        table.setHorizontalAlignment(Element.ALIGN_RIGHT);
+                    } else if ( value.equalsIgnoreCase(CSS.Value.LEFT)) {
+                        table.setHorizontalAlignment(Element.ALIGN_LEFT);
+                    } else if ( value.equalsIgnoreCase(CSS.Value.CENTER)) {
+                        table.setHorizontalAlignment(Element.ALIGN_CENTER);
+                    }
+                }
+            }
+
             int direction = getRunDirection(tag);
             if (direction != PdfWriter.RUN_DIRECTION_DEFAULT) {
                 table.setRunDirection(direction);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30403017

复制
相关文章

相似问题

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