I am generating a multipage PDF document. I would like all pages EXCEPT the first page to have a header. How do I set up a header template that does not print on the first page?
Thanks
Chris
PdfDocument doc = new PdfDocument();
PdfPageBase page0 = doc.Pages.Add();
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Trebuchet MS", 14f, FontStyle.Regular));
for (int i = 0; i < 10; i++)
{
page0 = doc.Pages.Add();
page0.Canvas.DrawString("This is a PDF text header", font1, PdfBrushes.Red, new PointF(0, 0));
}
doc.SaveToFile("5310.pdf");
section.Pages.Add().AllowContainTopDocTemplates = false;
private void button3_Click(object sender, EventArgs e)
{
//Create a pdf document.
PdfDocument doc = new PdfDocument();
//margin
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
PdfMargins margin = new PdfMargins();
margin.Top = unitCvtr.ConvertUnits(2f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margin.Bottom = margin.Top;
margin.Left = unitCvtr.ConvertUnits(0.5f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margin.Right = margin.Left;
SetDocumentTemplate(doc, PdfPageSize.A4, margin);
PdfSection section = doc.Sections.Add();
PdfPageBase page = section.Pages.Add();
page.AllowContainTopDocTemplates = false;
DrawPage(page);
doc.SaveToFile("output-1.pdf");
System.Diagnostics.Process.Start("output-1.pdf");
}
static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
{
PdfPageTemplateElement leftSpace = new PdfPageTemplateElement(margin.Left, pageSize.Height);
doc.Template.Left = leftSpace;
PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);
topSpace.Foreground = true;
doc.Template.Top = topSpace;
//draw header label
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial", 10f));
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
String label = "Welcome to use Spire.PDF component";
float y = 0;
float x = 0;
topSpace.Graphics.DrawString(label, font1, PdfBrushes.PaleVioletRed, x, y, format);
label = "E-mail :";
SizeF size1 = font1.MeasureString(label, format);
y = y + size1.Height + 3;
PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial", 10f));
SizeF size2 = font2.MeasureString("E-mail : ", format);
PdfTrueTypeFont font3 = new PdfTrueTypeFont(new Font("Arial", 10f));
SizeF size3 = font3.MeasureString("Support@e-iceblue.com", format);
float y1 = y + size3.Height - size2.Height;
topSpace.Graphics.DrawString("E-mail : ", font2, PdfBrushes.PaleVioletRed, x, y1, format);
x = x + size2.Width;
topSpace.Graphics.DrawString("Support@e-iceblue.com", font3, PdfBrushes.Black, x, y, format);
PdfPageTemplateElement rightSpace = new PdfPageTemplateElement(margin.Right, pageSize.Height);
doc.Template.Right = rightSpace;
PdfPageTemplateElement bottomSpace = new PdfPageTemplateElement(pageSize.Width, margin.Bottom);
bottomSpace.Foreground = true;
doc.Template.Bottom = bottomSpace;
}
static void DrawPage(PdfPageBase page)
{
PdfGrid grid = new PdfGrid();
//Add column
grid.Columns.Add(4);
for (int i = 0; i < 90; i++)
{
PdfGridRow row = grid.Rows.Add();
row.Height = 50f;
}
grid.Draw(page, new PointF(10, 70));
}