如何更改单元格的宽度?

99maas

在设置单元格底边框的长度时,我需要您的帮助。目前,它显示的单元格底边框太长,我需要将其缩短。我试图更改表格的宽度,但无法正常进行。

下面是代码:

Paragraph tableParagraph = new Paragraph();
tableParagraph.setAlignment(Element.ALIGN_LEFT);

PdfPTable table55 = new PdfPTable(2);
table55 = new PdfPTable(new float[] { 6, 6 });
table55.setWidthPercentage(90f);
table55.getDefaultCell().setBorder(PdfPCell.NO_BORDER);

PdfPCell cel2a = new PdfPCell(new Paragraph("Total of Net Profit ", font));

PdfPCell cel2b = new PdfPCell(new Paragraph("100.000" + " USD  ", font));

cel2a.setBorder(Rectangle.NO_BORDER);
cel2b.setBorder(Rectangle.BOTTOM);
cel2a.setLeading(1f, 1.5f);
cel2b.setLeading(1f, 1.5f);

table55.addCell(cel2a);
table55.addCell(cel2b);
布鲁诺·洛瓦吉(Bruno Lowagie)

有不同的方法来定义单元格的宽度。为了解释不同的选项,我们必须先讨论定义表(所有列)的宽度,然后再讨论定义单独列的宽度。

桌子的宽度:

选项1:您没有定义绝对宽度。

而是让iText根据可用空间计算宽度。可用空间是页面的宽度减去左边距和右边距的大小。

如果您创建这样的文档:

Document document = new Document();

然后,页面的宽度为595个用户单位(这是A4页面的宽度),页边距的宽度为36个用户单位(如果您未明确定义页边距,则为默认值)。因此,可用宽度为523个用户单位。

当您像这样定义表格时:

PdfPTable table = new PdfPTable(2);

那么当您将此表格添加到页面时,表格将占用可用宽度的80%。因此,如果可用宽度为523,则表格的宽度将为418.4个用户单位。

您可以通过更改宽度百分比来更改此设置。例如,如果您添加:

table.setWidthPercentage(100);

则将使用100%的可用宽度,并且表格的宽度将为523个用户单位。

选项2:您定义绝对宽度。

假设要求您创建一个宽度为4英寸的表格。默认情况下1英寸是72个用户单位,因此您需要一个288个用户单位的表。

可以这样实现:

PdfPTable table = new PdfPTable(2);
table.setTotalWidth(288);
table.setLockedWidth(true);

如果忘记了该行,table.setLockedWidth(true);则iText将假定您希望iText根据(默认)宽度百分比和可用宽度来计算宽度。锁定宽度后,将iText切换为使用总宽度作为绝对宽度。

列宽:

情况1:相对宽度

当您不定义任何宽度时,每列将具有相同的宽度。该宽度将通过表的宽度除以列数来计算。例如,如果表格的宽度是288个用户单位,并且表格有两列,则每列将是144个用户单位。

假设您希望第二列的宽度是第一列的三倍,那么您可以像这样更改列的相对宽度:

PdfPTable table = new PdfPTable(2);
table.setWidths(new float[] { 1, 3 });

或者,如果您只想使用一行:

PdfPTable table = new PdfPTable(new float[] { 1, 3 });

如果的宽度table为288,则第一列的宽度现在为72,第二列的宽度为216。

如果这样做,您将得到相同的结果:

PdfPTable table = new PdfPTable(new float[] { 25, 75 });

宽度是相对值。{ 1, 3 }等于{ 25, 75 }

您做了一些奇怪的事情:

PdfPTable table55 = new PdfPTable(2);
table55 = new PdfPTable(new float[] { 6, 6 });

在第一行中,创建一个具有两列相同宽度的表new PdfPTable(2),但是您永远不会使用它PdfPTable(2),因为在第二行中,将table55变量重新定义new PdfPTable(new float[]{ 6, 6 } )

{ 6, 6 }相对值一样,它等效于{ 50, 50 }{ 1, 1 }...。您正在创建一个具有两列具有相同宽度的表。

情况2:绝对宽度

假设您不想使用相对宽度(例如,因为计算288 of 1/4和288的3/4的数学太难了),并且您想要创建一个表宽为两列的表,其中第一列为1英寸宽,第二个为3英寸宽,那么您可以再次使用桌子锁定宽度的原理。看一眼:

PdfPTable table = new PdfPTable(2);
table.setTotalWidth(new float[]{ 72, 216 });
table.setLockedWidth(true);

现在,我们将数组传递给该setTotalWidth()方法。宽度不再是相对的,我们告诉iText通过锁定宽度来使用这些绝对宽度。

现在,第一列(以及第一列中的所有单元格)将是72个用户单位(1英寸)宽,第二列将是216个用户单位(3英寸)宽。

单元格宽度:

单元格的宽度遵循列的宽度。

当然,所有这些都已在联机文档中进行了详细解释。有关示例,例如ColumnWidths或免费电子书《 StackOverflow上的最佳iText问题》中专门针对表格的整章有人想知道为什么没人读过该文档。如果没有人对答案感兴趣,继续回答问题是否有意义?(对此哲学笔记很抱歉,已经过了很长的一天。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JupyterLab中更改单元格的样式/宽度?

来自分类Dev

如何更改tableView单元格textLabel的宽度

来自分类Dev

如何在JupyterLab中更改单元格的样式/宽度?

来自分类Dev

VBA:更改Excel单元格宽度

来自分类Dev

无法更改表格单元格的宽度

来自分类Dev

VBA:更改Excel单元格宽度

来自分类Dev

如何在Laravel Excel中更改所有单元格的高度和宽度

来自分类Dev

如何更改 Jupyter 笔记本单元格左侧部分的宽度?

来自分类Dev

在不更改单元格宽度的情况下使表格单元格的内容大于该单元格

来自分类Dev

根据单元格宽度更改UITableViewCell内容的首选方法

来自分类Dev

如何动态更改单元格的公式

来自分类Dev

表格单元格的宽度(%)

来自分类Dev

UICollectionView单元格宽度

来自分类Dev

PHPExcel如何应用样式并为动态生成的单元格设置单元格宽度和单元格高度

来自分类Dev

单元格宽度=文本宽度FPDF

来自分类Dev

单元格宽度=文本宽度FPDF

来自分类Dev

如何使表格单元格的宽度与高度相同?

来自分类Dev

如何使用flex固定表格单元格的宽度?

来自分类Dev

CSS网格:如何使单元格的宽度调整?

来自分类Dev

如何使JavaScript单元格占据全行宽度

来自分类Dev

如何修复HTML表格单元格宽度?

来自分类Dev

如何基于单元格值的更改来更改单元格的条件格式

来自分类Dev

Swift Collection View自定义布局更改单元格一侧的单元格宽度

来自分类Dev

当单元格文本更改为更长的文本时保持单元格宽度,不使用 table-layout:fixed

来自分类Dev

如何在UITableView静态单元格中动态更改单元格高度

来自分类Dev

如何根据单元格值更改DataGrid单元格背景色

来自分类Dev

如何根据单元格值更改php中的单元格表颜色?

来自分类Dev

用户离开单元格时如何更改datagrid单元格值

来自分类Dev

当其他单元格重新排序时,如何使UICollectionView单元格忽略位置更改?

Related 相关文章

  1. 1

    如何在JupyterLab中更改单元格的样式/宽度?

  2. 2

    如何更改tableView单元格textLabel的宽度

  3. 3

    如何在JupyterLab中更改单元格的样式/宽度?

  4. 4

    VBA:更改Excel单元格宽度

  5. 5

    无法更改表格单元格的宽度

  6. 6

    VBA:更改Excel单元格宽度

  7. 7

    如何在Laravel Excel中更改所有单元格的高度和宽度

  8. 8

    如何更改 Jupyter 笔记本单元格左侧部分的宽度?

  9. 9

    在不更改单元格宽度的情况下使表格单元格的内容大于该单元格

  10. 10

    根据单元格宽度更改UITableViewCell内容的首选方法

  11. 11

    如何动态更改单元格的公式

  12. 12

    表格单元格的宽度(%)

  13. 13

    UICollectionView单元格宽度

  14. 14

    PHPExcel如何应用样式并为动态生成的单元格设置单元格宽度和单元格高度

  15. 15

    单元格宽度=文本宽度FPDF

  16. 16

    单元格宽度=文本宽度FPDF

  17. 17

    如何使表格单元格的宽度与高度相同?

  18. 18

    如何使用flex固定表格单元格的宽度?

  19. 19

    CSS网格:如何使单元格的宽度调整?

  20. 20

    如何使JavaScript单元格占据全行宽度

  21. 21

    如何修复HTML表格单元格宽度?

  22. 22

    如何基于单元格值的更改来更改单元格的条件格式

  23. 23

    Swift Collection View自定义布局更改单元格一侧的单元格宽度

  24. 24

    当单元格文本更改为更长的文本时保持单元格宽度,不使用 table-layout:fixed

  25. 25

    如何在UITableView静态单元格中动态更改单元格高度

  26. 26

    如何根据单元格值更改DataGrid单元格背景色

  27. 27

    如何根据单元格值更改php中的单元格表颜色?

  28. 28

    用户离开单元格时如何更改datagrid单元格值

  29. 29

    当其他单元格重新排序时,如何使UICollectionView单元格忽略位置更改?

热门标签

归档