<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Hidden shape in imported XLSX shown in Print window and printed"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=108691#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Hidden shape in imported XLSX shown in Print window and printed"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=108691">bug 108691</a>
              from <span class="vcard"><a class="email" href="mailto:baron@caesar.elte.hu" title="Aron Budea <baron@caesar.elte.hu>"> <span class="fn">Aron Budea</span></a>
</span></b>
        <pre>The situation is more complicated, there are two related elements in OOXML that
affect whether the drawing object is there or not:
- attribute "hidden" of element "cNvPr" [1] that controls whether the drawing
object is displayed,
- attribute "fPrintsWithSheet" of element "clientData" [2] that controls
whether the drawing object is printed.

A hidden drawing object is not printed (at least not shown in the preview), but
there's no mention of that in the specification.
The relevant properties for binary formats can be found in MS-ODRAW, under
2.3.4.44 Group Shape Boolean Properties (fUsefHidden, fUsefPrint, fHidden,
fPrint).

In LibreOffice, as noted in [3], <drawooo:display> holds this setting, which is
not part of the standard, but is similar to ODF's <draw:display> [4] for
layers. As far as I could see there's no option on the UI where it can be set
for shapes.

Relevant pieces of the import code:
- OOXML: shape is created here based on the imported data
  <a href="http://opengrok.libreoffice.org/xref/core/oox/source/drawingml/shape.cxx#615">http://opengrok.libreoffice.org/xref/core/oox/source/drawingml/shape.cxx#615</a>
- OOXML: client data is imported here
 
<a href="http://opengrok.libreoffice.org/xref/core/sc/source/filter/oox/drawingbase.cxx#118">http://opengrok.libreoffice.org/xref/core/sc/source/filter/oox/drawingbase.cxx#118</a>
- binary format: similar properties are read and passed further
 
<a href="http://opengrok.libreoffice.org/xref/core/sc/source/filter/excel/xiescher.cxx#3527">http://opengrok.libreoffice.org/xref/core/sc/source/filter/excel/xiescher.cxx#3527</a>

In OOXML's case the question is, where should the two attributes with different
origins be processed together?


[1]
<a href="https://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.spreadsheet.nonvisualdrawingproperties(v=office.15).aspx">https://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.spreadsheet.nonvisualdrawingproperties(v=office.15).aspx</a>
[2]
<a href="https://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.spreadsheet.clientdata.aspx">https://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.spreadsheet.clientdata.aspx</a>
[3] <a href="https://issues.oasis-open.org/browse/OFFICE-2125">https://issues.oasis-open.org/browse/OFFICE-2125</a>
[4]
<a href="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#attribute-draw_display">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#attribute-draw_display</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>