可用于:用户界面为ASP。NET MVC | 用户界面为ASP。净AJAX | Blazor的UI | 用于WPF的UI | WinForms的UI | Silverlight的UI | Xamarin的UI | WinUI的UI | 用户界面为ASP。网络核心 | .NET MAUI的UI

Telerik文档处理?下载30天免费试用

表格

表格类帮助您轻松创建表格式数据内容。您所需要做的就是定义表内容并将table实例传递给FixedContentEditor或者一个RadFixedDocumentEditor.从那时起,这些编辑器负责定位、测量、绘制和将表格分割到页面上。

Rad Pdf处理编辑表01

本文旨在介绍与表相关的APIRadPdfProcessing.它包括以下各节:

定义表内容

每个表包含一系列TableRow实例中的每个实例都包含一系列的TableCell实例。为了定义一个简单的表,您需要生成表单元格并向其添加一些内容。

示例1演示如何生成一个包含两行三列的简单表,每个表单元格中都有一些示例文本。

例1:创建简单表

Table = new Table();TableRow firstRow = table.Rows.AddTableRow();.InsertText .Blocks.AddBlock firstRow.Cells.AddTableCell()()(“cell11”);.InsertText .Blocks.AddBlock firstRow.Cells.AddTableCell()()(“cell12”);.InsertText .Blocks.AddBlock firstRow.Cells.AddTableCell()()(“cell13”);TableRow secondRow = table.Rows.AddTableRow();.InsertText .Blocks.AddBlock secondRow.Cells.AddTableCell()()(“cell21”);.InsertText .Blocks.AddBlock secondRow.Cells.AddTableCell()()(“cell22”);.InsertText .Blocks.AddBlock secondRow.Cells.AddTableCell()()(“cell23”);

结果表如图1

图1:表格

Rad Pdf处理编辑表02

使用DefaultCellProperties

如果想对表中的所有单元格应用默认样式,可以使用table的样式DefaultCellProperties财产。这允许轻松地修改默认单元格表示。

  • 填充:指定单元格内边框轮廓与单元格内容之间的距离。
  • 边界:类型属性TableCellBorders,它指定单个单元格的边界。可用的边界有左、右、上、下、对角线上和对角线下。
  • 背景:指定单元格的背景。

Е以2演示如何使用DefaultCellProperties一张桌子

示例2:使用表的DefaultCellProperties

Table = new Table();Border redBorder = new Border(2, new RgbColor(255,0,0));table.DefaultCellProperties.Borders = new TableCellBorders(redBorder);table.DefaultCellProperties.Padding =新厚度(20,10,20,10);table.DefaultCellProperties.Background = new RgbColor(0,255,0);TableRow firstRow = table.Rows.AddTableRow();firstRow.Cells.AddTableCell ();firstRow.Cells.AddTableCell ();firstRow.Cells.AddTableCell ();TableRow secondRow = table.Rows.AddTableRow(); secondRow.Cells.AddTableCell(); secondRow.Cells.AddTableCell(); secondRow.Cells.AddTableCell();

代码片段的结果示例2演示于图2

图2:DefaultCellProperties修改的结果

Rad Pdf处理编辑表03

修改表

有几个因素会影响表测量计算。下面列出了其中一些并加以解释:

  • 保证金:指定表边框、大纲和文档其余内容之间的距离。

  • 填充:通过TableCell的Padding属性设置,它指定了单元格边框、内轮廓和单元格内容之间的距离。

  • LayoutType:指定布局表内容的算法应使用。有两种选择TableLayoutType枚举:

    • 最适合的-表格宽度适合内容,除非所需宽度大于可用的测量宽度。
    • FixedWidth-表宽总是符合可用的测量宽度。
  • HorizontalAlignment:指定表在页面中的对齐方式。

  • BorderSpacing:表中所有边框之间的距离。这个距离的测量方法不同BorderCollapse选择。

  • BorderCollapse:指定边界间距计算的方式。有两种选择:

    • 崩溃:边界之间的距离是从边界的中线开始测量的
    • 单独的:边界之间的距离从边界外轮廓线开始测量。

示例3演示如何使用不同的BorderCollapse选择。本例中的代码创建一个空表,并设置默认的单元格填充和厚度为10的红色表边框。

示例3:创建带有红色边框的表

Table = new Table();table.DefaultCellProperties.Padding =新厚度(10,6,10,6);Border redBorder = new Border(10, new RgbColor(255, 0,0));表格border = new TableBorders(redBorder);

示例4向表中添加包含两个单元格的单行示例3.第一个单元格的边界为绿色,厚度为5,而第二个单元格的边界为蓝色,厚度为3。

示例4:添加绿色和蓝色单元格

TableRow = table.Rows.AddTableRow();TableCell firstCell = tableRow.Cells.AddTableCell();Border greenBorder = new Border(5, new RgbColor(0,255,0));firstCell。边界= new TableCellBorders(greenBorder, greenBorder, greenBorder, greenBorder); firstCell.Blocks.AddBlock().InsertText("green bordered cell"); TableCell secondCell = tableRow.Cells.AddTableCell(); Border blueBorder = new Border(3, new RgbColor(0, 0, 255)); secondCell.Borders = new TableCellBorders(blueBorder, blueBorder, blueBorder, blueBorder); secondCell.Blocks.AddBlock().InsertText("blue bordered cell");

图3显示了示例3和示例4中的表格,其中BorderCollapse属性设置为Collapse -所有的边界都被绘制成中线重合的状态。

示例5:折叠边框

表格BorderCollapse = BorderCollapse. collapse;

图3:折叠边界

Rad Pdf处理编辑表04

图4显示了相同的表格,BorderCollapse属性设置为分离-所有的边界都被绘制,以便它们的外部轮廓重合。

示例6:分隔边界

表格BorderCollapse = BorderCollapse. separate;

图4:分隔的边界

Rad Pdf处理编辑表05

RadFixedDocumentEditor绘图表

方法将表插入到PDF文档中RadFixedDocumentEditorInsertTable ()方法。通过这种方式,表格被插入到文档中,并在必要时分割到页面上。

例7生成一个包含两个单元格的简单表。

例7:创建表

Table = new Table();Border Border = new Border();表格border = new TableBorders(border);table.DefaultCellProperties.Borders = new TableCellBorders(border, border, border, border);表格BorderSpacing = 5;表格BorderCollapse = BorderCollapse. separate;TableRow row = table.Rows.AddTableRow(); row.Cells.AddTableCell().Blocks.AddBlock().InsertText("First cell"); row.Cells.AddTableCell().Blocks.AddBlock().InsertText("Second cell");

示例8从中插入表例7在RadFixedDocumentEditor中指定表布局类型为AutoFit。

例8:插入AutoFit表

RadFixedDocumentEditor编辑器= new RadFixedDocumentEditor(文档);表格LayoutType = tableelayouttype . autofit;editor.InsertTable(表);

结果是,表的宽度与拟合中可见的单元格内容所需的宽度完全一致图5

图5:AutoFit表

Rad Pdf处理编辑表06

指定FixedWidth布局选项会产生不同的结果。

例9:插入FixedWidth表

表格LayoutType = tabelayouttype . fixedwidth;editor.InsertTable(表);

图6:FixedWidth表

Rad Pdf处理编辑表07

带有FixedContentEditor的绘图表

当需要更多定制选项时,可以使用DrawTable ()的方法FixedContentEditor而不是RadFixedDocumentEditor

示例10展示了如何在FixedContentEditor的帮助下绘制一个旋转的表格。

例10:绘制旋转的桌子

表表= GenerateSampleTable();RadFixedDocument文档= new RadFixedDocument();RadFixedPage page = document.Pages.AddPage();FixedContentEditor编辑器= new FixedContentEditor(page, new SimplePosition());editor.Position。翻译(100);editor.Position.Rotate (-45);editor.DrawTable(表);

结果,上图7您可以看到一个45度旋转的桌子,类似于图5。

图7:FixedWidth表

Rad Pdf处理编辑表08

另请参阅

在本文中
Baidu
map