Please see attached sample project with two output pdf files that illustrate how the table renders incorrectly on subsequent pages. I have a production report that essentially uses the same code. This report report worked fine until a week ago when I upgraded to version 7.7 and 7.8 behaves wrong too. Unfortunately I don’t recall which older version was used before the upgrade took place.
Hi Mike,
Thanks
for using our products.<o:p></o:p>
I
have tested the scenario and I am able to reproduce the same problem. For the
sake of correction, I have logged it in our issue tracking system as PDFNEWNET-35096. We
will investigate this issue in details and will keep you updated on the status
of a correction. <o:p></o:p>
We apologize for your inconvenience
I see the status shows FIXED but I don’t see the issue listed in the release log for version 7.9.0. Will this fix be included in the next version?
Hi Mike,
Hi Mike,
Document doc = new
Document();<o:p></o:p>
Page page = doc.Pages.Add();
// Set pagesize & margins
page.PageInfo.Height = Aspose.Pdf.PageSize.PageLetter.Height;
page.PageInfo.Width = Aspose.Pdf.PageSize.PageLetter.Width;
page.PageInfo.Margin.Top = 72;
page.PageInfo.Margin.Bottom = 90;
page.PageInfo.Margin.Left = 20;
page.PageInfo.Margin.Right = 20;
page.OnCustomizeHeaderFooter += CustomizeHeaderFooter;
writeReportLines(page, 200);
doc.Save("c:/pdftest/LargeTable.pdf");
private static void writeReportLines(Page page, int lines)
{
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
page.Paragraphs.Add(table);
TextState defaultTextState = new TextState();
defaultTextState.FontSize = 8;
//defaultTextState.Alignment = AlignmentType.Left;
TextState dateTextState = new TextState();
dateTextState.FontSize = 8;
//dateTextInfo.Alignment = AlignmentType.Center;
TextState currencyTextState = new TextState();
currencyTextState.FontSize = 8;
//currencyTextInfo.Alignment = AlignmentType.Right;
TextState tableHeaderTextState = new TextState();
tableHeaderTextState.FontSize = 8;
tableHeaderTextState.Font = FontRepository.FindFont("Times-Bold");
//tableHeaderTextInfo.Alignment = AlignmentType.Center;
table.DefaultCellTextState = defaultTextState;
table.ColumnWidths = "30 285 40 40 35 35 35 35";
table.RepeatingRowsCount = 1;
//table.DefaultCellBorder = new BorderInfo(BorderSide.All, (float)0.1);
Aspose.Pdf.Row headerRow = table.Rows.Add();
headerRow.DefaultCellTextState = tableHeaderTextState;
headerRow.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.Bottom, (float)0.5);
headerRow.Cells.Add("SKU");
headerRow.Cells.Add("Product");
headerRow.Cells.Add("Effective Date");
headerRow.Cells.Add("End Date");
headerRow.Cells.Add("FOB");
headerRow.Cells.Add("Freight");
headerRow.Cells.Add("Tax");
headerRow.Cells.Add("Total");
for (int i = 0; i < lines; i++)
{
Aspose.Pdf.Row tableRow = table.Rows.Add();
tableRow.Cells.Add("01234");
tableRow.Cells.Add("Product Name - Lines: " + lines.ToString());
tableRow.Cells.Add("01/01/13");
tableRow.Cells.Add("02/28/13");
tableRow.Cells.Add("50.00");
tableRow.Cells.Add("5.00");
tableRow.Cells.Add("3.00");
tableRow.Cells.Add("58.00");
}
table.SetColumnTextState(2, dateTextState, Aspose.Pdf.HorizontalAlignment.Center);
table.SetColumnTextState(3, dateTextState, Aspose.Pdf.HorizontalAlignment.Center);
table.SetColumnTextState(4, currencyTextState, Aspose.Pdf.HorizontalAlignment.Right);
table.SetColumnTextState(5, currencyTextState, Aspose.Pdf.HorizontalAlignment.Right);
table.SetColumnTextState(6, currencyTextState, Aspose.Pdf.HorizontalAlignment.Right);
table.SetColumnTextState(7, currencyTextState, Aspose.Pdf.HorizontalAlignment.Right);
}
private static Aspose.Pdf.HeaderFooter getFirstPageHeader()
{
Aspose.Pdf.HeaderFooter header = new Aspose.Pdf.HeaderFooter();
header.Margin.Top = 10;
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
double headerWidth = Aspose.Pdf.PageSize.PageLetter.Width - 20 - 20; // width witout margin
table.ColumnWidths = headerWidth.ToString();
Aspose.Pdf.Row row = table.Rows.Add();
Aspose.Pdf.Cell cell = row.Cells.Add();
// Add document title
TextFragment title = new TextFragment("PDF Report");
title.TextState.Font = FontRepository.FindFont("Times-Bold");
title.TextState.FontSize = 16;
cell.Alignment = Aspose.Pdf.HorizontalAlignment.Center;
cell.Paragraphs.Add(title);
row = table.Rows.Add();
cell = row.Cells.Add();
// Add distributor name
TextFragment text = new TextFragment("Customer Name");
text.TextState.Font = FontRepository.FindFont("Times-Bold");
text.TextState.FontSize = 12;
cell.Alignment = Aspose.Pdf.HorizontalAlignment.Left;
cell.Paragraphs.Add(text);
row = table.Rows.Add();
cell = row.Cells.Add();
text = new TextFragment("Effective: 01/01/2013 - 06/30/2013");
text.TextState.Font = FontRepository.FindFont("Times-Bold");
text.TextState.FontStyle = FontStyles.Bold;
text.TextState.FontSize = 10;
cell.Alignment = Aspose.Pdf.HorizontalAlignment.Right;
cell.Paragraphs.Add(text);
text = new TextFragment("Date Printed: 04/01/2013 2:00 PM");
text.TextState.Font = FontRepository.FindFont("Times-Bold");
text.TextState.FontSize = 10;
cell.Paragraphs.Add(text);
cell.Alignment = Aspose.Pdf.HorizontalAlignment.Right;
header.Paragraphs.Add(table);
return header;
}
private static Aspose.Pdf.HeaderFooter getAdditionalPageHeader()
{
Aspose.Pdf.HeaderFooter header = new Aspose.Pdf.HeaderFooter();
header.Margin.Top = 36;
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
double headerWidth = Aspose.Pdf.PageSize.PageLetter.Width - 20 - 20; // width witout margin
table.ColumnWidths = headerWidth.ToString();
Aspose.Pdf.Row row = table.Rows.Add();
Aspose.Pdf.Cell cell = row.Cells.Add();
TextFragment text = new TextFragment("Customer Name");
text.TextState.Font = FontRepository.FindFont("Times-Bold"); ;
text.TextState.FontSize = 12;
cell.Paragraphs.Add(text);
cell.Alignment = Aspose.Pdf.HorizontalAlignment.Center;
header.Paragraphs.Add(table);
return header;
}
public void CustomizeHeaderFooter(ref Aspose.Pdf.HeaderFooter header, ref Aspose.Pdf.HeaderFooter footer, int pageNum)
{
if (pageNum == 1)
header = getFirstPageHeader();
else
header = getAdditionalPageHeader();
}
The issues you have found earlier (filed as PDFNEWNET-35096) have been fixed in Aspose.Pdf for .NET 8.0.0.
This message was posted using Notification2Forum from Downloads module by Aspose Notifier.