Hi,I have a process that combines multiple tables into a single destination table that is then saved as a PDF.Under certain conditions, I would like to add a new page break between tables and I need help inserting that condition. This is my module -
Private Sub CombineTables(ByRef dstTable As Tables.Table, ByVal srcTable As Tables.Table)Try
Dim srcRows() As Node = srcTable.Rows.ToArray
Dim Importer As NodeImporter = New NodeImporter(srcTable.Document, dstTable.Document, ImportFormatMode.UseDestinationStyles)
' (I would like to insert page break here)
For Each row As Tables.Row In srcRows
Dim dstRow As Node = Importer.ImportNode(row, True)
dstTable.AppendChild(dstRow)
Next
Catch ex As Exception
End Try
End Sub
Actually in a word document a table cannot contain a page break. When you insert a page break inside a table in Microsoft Word it is split into two separate tables. This means if you are using a header row it will not appear on the second table as the tables are different.
You can achieve the same behavior by importing the entire source table and inserting a paragraph containing a page break in between. Please see the code below.
dstTable.ParentNode.InsertAfter(importer.ImportNode(srcTable, true), dstTable)
Dim para as Paragraph = new Paragraph(dstTable.Document)
para.AppendChild(new Run(dstTable.Document, ControlChar.PageBreak))
dstTable.ParentNode.InsertAfter(para, dstTable)
Hi,
One aspect of my particular application was that the destination table I was assembling was a composite table that consisted of a number of different source tables. I wanted them to be assembled in a particular sequence.
The solution above does have the page break before the table, but they are all added to the end. I wanted to maintain the sequence.
Do I need to break my composite table idea apart and make separate tables to be able to control when I wanted a page break?
Regards,
Doug Kemp
Thanks for this additional information. Yes, I’m afraid you will need to have separate tables in order to have a page break in between.
Regarding the issue with the ordering I’m afraid I’m not sure what you mean, could you please attach a document and some code which demonstrates the issue? We will take a look at help you further.
I’m afraid I can’t spot the issue with your code, the source table is inserted after the destination table when using the code I proposed above. Could you please clarify the issue you are having?
Thanks,
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
Enables storage, such as cookies, related to analytics.
Sets consent for sending user data to Google for online advertising purposes.
Sets consent for personalized advertising.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
More info
Enables storage, such as cookies, related to analytics.
Enables storage, such as cookies, related to advertising.
Sets consent for sending user data to Google for online advertising purposes.
Sets consent for personalized advertising.
Cookie Notice
To provide you with the best experience, we use cookies for personalization, analytics, and ads. By using our site, you agree to our cookie policy.
More info
Enables storage, such as cookies, related to analytics.
Enables storage, such as cookies, related to advertising.
Sets consent for sending user data to Google for online advertising purposes.