¿Por qué los números ocultan un enorme archivo PNG en las hojas de Excel exportadas?

75

OK, esta es una extraña. Tomo mi hoja de números en blanco:

...yexportarloaExcel:

Whoah, eso parece un poco grande. Cambiemos el nombre del documento de Excel a .zip y echemos un vistazo al interior:

Cavandounpocomásprofundo:

Bueno, acabamos de encontrar el 99% del tamaño del archivo. Pero, ¿qué es una especie de imagen de vista previa incrustada? Vamos a abrirlo:

No, solo un PNG de 635x635 de ruido aleatorio. ¿Alguien tiene alguna idea de lo que está pasando aquí?

    
pregunta rogual 18.08.2014 - 13:59

3 respuestas

41

No estoy seguro de por qué se incluye en la exportación, pero este es uno de los "rellenos de imagen" predeterminados: Image Fill http://f.cl.ly/items/1X0M2o0V0f3A463c0a2H/Untitled_numbers.png

    
respondido por el Lukas Klein 18.08.2014 - 14:32
37

tl; dr: es el relleno de forma predeterminado, estrictamente innecesario si no hay formas.

XLSX, DOCX y otros formatos utilizan OPC (las convenciones de empaquetado abierto), que obliga al contenedor zip y describe cómo se deben distribuir los archivos. Si hay un archivo que no reconoce, busque en los diversos archivos de relaciones (terminan en .rels).

En este caso, la línea correspondiente se puede encontrar en el archivo de relación de temas xl/theme/_rels/theme1.xml.rels :

  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/>

Se hará referencia al archivo en xl/theme/theme1.xml como rId1 . Utilizando ECMA-376 como guía, encontrará que se le hace referencia como relleno de forma predeterminado:

<a:objectDefaults>                    <-- shape/line/text defaults
  <a:spDef>                           <-- shape defaults
    <a:spPr>                          <-- shape properties
      <a:blipFill rotWithShape="1">   <-- picture fill
        <a:blip r:embed="rId1"/>      <-- references the picture

El escritor no debe estar omitiendo la imagen si no hay forma.

    
respondido por el SheetJS 18.08.2014 - 17:31
29

Los archivos de Keynote exportados a PowerPoint también hacen cosas como esta. Ese PNG es un relleno de fondo de Keynote, y se pone a disposición de PowerPoint para ser utilizado como el relleno de forma predeterminado para las formas creadas en el documento exportado. Keynote no solo exporta su documento, sino también los elementos de estilo de plantilla con los que fue creado, incluso si algunos de esos elementos de estilo (es decir, la imagen de fondo) aún no se han utilizado.

    
respondido por el gcp 18.08.2014 - 15:29

Lea otras preguntas en las etiquetas