We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

IsVerticalBroken and IsVerticalBrokenInSamePage for Aspose.Pdf.Table namespace

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,


Thanks for your inquriy. Yes the IsVerticalBroken and IsVerticalBrokenInSamePage properties are available in new generator(Aspose.Pdf). You can use these values from TableBroken enum as following.

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);


Please feel free to contact us for any further assistance.

Best Regards,

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,


Thanks for your feedback. I have tested the scenario with your shared code and noticed the issue, so logged an ticket PDFNEWNET-40278 in our issue tracking system for further investigation and rectification. We will keep you updated about the issue resolution progress with in this forum thread.

We are sorry for the inconvenience caused.

Best Regards,

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