Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据列表导出为PDF格式,每页限制行数_C#_Asp.net_Pdf - Fatal编程技术网

C# 将数据列表导出为PDF格式,每页限制行数

C# 将数据列表导出为PDF格式,每页限制行数,c#,asp.net,pdf,C#,Asp.net,Pdf,我正在尝试将SqlData导出到pdf,为此,我正在尝试获取要打印预览的数据列表。这里显示的是网格视图数据。但我做了一些修改,并尝试在数据列表上获取数据。现在一切正常,我可以获取数据列表的打印预览。只有一个问题,我想限制每页显示的数据数量..就像我只想限制pdf的每页显示10行一样。有人知道如何实现这样的功能吗 简而言之,我需要一个分页符功能上导出的pdf,是pdf我目前得到的 对不起,如果我的问题太简单,但我是Asp.Net的新手 谢谢该链接上显示的方法稍微简单一些,但您可以修改它来解决您的问

我正在尝试将SqlData导出到pdf,为此,我正在尝试获取要打印预览的数据列表。这里显示的是网格视图数据。但我做了一些修改,并尝试在数据列表上获取数据。现在一切正常,我可以获取数据列表的打印预览。只有一个问题,我想限制每页显示的数据数量..就像我只想限制pdf的每页显示10行一样。有人知道如何实现这样的功能吗

简而言之,我需要一个分页符功能上导出的pdf,是pdf我目前得到的

对不起,如果我的问题太简单,但我是Asp.Net的新手


谢谢

该链接上显示的方法稍微简单一些,但您可以修改它来解决您的问题。下面是一些代码:

using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace RowsCountSample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var pdfDoc = new Document(PageSize.A4))
            {
                var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
                pdfDoc.Open();

                var table1 = new PdfPTable(3);
                table1.HeaderRows = 2;
                table1.FooterRows = 1;

                //header row 
                var headerCell = new PdfPCell(new Phrase("header"));
                headerCell.Colspan = 3;
                headerCell.HorizontalAlignment = Element.ALIGN_CENTER;
                table1.AddCell(headerCell);

                //footer row 
                var footerCell = new PdfPCell(new Phrase("footer"));
                footerCell.Colspan = 3;
                footerCell.HorizontalAlignment = Element.ALIGN_CENTER;
                table1.AddCell(footerCell);

                //adding some rows 
                for (int i = 0; i < 70; i++)
                {
                    //adds a new row
                    table1.AddCell(new Phrase("Cell[0], Row[" + i + "]"));
                    table1.AddCell(new Phrase("Cell[1], Row[" + i + "]"));
                    table1.AddCell(new Phrase("Cell[2], Row[" + i + "]"));

                    //sets the number of rows per page
                    if (i > 0 && table1.Rows.Count % 7 == 0)
                    {
                        pdfDoc.Add(table1);
                        table1.DeleteBodyRows();
                        pdfDoc.NewPage();
                    }
                }

                pdfDoc.Add(table1);
            }

            //open the final file with adobe reader for instance. 
            Process.Start("Test.pdf");
        }
    }
}
使用系统诊断;
使用System.IO;
使用iTextSharp.text;
使用iTextSharp.text.pdf;
命名空间RowScontSample
{
班级计划
{
静态void Main(字符串[]参数)
{
使用(var pdfDoc=新文档(PageSize.A4))
{
var pdfWriter=pdfWriter.GetInstance(pdfDoc,newfilestream(“Test.pdf”,FileMode.Create));
pdfDoc.Open();
var表1=新的PDFP表(3);
表1.1-1=2;
表1.1行=1;
//标题行
var headerCell=新的PdfPCell(新短语(“标题”);
headerCell.Colspan=3;
headerCell.HorizontalAlignment=元素.ALIGN\u居中;
表1.AddCell(headerCell);
//页脚行
var footerCell=新的PdfPCell(新短语(“页脚”);
footerCell.Colspan=3;
footerCell.HorizontalAlignment=元素.ALIGN\u居中;
表1.添加单元格(页脚单元格);
//添加一些行
对于(int i=0;i<70;i++)
{
//添加新行
表1.AddCell(新短语(“单元格[0],第[“+i+”]行”);
表1.AddCell(新短语(“单元格[1],第[“+i+”]行”));
表1.AddCell(新短语(“单元格[2],第[“+i+”]行”);
//设置每页的行数
如果(i>0&&table1.Rows.Count%7==0)
{
pdfDoc.Add(表1);
表1.DeleteBodyRows();
pdfDoc.NewPage();
}
}
pdfDoc.Add(表1);
}
//例如,使用adobe reader打开最终文件。
进程启动(“Test.pdf”);
}
}
}

您将如何确定要在页面上显示的记录或数据,也就是说,您将如何设置每页显示的记录数?我的数据库上有唯一的id,根据该唯一id我正在确定亲爱的,这将取决于您如何显示数据。。你能把数据附在pdf上吗?这样我可以更准确地回答。@raman嗨!请检查更新的问题,我已经把pdf网址