2021-07-12

C#/VB.NET 设置PDF跨页表格重复显示表头行

在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好。下面分享一个方法如何在表格跨页时显示表格的表头内容,在C#中只需要简单使用方法grid.RepeatHeader = true;即可。具体参考如下方法步骤。另附VB.NET代码,有需可供参考。

1.在VS程序中添加引用Spire.PDF.dll

方法1:通过Nuget搜索下载安装。

在"解决方案资源管理器"中,鼠标右键点击"添加引用"—" 管理NuGet包"

 

完成安装。引用结果:

 

方法2:下载Free Spire.PDF for .NET包到本地。解压。在VS中的"解决方案资源管理器"中,鼠标右键点击"添加引用"-将解压包Bin文件夹下的dll添加引用至vs。

 

C#

using Spire.Pdf;using Spire.Pdf.Graphics;using Spire.Pdf.Grid;using System.Drawing;namespace RepeatTableHeaderRow{ class Program {  static void Main(string[] args)  {   //新建一个PDF文档   PdfDocument pdf = new PdfDocument();   //添加一页   PdfPageBase page = pdf.Pages.Add();   //创建PdfGrid类的对象   PdfGrid grid = new PdfGrid();   //设置单元格填充   grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);   //添加表格列数   grid.Columns.Add(3);   //添加表头行及表格数据   PdfGridRow[] pdfGridRows = grid.Headers.Add(1);      for (int i = 0; i < pdfGridRows.Length; i++)   {    pdfGridRows[i].Style.Font = new PdfTrueTypeFont(new Font("Arial", 11f, FontStyle.Regular), true);//指定字体    pdfGridRows[i].Cells[0].Value = "NAME";    pdfGridRows[i].Cells[1].Value = "SUBJECT";    pdfGridRows[i].Cells[2].Value = "SCORES";    pdfGridRows[i].Style.TextBrush = PdfBrushes.Red;    /*pdfGridRows[i].Style.Font = new PdfCjkStandardFont(PdfCjkFontFamily.HanyangSystemsGothicMedium,12f,PdfFontStyle.Regular);//绘制中日韩字体的方法    pdfGridRows[i].Cells[0].Value = "이 름";    pdfGridRows[i].Cells[1].Value = "科 目";    pdfGridRows[i].Cells[2].Value = "ほしとり";    pdfGridRows[i].Style.TextBrush = PdfBrushes.Blue;    */   }   //设置重复表头(表格跨页时)   grid.RepeatHeader = true;   //添加数据到表格   for (int i = 0; i < 60; i++)   {    PdfGridRow row = grid.Rows.Add();        for (int j = 0; j < grid.Columns.Count; j++)    {     row.Cells[j].Value = "(Row " + i + ", column " + j + ")";    }   }   //在PDF页面绘制表格   grid.Draw(page, new PointF(0, 20));      //保存文档   pdf.SaveToFile("Result.pdf");   System.Diagnostics.Process.Start("Result.pdf");  } }}

执行程序后,在VS的程序项目文件夹下可查看生成的PDF文档,如

C:\Users\Administrator\Documents\Visual Studio 2017\Projects\DrawTable_PDF\RepeatTableHeaderRow\bin\Debug\Result.pdf

文件路径也可以定义为其他路径。

 

跨页表头效果:

 

VB.NET代码

Imports Spire.PdfImports Spire.Pdf.GraphicsImports Spire.Pdf.GridImports System.DrawingNamespace RepeatTableHeaderRow Class Program  Private Shared Sub Main(args As String())   '新建一个PDF文档   Dim pdf As New PdfDocument()   '添加一页   Dim page As PdfPageBase = pdf.Pages.Add()   '创建PdfGrid类的对象   Dim grid As New PdfGrid()   '设置单元格填充   grid.Style.CellPadding = New PdfPaddings(1, 1, 1, 1)   '添加表格列数   grid.Columns.Add(3)   '添加表头行及表格数据   Dim pdfGridRows As PdfGridRow() = grid.Hea......

原文转载:http://www.shaoqun.com/a/868427.html

跨境电商:https://www.ikjzd.com/

捷汇:https://www.ikjzd.com/w/419

易联通:https://www.ikjzd.com/w/1854.html

eori:https://www.ikjzd.com/w/499


在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好。下面分享一个方法如何在表格跨页时显示表格的表头内容,在C#中只需要简单使用方法grid.RepeatHeader=true;即可。具体参考如下方法步骤。另附VB.NET代码,有需可供参考。1.在VS程序中添加引用Spire.PDF.dll方法1:通过Nuget搜索下载安装。在"解决方案资源管
dhl:https://www.ikjzd.com/w/516
款式单调不讨女性欢心 俄罗斯皮衣无奈摆上地摊 - :http://www.30bags.com/a/408257.html
旷世清幽六盘山_当心遭遇鬼门关 :http://www.30bags.com/a/410579.html
魁北克灯塔自由行旅游攻略:http://www.30bags.com/a/431560.html
昆明,理想生活的归宿:http://www.30bags.com/a/222080.html
少妇被粗大的猛烈进出 三根根巨大同时填满:http://lady.shaoqun.com/a/247943.html
公车上被猛烈的进出 公车上花茎律动噗呲噗呲:http://lady.shaoqun.com/a/247910.html
女人最喜欢被㖭的是地方 喜欢让同学㖭我下面的感觉:http://www.30bags.com/m/a/249921.html
深圳太虚之境展览门票免费吗:http://www.30bags.com/a/493641.html
深圳太虚之境展览是什么时候举办:http://www.30bags.com/a/493642.html
男人的"能力"并不强,这五个方面可见一斑,不妨对比一下,你占了多少:http://lady.shaoqun.com/a/417053.html
女性子宫切除术后可以性生活吗?专家:是的,但是有三件事要做好:http://lady.shaoqun.com/a/417056.html

No comments:

Post a Comment