0

私は2つの方法でテーブルを中央に配置しようとしました:

試行 1 コード:

<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 コード:

<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 プレビューです。

html プレビュー

ご覧のとおり、両方のテーブルが中央に配置されています。
ただし、「変換」をクリックすると、次のようになります。

生成されたpdf

また、後でテーブルをラップしてみました<div style="text-align: center"></div>が、うまくいきませんでした

4

1 に答える 1

0

コメント セクションで説明したように、これは XML Worker ではまだサポートされていません。次のリリースに追加します。次のリリースまで待てない場合は、次のパッチを適用してください。

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);
于 2015-05-23T11:36:21.153 に答える