Hello, please import the attached "issue.pdf" into Draw. The result is a bad import with big gray shaded areas (see also screen shot "issue.png").
Created attachment 104174 [details] issue.pdf
Created attachment 104176 [details] issue.png
Created attachment 104308 [details] Draw import of complex pdf Test System: Kubuntu 14.04 (KDE 4.13.2) LibreOffice 4.3.0.3 The issue of Draw importing the horizontal, hatched stripes as a gray diagonal block occurs on my test system. On LibreOffice 4.2.4.2, a similar import issue for the same hatched areas displays the hatching in diagonal lines. png image attached. Thanks for reporting. --Algot
The "shaded" areas are the cross hatching layer as applied to elements of the source document for the PDF. They should be hidden below other elements--but are visible when rendered in Draw. Unclear what program Micron prepared the document in and used for export to PDF. When the document is opened in Adobe Reader, Adobe Acrobat, Adobe Photoshop, as well as with Inkscape--the hatching layer is correctly confined--and is not available as an object (e.g. all layers have been flattened). Only Adobe Illustrator did not recognize the format of the PDF. As is, only LibreOffice incorrectly is showing the hatching layer but it is incorrect--if only a corner case. On Windows 7 sp1, 64-bit en-US with Version: 4.3.0.4 Build ID: 62ad5818884a2fc2e5780dd45466868d41009ec0
(In reply to comment #4) > Unclear what program Micron prepared the document in and used for export to > PDF. AH Formatter V5.3 R1 (5,3,2011,0425) for Windows http://www.antennahouse.com/product/ahf50/ahf5top.htm An "original" PDF can be found here: http://www.micron.com/-/media/Documents/Products/Data%20Sheet/DRAM/DDR3/1Gb_DDR3_SDRAM.pdf The version that I have attached to this bug report is an extract of a few pages.
(In reply to comment #5) > An "original" PDF can be found here: > http://www.micron.com/-/media/Documents/Products/Data%20Sheet/DRAM/DDR3/ > 1Gb_DDR3_SDRAM.pdf Extracted the pages shown in attachment 104174 [details] (issue.pdf) but using Adobe Acrobat 9.5.5 When opened in Draw with a current LibreOffice Version: 4.4.0.0.alpha0+ Build ID: 32ce5ae15a8f156b4681c36d248b6731df3457c6 TinderBox: Win-x86@42, Branch:master, Time: 2014-08-25_01:27:12 The same unmasked view of the hatching layers are incorrectly being exposed in the PDF rendering in Draw.
This lines must be clipped. See Bug 86211
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present on a currently supported version of LibreOffice (5.0.5 or 5.1.2 https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System Please DO NOT - Update the version field - Reply via email (please reply directly on the bug tracker) - Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 4b. If the bug was not present in 3.3 - add "regression" to keyword Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa Thank you for your help! -- The LibreOffice QA Team This NEW Message was generated on: 2016-04-16
Bug still present in: Version: 5.1.2.2 Build ID: 1:5.1.2~rc2-0ubuntu1~trusty0 CPU Threads: 8; OS Version: Linux 3.16; UI Render: default; Locale: de-DE (de_DE.UTF-8)
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present on a currently supported version of LibreOffice (5.4.1 or 5.3.6 https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 4b. If the bug was not present in 3.3 - add "regression" to keyword Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug-20170901
Bug still present in Version: 6.0.0.0.alpha0+ Build-ID: 115bed941d7b7ed1b95d6424bfb98456c1d87546
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Still reproducible with: Version: 6.1.2.1 Build-ID: 1:6.1.2~rc1-0ubuntu0.14.04.4 CPU-Threads: 8; BS: Linux 4.4; UI-Render: Standard; VCL: gtk2; Gebietsschema: de-DE (de_DE.UTF-8); Calc: group threaded
Dear OfficeUser, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Dear OfficeUser, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Issue remains with the pdf import filters, still depends on bug 86211 for correct clipping mask The pdfium based insert as image handle the masking correctly Version: 7.2.2.1 (x64) / LibreOffice Community Build ID: 0e408af0b27894d652a87aa5f21fe17bf058124c CPU threads: 8; OS: Windows 10.0 Build 19043; UI render: Skia/Vulkan; VCL: win Locale: en-US (en_US); UI: en-US Calc: threaded
Created attachment 197717 [details] More minimal pdf I've been minimising this pdf by hand with the help of qpdf, and have got to this now tiny version. It should have one lozenge and is still not clipped right. This isn't as simple as a line clipping
The clip path is getting confused, because at one point it (correctly) should be empty; but the pdf import code is ignoring empty clip paths, so when the next clip path comes along, it uses this rather than staying empty. So: - if( aCurClip.count() ) // #i92985# adapted API from (..., false, false) to (..., true, false) - aNewClip = basegfx::utils::clipPolyPolygonOnPolyPolygon( aCurClip, aNewClip, true, false ); + aNewClip = basegfx::utils::clipPolyPolygonOnPolyPolygon( aCurClip, aNewClip, true, false ); helps things; but now we seem to have a new problem with some of the shading not being shown; so I need to track that down. (A fun side part of this particular test file is it almost falls down my recent tilingPatternFill path which would have caused a blurred rendering, but that's a separate thing - I hadn't expected that to happen for what's closer to a shading)
Created attachment 197966 [details] minimal file b This is a different chunk of the pdf which exhibits a slightly different problem.
Making it not-ignore empty clip paths, and also closing incoming clip paths makes the 'More minimal pdf' from 22nd render OK, but it's not the whole story. Looking at the whole doc, or in particular the 'minimal file b' I just uploaded; it's missing bits of the shading. I think this is a winding rule screwup of the type tdf#86211 suggests. Summarizing what we have in that minimal file b; we have a lozenge shape (which gives us a clip path to start with), and then we have square diamonds, each with it's own clip path, and inside those are a series of (11?) stroke lines. Some of the diamonds end up losing all their stroke lines. Here's some of my debug corresponding to the clip setup going into one of the (missing) square diamonds: 1439 PDFIProcessor::intersectClip: new:[1:<5:(-2.1378,-4.35001)--(18.8622,-4.35001)--(18.8622,16.65)--(-2.1378,16.65)--(-2.1378,-4.35001)>] One of the clipping paths for a square as we read it 1440 PDFIProcessor::intersectClip: new(post close):[1:<5:(-2.1378,-4.35001)--(18.8622,-4.35001)--(18.8622,16.65)--(-2.1378,16.65)--(-2.1378,-4.35001)>] 1441 PDFIProcessor::intersectClip: new(post NZC):[1:<5:(-2.1378,-4.35001)--(18.8622,-4.35001)--(18.8622,16.65)--(-2.1378,16.65)--(-2.1378,-4.35001)>] 1442 PDFIProcessor::intersectClip: new: xfrm: [1:<5:(38732.2,25528)--(40893.9,26878.9)--(39543.1,29040.6)--(37381.4,27689.8)--(38732.2,25528)>] after going through a xfrm 1443 PDFIProcessor::intersectClip: cur: [1:<6:(8486,28745.3)--(8486,27652.8)--(8490.6,27652.8)--(42524.4,27671)--(42838.9,28217.3)--(42524.4,28763.5)>] 'cur' is the clipping path before this call; this corresponds to the main lozenge 1444 PDFIProcessor::intersectClip: res: [1:<5:(39717.2,28762)--(39096.7,28761.7)--(37381.4,27689.8)--(37394.8,27668.3)--(40399.7,27669.9)>] OK, great - a valid clip path 1445 PDFIProcessor::intersectClip: new:[1:<4:(-2.1378,-4.35)--(18.862,-4.35)--(18.862,16.65)--(-2.1378,16.65)>] We get called again, by an almost identical clip path - looks like poppler rounded it somewhere 1446 PDFIProcessor::intersectClip: new(post close):[1:<4:(-2.1378,-4.35)--(18.862,-4.35)--(18.862,16.65)--(-2.1378,16.65)>] Note this wasn't closed, and so a call to basegfx::utils::closeWithGeometryChange closes it (Hmm is it?) 1447 PDFIProcessor::intersectClip: new(post NZC):[1:<4:(-2.1378,-4.35)--(18.862,-4.35)--(18.862,16.65)--(-2.1378,16.65)>] 1448 PDFIProcessor::intersectClip: new: xfrm: [1:<4:(38732.2,25528)--(40893.9,26878.9)--(39543.1,29040.6)--(37381.4,27689.8)>] 1449 PDFIProcessor::intersectClip: cur: [1:<5:(39717.2,28762)--(39096.7,28761.7)--(37381.4,27689.8)--(37394.8,27668.3)--(40399.7,27669.9)>] This is the clip we generated on 1444 above 1450 PDFIProcessor::intersectClip: res: [1:<5:(39717.2,28762)--(39096.7,28761.7)--(37381.4,27689.8)--(37394.8,27668.3)--(40399.6,27669.9)>] OK, valid clip comes out 1451 PDFIProcessor::intersectClip: new:[1:<4:(-2.1378,-4.35)--(-2.1378,16.65)--(18.862,16.65)--(18.862,-4.35)>] Another call from poppler - this is the interesting one; the only difference from 1445 above is the point order - this is the opposite 1452 PDFIProcessor::intersectClip: new(post close):[1:<4:(-2.1378,-4.35)--(-2.1378,16.65)--(18.862,16.65)--(18.862,-4.35)>] 1453 PDFIProcessor::intersectClip: new(post NZC):[1:<4:(-2.1378,-4.35)--(-2.1378,16.65)--(18.862,16.65)--(18.862,-4.35)>] 1454 PDFIProcessor::intersectClip: new: xfrm: [1:<4:(38732.2,25528)--(37381.4,27689.8)--(39543.1,29040.6)--(40893.9,26878.9)>] 1455 PDFIProcessor::intersectClip: cur: [1:<5:(39717.2,28762)--(39096.7,28761.7)--(37381.4,27689.8)--(37394.8,27668.3)--(40399.6,27669.9)>] 1456 PDFIProcessor::intersectClip: res: [0:] Empty clip! But note this is clipping the same thing but to only the opposite direction; so if we agreed what that meant I think this should survive.
(Reads the PDF spec, ...) I'm still convinced that clip should be none-empty; but I'm not sure it's a winding rule issue. Yes hte point order is opposite - but that's not winding rule when we're talking about two separate paths; each path has only one crossing, so it doesn't matter if you're using non-zero or even/odd rules, they both say fill. I need to dig more into the clipping code.
I'm currently stuck on this; I posted to the list asking details about the clipping function, and would appreciate any suggestions: https://lists.freedesktop.org/archives/libreoffice/2024-December/092759.html
@Armin, any cycles to compare notes with Dave G.?
Created attachment 199734 [details] Enable tiling pattern fill get better result I try use inkscape open the minimal files, it show the shape fill with pattern. and I checked `PDFOutDev::tilingPatternFill` may fallback to slow method use clippath, After comment out these code and we can get better result with tilingPatternFill. remaining issue only the pattern not same with original file.
(In reply to zllangty from comment #24) > Created attachment 199734 [details] > Enable tiling pattern fill get better result > > I try use inkscape open the minimal files, it show the shape fill with > pattern. > and I checked `PDFOutDev::tilingPatternFill` may fallback to slow method use > clippath, After comment out these code and we can get better result with > tilingPatternFill. remaining issue only the pattern not same with original > file. Yep, I'd spotted they were tilingPatternFill; but it's a fun problem: a) I think the fallback is only taken because of a rounding comparison; my debug notes have: 1250 if (xStep != nWidth || yStep != nHeight) (gdb) p xStep $1 = 21 (gdb) p nWidth $2 = 20.999999999999996 (gdb) p yStep $3 = 21 (gdb) p nHeight $4 = 21.000000000000004 so we can probably fix that easily b) But it feels like we should fix the clipping problem anyway!