Hi,
I’ve been trying to find out how to get tables that are too big horizontally to break on the a new or the same page. A search in the forum brought up this older post that mentioned that IsVerticalBroken was fixed in Aspose.Pdf for .Net 10.6.0, but I don’t see it in any of the documentation. Was this issue not really fixed in that version? Also, would it be possible to get IsVerticalBrokenInSamePage to get added to the Aspose.Pdf.Table namespace as well?
Hi Ryan,
string outFile = myDir + “Broken_VerticalInSamePage.pdf”;<o:p></o:p>
// Added document
Document doc = new Document();
Aspose.Pdf.Page page = doc.Pages.Add();
//Instantiate a table object
Aspose.Pdf.Table mytable = new Aspose.Pdf.Table();
mytable.Broken = TableBroken.VerticalInSamePage;
//Add the table in paragraphs collection of the desired section
page.Paragraphs.Add(mytable);
//Set with column widths of the table
mytable.ColumnWidths = "50 50 50 50 50 50 50 50 50 50 50 50 50 50";
//Add header Row
Aspose.Pdf.Row row = mytable.Rows.Add();
row.Cells.Add("header 1");
row.Cells.Add("header 2");
row.Cells.Add("header 3");
row.Cells.Add("header 4");
row.Cells.Add("header 5");
row.Cells.Add("header 6");
row.Cells.Add("header 7");
row.Cells.Add("header 11");
row.Cells.Add("header 12");
row.Cells.Add("header 13");
row.Cells.Add("header 14");
row.Cells.Add("header 15");
row.Cells.Add("header 16");
row.Cells.Add("header 17");
for (int RowCounter = 0; RowCounter <= 5; RowCounter++)
{ //Create rows in the table and then cells in the rows
Aspose.Pdf.Row row1 = mytable.Rows.Add();
row1.Cells.Add("col " + RowCounter.ToString() + ", 1");
row1.Cells.Add("col " + RowCounter.ToString() + ", 2");
row1.Cells.Add("col " + RowCounter.ToString() + ", 3");
row1.Cells.Add("col " + RowCounter.ToString() + ", 4");
row1.Cells.Add("col " + RowCounter.ToString() + ", 5");
row1.Cells.Add("col " + RowCounter.ToString() + ", 6");
row1.Cells.Add("col " + RowCounter.ToString() + ", 7");
row1.Cells.Add("col " + RowCounter.ToString() + ", 11");
row1.Cells.Add("col " + RowCounter.ToString() + ", 12");
row1.Cells.Add("col " + RowCounter.ToString() + ", 13");
row1.Cells.Add("col " + RowCounter.ToString() + ", 14");
row1.Cells.Add("col " + RowCounter.ToString() + ", 15");
row1.Cells.Add("col " + RowCounter.ToString() + ", 16");
row1.Cells.Add("col " + RowCounter.ToString() + ", 17");
}
double PageHeight = doc.PageInfo.Height;
doc.Save(outFile);
It looks like the table doesn’t render with TableBroken.VerticalInSamePage when tables are nested inside of each other. Shouldn’t the inner table break horizontally and render the rest of the table under the same column if the width of the inner table is greater than the column width of the outer table? Here is the code sample I was testing with:
// Added document
Document doc = new Document();
Aspose.Pdf.Page page = doc.Pages.Add();
//Instantiate an outer table that takes up the entire page
Aspose.Pdf.Table outerTable = new Aspose.Pdf.Table();
outerTable.ColumnWidths = “100%”;
outerTable.HorizontalAlignment = HorizontalAlignment.Left;
var headerRow = outerTable.Rows.Add();
headerRow.Cells.Add(“Outer table header”);
//Instantiate a table object that will be nested inside outerTable that will break
//inside the same page
Aspose.Pdf.Table mytable = new Aspose.Pdf.Table();
mytable.Broken = TableBroken.VerticalInSamePage;
mytable.ColumnAdjustment = ColumnAdjustment.AutoFitToContent;
//Add the outerTable to the page paragraphs
//Add mytable to outerTable
page.Paragraphs.Add(outerTable);
var bodyRow = outerTable.Rows.Add();
var bodyCell = bodyRow.Cells.Add();
bodyCell.Paragraphs.Add(mytable);
//comment out this or the top section to test if the table renders
//page.Paragraphs.Add(mytable);
//Add header Row
Aspose.Pdf.Row row = mytable.Rows.Add();
row.Cells.Add(“header 1”);
row.Cells.Add(“header 2”);
row.Cells.Add(“header 3”);
row.Cells.Add(“header 4”);
row.Cells.Add(“header 5”);
row.Cells.Add(“header 6”);
row.Cells.Add(“header 7”);
row.Cells.Add(“header 11”);
row.Cells.Add(“header 12”);
row.Cells.Add(“header 13”);
row.Cells.Add(“header 14”);
row.Cells.Add(“header 15”);
row.Cells.Add(“header 16”);
row.Cells.Add(“header 17”);
for (int RowCounter = 0; RowCounter <= 5; RowCounter++)
{ //Create rows in the table and then cells in the rows
Aspose.Pdf.Row row1 = mytable.Rows.Add();
row1.Cells.Add("col " + RowCounter.ToString() + “, 1”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 2”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 3”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 4”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 5”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 6”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 7”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 11”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 12”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 13”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 14”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 15”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 16”);
row1.Cells.Add("col " + RowCounter.ToString() + “, 17”);
}
doc.Save(“horizontal-possible-break.pdf”);
Hi Ryan,
The issues you have found earlier (filed as PDFNEWNET-40278) have been fixed in Aspose.Pdf for .NET 11.4.0.
This message was posted using Notification2Forum from Downloads module by Aspose Notifier.
The issues you have found earlier (filed as ) have been fixed in this update. This message was posted using BugNotificationTool from Downloads module by MuzammilKhan