Bug 155645

Summary: Chart distortion when DOCX contains more than 20 charts, especially when exporting to PDF in headless mode
Product: LibreOffice Reporter: david
Component: WriterAssignee: Not Assigned <libreoffice-bugs>
Status: NEW ---    
Severity: minor CC: aron.budea, ilmari.lauhakangas
Priority: medium Keywords: filter:docx
Version: 3.5.0 release   
Hardware: All   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=67421
https://bugs.documentfoundation.org/show_bug.cgi?id=142264
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 112976    
Attachments: DOCX with 21 charts
PDF export with 21 charts in Headless mode
DOCX with 20 charts (no issues)
DOCX with 21 charts
PDF export with 20 charts (no issues)

Description david 2023-06-02 08:38:43 UTC
Description:
When a DOCX document contains more than 20 charts, the PDF export is not correct: some or all charts are distorted. 

The issue is not the same in all situation:

- It happens every time on all charts in headless mode on Linux (Ubuntu 22.04 LTS and Mac OSX, not tested on Windows) when the document is converted to a PDF.

- It happens sometimes with LibreOffice Writer UI when exporting the DOCX to a PDF.

- It happens sometimes in LibreOffice Writer UI without exporting. Editing the chart fix the chart temporarily.

The issue disappears if we increase the value of OLE_Objects in Advance settings of /org.openoffice.Office.Common/Cache/Writer. This value is 20 by default.

See attached files.

Steps to Reproduce:
1. Create a DOCX with MS Office, add 21 pie charts with default values
2. Open this DOCX file with LibreOffice Writer
3. Export to PDF

Actual Results:
Some or all charts are distorted

Expected Results:
Charts should keep the original aspect ratio


Reproducible: Sometimes


User Profile Reset: Yes

Additional Info:
Version: 7.5.4.1 (X86_64) / LibreOffice Community
Build ID: 3a6a10a8a824826630ea908dcaea93b45a6a0af1
CPU threads: 10; OS: Mac OS X 12.6.5; UI render: default; VCL: osx
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded
Comment 1 david 2023-06-02 08:40:12 UTC
Created attachment 187657 [details]
DOCX with 21 charts
Comment 2 david 2023-06-02 08:40:54 UTC
Created attachment 187658 [details]
PDF export with 21 charts in Headless mode
Comment 3 david 2023-06-02 08:41:58 UTC
Created attachment 187659 [details]
DOCX with 20 charts (no issues)
Comment 4 david 2023-06-02 08:44:30 UTC
Created attachment 187660 [details]
DOCX with 21 charts
Comment 5 david 2023-06-02 08:45:11 UTC
Created attachment 187661 [details]
PDF export with 20 charts (no issues)
Comment 6 Mike Kaganski 2023-06-02 08:59:34 UTC Comment hidden (noise)
Comment 7 Mike Kaganski 2023-06-02 09:00:04 UTC Comment hidden (noise)
Comment 8 david 2023-06-02 09:13:15 UTC
(In reply to Mike Kaganski from comment #7)
> Ah, I see you described it, sorry for the noise

Yes, I was very happy to find this workaround :) !
I think it is also a good hint to solve the problem for someone who knows this part of the LO code.
Comment 9 Eyal Rozenberg 2023-06-02 10:22:16 UTC
(In reply to david from comment #0)
> Description:
> When a DOCX document contains more than 20 charts, the PDF export is not
> correct: some or all charts are distorted. 

When I open your DOC with 21 charts, most charts (not on the first page) are distorted already, suggesting that if there's a problem at all, it's in the DOC import.

Also, if I open the 20-chart document and add an extra chart, then export - there's no issue with the resulting PDF.

So, either there's something wrong with the DOCX to begin with, or it's an import filter problem.

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5cd9de202765e243e41416802f3e4486b8a96f16
CPU threads: 4; OS: Linux 6.1; UI render: default; VCL: gtk3
Locale: he-IL (en_IL); UI: en-US
Comment 10 Buovjaga 2023-08-10 10:11:31 UTC
Tested with

--convert-to pdf:writer_pdf_Export --outdir /path/to/dir /path/to/dir/21ChartIssue.docx

and it reliably makes all the charts in attachment 187660 [details] distorted.

Seen in bibisect-linux-50max and oldest of 43all.

Arch Linux 64-bit, X11
Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 2d0268f5ae6061bc96c00481c9ef3547be300b5a
CPU threads: 8; OS: Linux 6.4; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 10 August 2023