vb.net itextsharp:如何添加新页面并写入其中?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1940352/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 14:33:59 来源:igfitidea点击:
itextsharp: how do i add a new page and write to it?
提问by l--''''''---------''''''''''''
in vb.net i filled up the first page of a pdf document, how do i start from the second page?
在 vb.net 中,我填写了 pdf 文档的第一页,如何从第二页开始?
回答by Gabe
Document document = new Document(PageSize.A4, 0, 0, 50, 50);
System.IO.MemoryStream msReport = new System.IO.MemoryStream();
try {
// creation of the different writers
PdfWriter writer = PdfWriter.GetInstance(document, msReport);
// we add some meta information to the document
document.AddTitle("My Title");
document.AddAuthor("Me");
document.Open();
for (int i = 1; i <= 5; i++)
{
document.NewPage();
iTextSharp.text.Table datatable = new iTextSharp.text.Table(3);
datatable.Padding = 2;
datatable.Spacing = 0;
float[] headerwidths = { 6, 20, 32 };
datatable.Widths = headerwidths;
datatable.DefaultHorizontalAlignment = Element.ALIGN_LEFT;
datatable.AddCell(i.ToString());
datatable.AddCell("This is my name.");
datatable.AddCell("0123456789");
datatable.AddCell("No");
datatable.AddCell("Yes");
datatable.AddCell("No");
document.Add(datatable);
}
}
catch (Exception e) {
Console.Error.WriteLine(e.Message);
}
// we close the document
document.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Export.pdf");
Response.ContentType = "application/pdf";
Response.BinaryWrite(msReport.ToArray());
Response.End();
回答by jball
Do not mark this as the answer, this is just gmcalab's code converted to VB for your conveniance. His example answers your question quite handily.
不要将此标记为答案,这只是为了您的方便而将 gmcalab 的代码转换为 VB。他的例子非常轻松地回答了你的问题。
Dim document As New Document(PageSize.A4, 0, 0, 50, 50)
Dim msReport As New System.IO.MemoryStream()
Try
' creation of the different writers
Dim writer As PdfWriter = PdfWriter.GetInstance(document, msReport)
' we add some meta information to the document
document.AddTitle("My Title")
document.AddAuthor("Me")
document.Open()
For i As Integer = 1 To 5
document.NewPage()
Dim datatable As New iTextSharp.text.Table(3)
datatable.Padding = 2
datatable.Spacing = 0
Dim headerwidths As Single() = {6, 20, 32}
datatable.Widths = headerwidths
datatable.DefaultHorizontalAlignment = Element.ALIGN_LEFT
datatable.AddCell(i.ToString())
datatable.AddCell("This is my name.")
datatable.AddCell("0123456789")
datatable.AddCell("No")
datatable.AddCell("Yes")
datatable.AddCell("No")
document.Add(datatable)
Next
Catch e As Exception
Console.[Error].WriteLine(e.Message)
End Try
' we close the document
document.Close()
Response.Clear()
Response.AddHeader("content-disposition", "attachment;filename=Export.pdf")
Response.ContentType = "application/pdf"
Response.BinaryWrite(msReport.ToArray())
Response.[End]()