【问题标题】:ITextSharp auto fit table column width to maximumITextSharp 自动将表格列宽调整为最大
【发布时间】:2015-02-06 16:06:53
【问题描述】:

我在使用 ITextSharp 表格时遇到了几个问题。

1) 如何将表格列宽自动调整到最大?
2)如何将整个表格推到右边(右对齐表格而不是右对齐表格内容)

以下是我想要实现的目标 |表示页面的开始和结束。 正如我们所看到的,第 1 列(发票 A、B、CDE)的宽度不同,与第 3 列相同。我希望 itextsharp 自动适应宽度。或许itextsharp中有一个函数可以实现这个?

|                    Invoice A : Be    |               
|                            B : Cdefg |
|                          CDE : abc   |
                 

【问题讨论】:

    标签: itextsharp


    【解决方案1】:

    关于您问题的第 1 部分:根据内容自动调整列的大小

    请查看The Best iText Questions on StackOverflow。关于如何调优表,它有不同的示例,尤其是在名为“表”的章节中。

    重要的是要了解 PDF 是一种格式,可以决定哪些内容应该放在哪里。换句话说:定义了列的宽度。列的宽度不像 HTML 那样由它们的内容定义。

    如果您希望表格“自动调整大小”,为什么不将表格创建为 HTML,然后使用 XML 工作者将 HTML 转换为 PDF。在这种情况下,iText 的 XML Worker 将查看内容并相应地调整列宽。例如,看看我对以下问题的回答:How to get particular html table contents to write it in pdf using itext

    顺便说一句,该示例是用 Java 编写的,但如果您需要 C# 示例,可以在此处找到 C# 示例:itextsharp html to pdf

    关于您问题的第 2 部分:设置表格的对齐方式

    有一种方法。在 Java 中,它是 setHorizontalAlignment()。您可以在此处找到 C# 对应部分:Align itextsharp table

    换句话说,你需要:

    table.HorizontalAlignment = Element.ALIGN_RIGHT;
    

    【讨论】:

      猜你喜欢
      • 2017-08-04
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多