[Solved] Shapes location mess up in odt file
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
[Solved] Shapes location mess up in odt file
Attached file is 8.5 x 26 inches odt file. The first and second page is OK. But if I delete the third page (the last and blank page) and save it, the second page will be mess up.
I really do not know what cause this issue. I created this layout by MS VS 2010, .Net framework 4.0, VB.Net. OS is Windows 10 with latest update.
Also I try Openoffice 4.0.0 and Openoffice 3.4.1 today, I got same issue.
But I am sure this layout work in Open office 3.4.1 (5 years ago).
I really do not know what cause this issue. I created this layout by MS VS 2010, .Net framework 4.0, VB.Net. OS is Windows 10 with latest update.
Also I try Openoffice 4.0.0 and Openoffice 3.4.1 today, I got same issue.
But I am sure this layout work in Open office 3.4.1 (5 years ago).
- Attachments
-
- D26.odt
- (38.09 KiB) Downloaded 202 times
Last edited by Hagar Delest on Fri Sep 18, 2020 9:22 pm, edited 1 time in total.
Reason: tagged solved
Reason: tagged solved
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: Shapes location mess up in odt file.
(You posted this in the Draw section, but attached a file saved by/for Writer. The content actually has a few elements only available in text documents. It may have been created with a software not providing reasonable tools for drawing.)
The design is a perfect mess. Cannot retrace the idea behind.
What I attach in return is what I got with LibreOffice V3.3. anchoring everything actually to the page, and deleting the third page. The result was opened with LibO V 7.0.1.2, only edited the fake way, and saved again.
Now the file opens in AOO 4.1.7 rendering to something you can probably accept.
This does NOT mean that the document now has a correct structure! I would still expect it to be internally irregular.
The design is a perfect mess. Cannot retrace the idea behind.
What I attach in return is what I got with LibreOffice V3.3. anchoring everything actually to the page, and deleting the third page. The result was opened with LibO V 7.0.1.2, only edited the fake way, and saved again.
Now the file opens in AOO 4.1.7 rendering to something you can probably accept.
This does NOT mean that the document now has a correct structure! I would still expect it to be internally irregular.
- Attachments
-
- D26_LO33_LO70_reworked.odt
- (37.35 KiB) Downloaded 195 times
On Windows 10: LibreOffice 24.2 (new numbering) and older versions, PortableOpenOffice 4.1.7 and older, StarOffice 5.2
---
Lupp from München
---
Lupp from München
Re: Shapes location mess up in odt file
Here's the original reduced to two pages. This was done by inserting a manual page break on page 2 - and then going to the end and removing the extra blank pages with the backspace key.
- Attachments
-
- D26_2page.odt
- (32.55 KiB) Downloaded 185 times
Windows 10, Openoffice 4.1.11, LibreOffice 7.4.0.3 (x64)
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
Re: Shapes location mess up in odt file
This file was created by programming. (VB.Net and Automation interface)
Such as:
m_oDoc = m_oDesk.loadComponentFromURL("private:factory/swriter", "_blank", 0, OpenPar)
I created thousands files 5 years ago. All files were fine before. But I open these files couple days ago and found all layout mess up.
So I try recreate one layout and found I insert a blank file at the and to avoid this issue.
Also I open these files by Openoffice 4.1.7, 4.0.0 and 3.4.1 and got same issue now.
I guess that one Windows 10 update cause this trouble. But I need find a way to create thousands layout automatically by programming for election.
I do not know which forum I suppose to post this question.
Thank You.
Such as:
m_oDoc = m_oDesk.loadComponentFromURL("private:factory/swriter", "_blank", 0, OpenPar)
I created thousands files 5 years ago. All files were fine before. But I open these files couple days ago and found all layout mess up.
So I try recreate one layout and found I insert a blank file at the and to avoid this issue.
Also I open these files by Openoffice 4.1.7, 4.0.0 and 3.4.1 and got same issue now.
I guess that one Windows 10 update cause this trouble. But I need find a way to create thousands layout automatically by programming for election.
I do not know which forum I suppose to post this question.
Thank You.
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: Shapes location mess up in odt file
Is the problem that you have thousands of files like the one posted which have an extra page you want to remove?
Or do the thousands of files have a different problem - which you've partly fixed in that file? If so what is one of the original files like and what's the problem with it?
Or do the thousands of files have a different problem - which you've partly fixed in that file? If so what is one of the original files like and what's the problem with it?
Windows 10, Openoffice 4.1.11, LibreOffice 7.4.0.3 (x64)
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
Re: Shapes location mess up in odt file
All files got same problem that the second page mess up. But all these file were fine 5 years ago.
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: Shapes location mess up in odt file
I'm confused by that. Is the file you posted a modified version of one of the thousands of files or not?So I try recreate one layout and found I insert a blank file at the and to avoid this issue.
If so, post one of the original thousands of files and tell us what the problem with that is - what exactly the 'mess up' is with that.
Windows 10, Openoffice 4.1.11, LibreOffice 7.4.0.3 (x64)
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
Re: Shapes location mess up in odt file
Attached file is the original file that I create 5 years ago. The second page mess up now.
Last week I recreate D26.odt file that I uploaded at the first post.
Last week I recreate D26.odt file that I uploaded at the first post.
- Attachments
-
- DB1.odt
- (32.51 KiB) Downloaded 198 times
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: Shapes location mess up in odt file
That file looks like this on my machine in print preview - is that how its meant to look?
If so, post how it looks on yours. And instead of trying to alter the files you should be looking for something else. Maybe this is something to do with your printer settings, something like that?
If so, post how it looks on yours. And instead of trying to alter the files you should be looking for something else. Maybe this is something to do with your printer settings, something like that?
Windows 10, Openoffice 4.1.11, LibreOffice 7.4.0.3 (x64)
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
Re: Shapes location mess up in odt file
Attached file is printing preview on my PC.
The file is good on your PC.
The file is good on your PC.
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: Shapes location mess up in odt file
I am getting a result similar to VictorDong, except the boxes on top of his page 2 are in the desktop below page1 and are difficult of access (I am using a pre-release version of OpenOffice).
My memory is that OpenOffice Writer will not accept a text width greater than 68 cm; it may be that this also applies to a text area height on a page. It may be better to configure that file for Draw, which allows a 300 cm x 300 cm page size.
My memory is that OpenOffice Writer will not accept a text width greater than 68 cm; it may be that this also applies to a text area height on a page. It may be better to configure that file for Draw, which allows a 300 cm x 300 cm page size.
Apache OpenOffice 4.1.15 on Xubuntu 22.04.4 LTS
Re: Shapes location mess up in odt file
The objects on the second page are anchored to the first page with a vertical position setting which would place them near the bottom of the first page. I suspect that is why the objects on the second page are misplaced. When I opened the document with LO, it did not show any text at all on the second page when it was opened. I never had to delete the third page to make the text disappear. Anchoring the objects on the second page to the second page will probably solve the problem.
Edit: Lupp has already done this for you. See the reworked document he uploaded.
Edit: Lupp has already done this for you. See the reworked document he uploaded.
Last edited by Bill on Thu Sep 17, 2020 8:08 pm, edited 1 time in total.
AOO 4.1.14 on Ubuntu MATE 22.04
Re: Shapes location mess up in odt file
My advice would be, if possible, to truncate column 2 and wrap the extra text to the top of column 3, and shorten the page height.
Apache OpenOffice 4.1.15 on Xubuntu 22.04.4 LTS
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
Re: Shapes location mess up in odt file
Hi RoryOF and Bill,
Thank you for your help.
I must create all ballot layout by my software automatically base on election database. Cannot modify them manually.
Also the ballot length vary from A4 to 26". All shapes are anchor to page 2 on the second page before save it in my software.
But when I open it later all shapes go to the bottom of the first page that seem they anchor to the first page. It changed by itself. I have nothing can do in programming right now.
Thanks
Thank you for your help.
I must create all ballot layout by my software automatically base on election database. Cannot modify them manually.
Also the ballot length vary from A4 to 26". All shapes are anchor to page 2 on the second page before save it in my software.
But when I open it later all shapes go to the bottom of the first page that seem they anchor to the first page. It changed by itself. I have nothing can do in programming right now.
Thanks
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: Shapes location mess up in odt file
I have Windows 8 and OO 4.1.6 - wouldn't know if there's a difference between 4.1.6 and 4.1.7 here.
Changing the anchor page number is easy. This code changes all the anchors to page 2 and deletes the added page in file D26.odt.
Changing the anchor page number is easy. This code changes all the anchors to page 2 and deletes the added page in file D26.odt.
Code: Select all
Sub Main
dpage = thiscomponent.drawpage
for i = 0 to dpage.count - 1 'anchor all to the second page
dpage.getbyindex(0).AnchorPageNo = 2
next
thiscomponent.currentcontroller.select(thiscomponent.text.getend) 'remove the added page in "D26.odt"
vc= thiscomponent.currentcontroller.viewcursor
vc.goleft(1,true)
vc.string= ""
End Sub
Windows 10, Openoffice 4.1.11, LibreOffice 7.4.0.3 (x64)
Re: Shapes location mess up in odt file
Does your software display the anchor on page 2? If not, how do you know the anchor is on page 2? I've never seen AOO spontaneously move an anchor to a different page.VictorDong wrote:All shapes are anchor to page 2 on the second page before save it in my software.
But when I open it later all shapes go to the bottom of the first page that seem they anchor to the first page. It changed by itself.
AOO 4.1.14 on Ubuntu MATE 22.04
-
- Posts: 7
- Joined: Tue Sep 15, 2020 7:36 pm
Re: Shapes location mess up in odt file
Finally I fix this issue base on JeJe idea.
Old way is:
oShape.VertOrientPosition = sngTop + (m_lngPage) * (m_lngPageHeight)
New way is:
oShape.VertOrientPosition = sngTop
oShape.AnchorPageNo = m_lngPage + 1
Old way only work on old Windows 10 version system.
Attached is new ballot layout.
Thanks everyone for your help.
Have nice one.
Old way is:
oShape.VertOrientPosition = sngTop + (m_lngPage) * (m_lngPageHeight)
New way is:
oShape.VertOrientPosition = sngTop
oShape.AnchorPageNo = m_lngPage + 1
Old way only work on old Windows 10 version system.
Attached is new ballot layout.
Thanks everyone for your help.
Have nice one.
- Attachments
-
- DB26.odt
- (38.11 KiB) Downloaded 168 times
Openoffice 4.1.7
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Windows 10 Pro + Latest Update
MS VS 2010. .Net Framework 4.0
Re: [Solved] Shapes location mess up in odt file
That's much better. The anchor for the draw objects on the second page are now on the second page. The draw objects on the second page which LO was not displaying on the other documents are now displaying in the new document. The only problem I am still seeing is in LO 7.0.1.2. Any time I try to scroll any of the documents, my CPU pegs at 100% for some time and both LO and the computer become unresponsive. I'm not sure if this is a bug or some compatibility issue on my system. LO 6.3.6.2 and AOO 4.1.7 do not have this problem.
AOO 4.1.14 on Ubuntu MATE 22.04
Re: [Solved] Shapes location mess up in odt file
I wouldn't expect the above attached odt-file to have a consistent structure. The contiguous larger parts of the ballot have a colored header each followed by constructs consisting of a textbox and a little rectangle (though called "OVAL"). Neither are the textboxes and the related shapes correctly grouped, nor do they have a consistent Z-order as far as I can see. The complete contiguous part is covered by a rectangular shape again - without grouping. It's at the front (nearest to the user by Z-order) of the range, and directly selectable by a click. However, it has Fill=Color (White) and Transparency=0. Nonetheless it is tranparent as we can see.
There are contradictions. The file is corrupted in an unclear way. It cannot be trusted concerning anything what should be based on it. Surely it cannot be used for ballots (automtic evaluation to fear for) in an official election. If this is "digitalization" we should de-digitalize.
There are contradictions. The file is corrupted in an unclear way. It cannot be trusted concerning anything what should be based on it. Surely it cannot be used for ballots (automtic evaluation to fear for) in an official election. If this is "digitalization" we should de-digitalize.
On Windows 10: LibreOffice 24.2 (new numbering) and older versions, PortableOpenOffice 4.1.7 and older, StarOffice 5.2
---
Lupp from München
---
Lupp from München
Re: [Solved] Shapes location mess up in odt file
It isn't transparent. If you right-click the rectangular shape and select "Arrange", the last option in the context menu is "To Foreground", so the rectangular shape is in the background and doesn't cover the objects which are in the foreground. Click "To Foreground" to bring the rectangular shape to the foreground, then the rectangular shape can cover the other objects.Lupp wrote:The complete contiguous part is covered by a rectangular shape again - without grouping. It's at the front (nearest to the user by Z-order) of the range, and directly selectable by a click. However, it has Fill=Color (White) and Transparency=0. Nonetheless it is tranparent as we can see.
AOO 4.1.14 on Ubuntu MATE 22.04
Re: [Solved] Shapes location mess up in odt file
A shape in the background shouldn't be selectable by a click into the area where it is covered by other shapes.
As I already mentioned, the white shape used like a frame is selectable this way: First inconsistency.
If you accept the suggestion 'To Foreground' the white area actually hides the other shapes.
Now you cannot Undo this change: Second Inconsistency.
If you send the shape 'To Background' again, its area is again selectable with the mouse: Third inconsistency.
To get access to the shapes behind, you may either delete the above discussed shape, or set its area explicitly to 'None'.
Reverting this step (second alternative) you get the old inconsistent behaviour again.
Having accessed one of the entries, and having removed the "OVAL" (actually a rectangle), you get a kind of TextBox with a kind of left indentation. As soon as you enter it for editing, a special kind of frame shows up limiting the text range regarding the indentation.
Can you show me UI means of AOO or LibO to get such a TextBox or to change the indentation?
Research with the help of a macro shows me that there is a property TextLeftDistance set to 847 (the unit used is obviously 1/100 mm). I never found mentioned this concerning the AOO or LibO UI. It may have been implemented to enhance compatibility with MS Word to some degree. But even if I use that property by macro for a TextBox created with LibO, I get different behaviour as compared to the imported TextBox. There must be something else. Please tell me how it actually is.
As I already mentioned, the white shape used like a frame is selectable this way: First inconsistency.
If you accept the suggestion 'To Foreground' the white area actually hides the other shapes.
Now you cannot Undo this change: Second Inconsistency.
If you send the shape 'To Background' again, its area is again selectable with the mouse: Third inconsistency.
To get access to the shapes behind, you may either delete the above discussed shape, or set its area explicitly to 'None'.
Reverting this step (second alternative) you get the old inconsistent behaviour again.
Having accessed one of the entries, and having removed the "OVAL" (actually a rectangle), you get a kind of TextBox with a kind of left indentation. As soon as you enter it for editing, a special kind of frame shows up limiting the text range regarding the indentation.
Can you show me UI means of AOO or LibO to get such a TextBox or to change the indentation?
Research with the help of a macro shows me that there is a property TextLeftDistance set to 847 (the unit used is obviously 1/100 mm). I never found mentioned this concerning the AOO or LibO UI. It may have been implemented to enhance compatibility with MS Word to some degree. But even if I use that property by macro for a TextBox created with LibO, I get different behaviour as compared to the imported TextBox. There must be something else. Please tell me how it actually is.
On Windows 10: LibreOffice 24.2 (new numbering) and older versions, PortableOpenOffice 4.1.7 and older, StarOffice 5.2
---
Lupp from München
---
Lupp from München
Re: [Solved] Shapes location mess up in odt file
It appears that when clicking overlapping objects, the object with the highest z-index is the one that is selected. Moving an object from foreground to background does not change the z-index for the object. I don't know if this is the way it's supposed to work. If not, then it's a bug.Lupp wrote:A shape in the background shouldn't be selectable by a click into the area where it is covered by other shapes.
As I already mentioned, the white shape used like a frame is selectable this way: First inconsistency.
Looks like a bug to me.Lupp wrote:If you accept the suggestion 'To Foreground' the white area actually hides the other shapes.
Now you cannot Undo this change: Second Inconsistency.
Yes, because the z-index has not changed.Lupp wrote:If you send the shape 'To Background' again, its area is again selectable with the mouse: Third inconsistency.
Use the "Send to back" option to change the z-index to "0" and the foreground objects can then be selected.Lupp wrote:To get access to the shapes behind, you may either delete the above discussed shape, or set its area explicitly to 'None'.
Reverting this step (second alternative) you get the old inconsistent behaviour again.
The Text Box tool is on the Drawing Toolbar.Lupp wrote:Having accessed one of the entries, and having removed the "OVAL" (actually a rectangle), you get a kind of TextBox with a kind of left indentation. As soon as you enter it for editing, a special kind of frame shows up limiting the text range regarding the indentation.
Can you show me UI means of AOO or LibO to get such a TextBox or to change the indentation?
Right-click one of the Text boxes and select Text. Click the Text tab. The Left "Spacing to borders" setting on my system is .33" which is close to the 847 (8.47mm) "TextLeftDistance" setting.Lupp wrote:Research with the help of a macro shows me that there is a property TextLeftDistance set to 847 (the unit used is obviously 1/100 mm). I never found mentioned this concerning the AOO or LibO UI. It may have been implemented to enhance compatibility with MS Word to some degree. But even if I use that property by macro for a TextBox created with LibO, I get different behaviour as compared to the imported TextBox. There must be something else. Please tell me how it actually is.
AOO 4.1.14 on Ubuntu MATE 22.04