Page breakproblem

i want to add page break in paragraph but when I add pagebreak the font of the rest of the content changes. eare passing html content and it has to be converted to a pdf with a page break.

private string SaveAsposePDF(string FileServierPath, string FileName, string Content, CorrespondenceHeaderFooter Header, CorrespondenceHeaderFooter Footer)
{
try
{
Content = Content.Replace("§;", "§");
if (Header == null)
Header = new CorrespondenceHeaderFooter();
if (Footer == null)
Footer = new CorrespondenceHeaderFooter();
string[] PageBreak = Content.Split('§');
pdflicense = new Aspose.Pdf.License();
pdflicense.SetLicense("Aspose.Pdf.lic");
FileServierPath = FileServierPath + FileName;
string dataPage = "";
Aspose.Pdf.Generator.Pdf pdf = new Aspose.Pdf.Generator.Pdf { DefaultFontName = "Arial" };
{
Aspose.Pdf.Generator.Section section = pdf.Sections.Add();

if (PageBreak.Count() > 1)
{
for (int i = 0; i < PageBreak.Length; i++)
{
// ICPSCommon.DAL.Logwriter.Write("Page break content : " + PageBreak[i]);
if (i == 0)
{
Aspose.Pdf.Generator.Text Pagetext = new Aspose.Pdf.Generator.Text(PageBreak[0]);
Pagetext.IsHtmlTagSupported = true;
section.Paragraphs.Add(Pagetext);
section.PageInfo.Margin.Left = 50;
section.PageInfo.Margin.Top = 50;
section.PageInfo.Margin.Right = 40;
}
else
{
Aspose.Pdf.Generator.Text PageBreaktext = new Aspose.Pdf.Generator.Text(PageBreak[i]);
PageBreaktext.IsHtmlTagSupported = true;
PageBreaktext.ID = "page" + i;
PageBreaktext.IsFirstParagraph = true;
section.Paragraphs.Add(PageBreaktext);

section.PageInfo.Margin.Left = 50;
section.PageInfo.Margin.Top = 50;
section.PageInfo.Margin.Right = 40;
}
}
}
else
{
Aspose.Pdf.Generator.Text text2 = new Aspose.Pdf.Generator.Text(Content);
text2.IsHtmlTagSupported = true;
section.Paragraphs.Add(text2);
section.PageInfo.Margin.Left = 50;
section.PageInfo.Margin.Top = 50;
section.PageInfo.Margin.Right = 40;
}

//Aspose.Pdf.Generator.Text text2 = new Aspose.Pdf.Generator.Text(section, PageBreak[0]);
//Aspose.Pdf.Generator.Text text2 = new Aspose.Pdf.Generator.Text(PageBreak[0]);
//text2.IsHtmlTagSupported = true;
//section.Paragraphs.Add(text2);
//section.PageInfo.Margin.Left = 50;
//section.PageInfo.Margin.Top = 50;
//section.PageInfo.Margin.Right = 40;


pdf.PageNumberFormat = Aspose.Pdf.Generator.PageNumberFormatType.EnglishUpper;
pdf.IsPageNumberForDocument = true;

if (!string.IsNullOrEmpty(Header.ImageURL) || !string.IsNullOrEmpty(Header.Text))
{
Aspose.Pdf.Generator.HeaderFooter addHeader = new Aspose.Pdf.Generator.HeaderFooter(section);
section.OddHeader = addHeader;
section.EvenHeader = addHeader;
addHeader.IsFirstPageOnly = Header.IsFirstPageOnly;
Aspose.Pdf.Generator.Text textHeader = new Aspose.Pdf.Generator.Text(addHeader, Header.Text);
textHeader.IsHtmlTagSupported = true;
textHeader.TextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Right;
addHeader.Paragraphs.Add(textHeader);

if (!string.IsNullOrEmpty(Header.ImageURL))
{
Aspose.Pdf.Generator.Image img1 = new Aspose.Pdf.Generator.Image(addHeader);
//Set the path of image file
img1.ImageInfo.File = Header.ImageURL;// "http://220.220.220.49/testTarantoICPS/Images/pbg.jpg";// =getImageInfo().setFile("/mnt/sdcard/Aspose.JPG");
if (Header.Height.HasValue)
img1.ImageInfo.FixHeight = Header.Height.Value;
if (Header.Width.HasValue)
img1.ImageInfo.FixWidth = Header.Width.Value;
switch (Header.ImageAlignment)
{
case CorrespondenceHeaderFooter.ImageAlignmentEnum.Right:
img1.ImageInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Right;
break;
case CorrespondenceHeaderFooter.ImageAlignmentEnum.Centre:
img1.ImageInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
break;
default:
img1.ImageInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Left;
break;
}
addHeader.Paragraphs.Add(img1);
}
}

Aspose.Pdf.Generator.HeaderFooter addFooter = new Aspose.Pdf.Generator.HeaderFooter(section);
section.OddFooter = addFooter;
section.EvenFooter = addFooter;
addFooter.IsFirstPageOnly = Footer.IsFirstPageOnly;
Aspose.Pdf.Generator.Text text = new Aspose.Pdf.Generator.Text(addFooter, Footer.Text);

text.IsHtmlTagSupported = true;
text.TextInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Right;
addFooter.Paragraphs.Add(text);

if (!string.IsNullOrEmpty(Footer.ImageURL))
{
Aspose.Pdf.Generator.Image img1 = new Aspose.Pdf.Generator.Image(addFooter);
//Set the path of image file
img1.ImageInfo.File = Footer.ImageURL;// "http://220.220.220.49/testTarantoICPS/Images/pbg.jpg";// =getImageInfo().setFile("/mnt/sdcard/Aspose.JPG");
if (Footer.Height.HasValue)
img1.ImageInfo.FixHeight = Footer.Height.Value;
if (Footer.Width.HasValue)
img1.ImageInfo.FixWidth = Footer.Width.Value;
switch (Footer.ImageAlignment)
{
case CorrespondenceHeaderFooter.ImageAlignmentEnum.Right:
img1.ImageInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Right;
break;
case CorrespondenceHeaderFooter.ImageAlignmentEnum.Centre:
img1.ImageInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Center;
break;
default:
img1.ImageInfo.Alignment = Aspose.Pdf.Generator.AlignmentType.Left;
break;
}
addFooter.Paragraphs.Add(img1);
}
//text = new Aspose.Pdf.Generator.Text(headerfooter, HeaderText);
//text.IsHtmlTagSupported = true;
//headerfooter.Paragraphs.Add(text);
MemoryStream stream=new MemoryStream ();
// pdf.Save(FileServierPath);
pdf.Save(stream);

byte[] result = stream.ToArray();

using (FileStream newFile = new FileStream(FileServierPath, FileMode.Create))
{
// Write data to the file
newFile.Write(result, 0, result.Length);

// Close file
newFile.Close();
}
}
}
catch (Exception ex)
{
ICPSCommon.DAL.Logwriter.Write(ex.Message);
FileServierPath = ex.Message;
throw ex;
}
return FileServierPath;
}

Hi there,


Thanks for your inquiry. I am afraid I am unable to test your sample code due to missing reference. However we will recommend you to use new DOM approach for adding HTML text in PDF document and use IsNewPage property for pagebreak. Please check sample code for the purpose. You can also add HeaderFooter to the resultant PDF document using Aspose.Pdf.Document as suggested in this forum post. Hopefully it will help you to accomplish your requirements.

//open document<o:p></o:p>

Document pdfDocument = new Document();

Aspose.Pdf.Page section = pdfDocument.Pages.Add();

HtmlFragment t = new HtmlFragment("Test paragraph five test five test five test five test five test five test five test five test five test five test five.  Test five test five test five test five test five test five test five test five.  Test five test five test five test five test five test five test five test five test five.

"
);

// to find font in system font folder

section.Paragraphs.Add(t);

HtmlFragment t1 = new HtmlFragment("Test paragraph three test three test three test three test three test three test three test three.  Test three test three test three test three test three test three test three test three.  Test three test three test three test three test three test three test three.

Test paragraph four test four test four test four test four test four test four test four test four.  Test four test four test four test four test four test four test four test four test four.  Test four test four test four test four test four test four test four test four.

"
);

t1.IsInNewPage = true;

section.Paragraphs.Add(t1);

pdfDocument.Save(myDir + "HtmlFragment_out.pdf");

Please feel free to contact us for any further assistance.

Best Regards,