Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing
|Summary:||Complex Table does not break when merged more than 2 levels|
|Component:||viewing||Assignee:||AOO issues mailing list <issues>|
|Status:||CONFIRMED ---||QA Contact:|
|Priority:||P3||CC:||bobharvey, chandlerb, cynwong12, debyld, ed_elliott, halmai, info, issues, leiflodahl, mstuff, na1000, petermayne, sven.burmeister, utomo.prawiro|
|Issue Type:||ENHANCEMENT||Latest Confirmation in:||---|
Description ologgio 2005-02-23 18:06:58 UTC
The following Document does not display properly (it was originally imported from MSWORD). The cursor goes outside of page boundaries (between page 2 and 3) into the middle of the gray background and some of the data in the document is not displayed at all. You can make some of the data appear if you change the page margins, but the data should have wrapped to the next page. There should be no hidden data in between pages. I doubt the problem is in the import from MSWORD, the problem seems to be with the actual viewing of the document. You can download the document from http://www.newsfromgod.com/ologgio/Defect.odt Thanks. In the Holy Eucharist, Omar
Comment 1 ologgio 2005-02-23 18:10:45 UTC
Created attachment 22962 [details] Data does not show - cursor goes btwn page 2 and 3
Comment 2 eric.savary 2005-02-24 05:44:07 UTC
Not a p1 anyway. MRU plese have a look.
Comment 3 michael.ruess 2005-02-24 07:15:37 UTC
MRU->ologgio: There are some cells, which do not have the attribute which will them allow to perform a page break. Select the whole table, go to "Table.Table Properties" tabpage "Textflow". There, once disable the checkbox "Allow row to break..." and again enable it. Click OK and the table formatting will look a lot better now (not perfectly, but I hope this can be also solved in the future).
Comment 4 michael.ruess 2005-02-24 07:28:12 UTC
MRU->FL: I hand this over to you, as long as you are the UserEx contact for the "Allow table cells to break" spec. THe algorithm has been limited to -I think- three levels of "complexity". Means, when there are too deeply merged cells, the table will be split up though. As you can see from the attached sample (enable "Allow row..." for whole table first), there are still documents in the wide world, where this is used (esp. break from page one onto page two).
Comment 5 ologgio 2005-02-25 20:45:02 UTC
MRU: Is the fact that the "Allow row to break..." property not set a problem with the MSWORD import filter? The document was imported directly from Word. The original word document is included in the attachment for this issue. Thanks for your work! In the Holy Eucharist, Omar
Comment 6 michael.ruess 2006-11-29 12:00:36 UTC
Made summary a bit more precisely.
Comment 7 michael.ruess 2006-11-29 12:02:09 UTC
*** Issue 72088 has been marked as a duplicate of this issue. ***
Comment 8 michael.ruess 2006-12-12 10:28:33 UTC
*** Issue 72459 has been marked as a duplicate of this issue. ***
Comment 9 michael.ruess 2007-02-09 09:52:24 UTC
*** Issue 74281 has been marked as a duplicate of this issue. ***
Comment 10 michael.ruess 2008-01-03 08:46:01 UTC
*** Issue 84942 has been marked as a duplicate of this issue. ***
Comment 12 gtimur 2008-12-22 18:42:41 UTC
While looking for a solution to my problem with an imported .doc with table, I found this. It seems to open fine in OO 3.0. If fixed, please note.
Comment 13 gtimur 2008-12-22 18:54:10 UTC
Created attachment 58970 [details] Table does not break in an Imported .doc
Comment 14 gtimur 2008-12-22 18:54:35 UTC
Created attachment 58971 [details] Table does not break in an Imported .doc
Comment 15 gtimur 2008-12-22 19:01:14 UTC
While looking for a solution to my problem with a table that does not break in imported .doc file, I found this "defect.doc". It seemed to me to open fine in OO 3.0 or I could not find a problem. Anyway, I attached my file "table 2-page.doc". Is it the same problem or right issue? I came here from Issue 84942: "table cells/rows can not continue over a page boundary". What is interesting is that if I save it in MS Office as .docx, it opens correctly in OO 3.0. PS. please delete a duplicate attachment and my previous post.
Comment 16 leiflodahl 2010-02-02 09:31:49 UTC
This problem does *not* only apply to imorted word documents! -inserted .odt-files. This problem does *not* only apply for complex tables! -one row, two columns. This problem occurs every day! The problem can occur on the first page break, but often when a it breaks for the second time. The problem does occur on both Linux and Windows. The problem is *not* solved by "SetOptimalRowHeight" nor with "isSplitAllowed" or "Split". I tied to create a macro to 'repair' the document, but it doesn't help in all cases: --- Sub RebuildAllTables oDoc = ThisComponent for i = 0 to oDoc.getTextTables().Count() - 1 oTab = oDoc.getTextTables().getByIndex(i) oTab.Split = FALSE for j = 0 to oTab.getRows().Count() - 1 oRow = oTab.getRows().getByIndex(j) oRow.isSplitAllowed = FALSE oProvider = ThisComponent.CurrentController.Frame oDispHelper = createUnoService("com.sun.star.frame.DispatchHelper") oDispHelper.executeDispatch(oProvider, ".uno:SetOptimalRowHeight", "", 0, Array()) oRow.isSplitAllowed = TRUE next j oTab.Split = TRUE next i End Sub --- Does anyone have any other ideas of how to repair the table? I think this problem should be fixed soon.
Comment 17 leiflodahl 2010-02-02 09:33:16 UTC
Created attachment 67519 [details] Problem is on page 2
Comment 18 leiflodahl 2010-02-02 09:33:49 UTC
added my self to CC.
Comment 19 jensbruhn 2010-09-16 08:13:24 UTC
this is really a big bug. if you are building your complex document via uno api with cascaded tables and now you want to print your document and some cells are cutted up, this is an absolute no-go. in my case a few rows are not rendered (during page break). This has to be fixed.
Comment 20 jensbruhn 2010-09-16 12:38:31 UTC
This macro repairs the document/table for me, but it's only a small idea, because it's just far too slow. Maybe someone has a better solution? Sub FixTables oDoc = ThisComponent for i = 0 to oDoc.getTextTables().Count() - 1 oTab = oDoc.getTextTables().getByIndex(i) if (oTab.Name <> "Master") then sNames() = oTab.getCellNames() For k = LBound(sNames()) To UBound(sNames()) oCell = oTab.getCellByName(sNames(k)) cursor = oCell.createTextCursor() vCurs = ThisComponent.getCurrentController().getViewCursor() vCurs.gotoRange(cursor, FALSE) oCell.insertString(cursor, chr(13), False) cursor.goLeft(1, TRUE) cursor.setString("") next k end if next i End Sub
Comment 21 jensbruhn 2010-09-16 14:16:37 UTC
Created attachment 71723 [details] pagebreak in table: Screenshot to locate problem
Comment 22 jensbruhn 2010-09-16 14:17:32 UTC
Created attachment 71724 [details] pagebreak in table: problem between page 3 and 4