Perché Numbers nasconde un enorme file PNG nei fogli Excel esportati?


73

OK, questo è strano. Prendo il mio foglio bianco dei numeri:

Foglio bianco importato da CSV vuoto

... ed esportalo in Excel:

inserisci qui la descrizione dell'immagine

Whoah, sembra un po 'grande. Rinominiamo il documento Excel in .zip e diamo un'occhiata dentro:

inserisci qui la descrizione dell'immagine

Scavare un po 'più a fondo:

inserisci qui la descrizione dell'immagine

Bene, abbiamo appena trovato il 99% delle dimensioni del file. Ma cos'è: una sorta di immagine di anteprima incorporata? Apriamolo:

inserisci qui la descrizione dell'immagine

No, solo un PNG 635x635 di rumore casuale. Qualcuno ha idea di cosa sta succedendo qui?

Risposte:


41

Non sono sicuro del perché sia ​​incluso nell'esportazione, ma questo è uno dei "Riempimenti immagine" predefiniti: Riempimento immagine


2
Fortunatamente, sembra che sia possibile eliminare questa immagine senza corrompere il file xlsx utilizzandozip -d myFile.xlsx xl/media/image1.png
Bastien Jansen,

35

tl; dr: è il riempimento forma predefinito, strettamente inutile se non ci sono forme.

XLSX, DOCX e altri formati utilizzano OPC (le convenzioni di packaging aperto), che impone il contenitore zip e descrive come devono essere disposti i file. Se esiste un file che non riconosci, cerca nei vari file di relazione (terminano con .rels).

In questo caso, la riga pertinente è disponibile nel file di relazione dei temi xl/theme/_rels/theme1.xml.rels:

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

Il file verrà indicato xl/theme/theme1.xmlcome rId1. Utilizzando ECMA-376 come guida, lo troverai come riempimento di forma predefinito:

<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

Lo scrittore non deve omettere l'immagine se non c'è forma.


31

I file Keynote esportati in PowerPoint fanno anche queste cose. Questo PNG è un riempimento di sfondo di Keynote ed è reso disponibile a PowerPoint per essere utilizzato come riempimento di forma predefinito per le forme create nel documento esportato. Keynote non solo esporta il tuo documento, ma anche gli elementi di stile modello con cui è stato creato, anche se alcuni di quegli elementi di stile (ad es. L'immagine di sfondo) non sono ancora stati utilizzati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.