NumbersがエクスポートされたExcelシートで巨大なPNGファイルを隠すのはなぜですか?


73

OK、これは奇妙なものです。空白のNumbersシートを受け取ります。

空白のCSVからインポートされた空白のシート

...それをExcelにエクスポートします:

ここに画像の説明を入力してください

おっと、それは少し大きいようです。Excelドキュメントの名前を.zipに変更して、内部を見てみましょう。

ここに画像の説明を入力してください

少し掘り下げます:

ここに画像の説明を入力してください

さて、ファイルサイズの99%を見つけました。しかし、それは何ですか?何らかの埋め込まれたプレビュー画像ですか?開けましょう:

ここに画像の説明を入力してください

いいえ、ランダムノイズの635x635 PNGだけです。ここで何が起こっているのか誰にも分かりますか?

回答:


41

エクスポートに含まれる理由はわかりませんが、これはデフォルトの「画像塗りつぶし」の1つです。 画像の塗りつぶし


2
幸いなことに、それを使用してxlsxファイルを破損せずにこのイメージを削除することが可能だと思われるzip -d myFile.xlsx xl/media/image1.png
Bastien Jansen

35

tl; dr:デフォルトの形状の塗りつぶしで、形状がない場合は厳密に不要です。

XLSX、DOCX、およびその他の形式では、OPC(オープンパッケージ規則)を使用します。これは、zipコンテナーを義務付け、ファイルのレイアウト方法を説明します。認識できないファイルがある場合は、さまざまな関係ファイルを調べます(それらは.relsで終わります)。

この場合、関連する行はテーマ関係ファイルで見つけることができますxl/theme/_rels/theme1.xml.rels

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

ファイルはで参照さxl/theme/theme1.xmlrId1ます。ECMA-376をガイドとして使用すると、デフォルトの形状塗りつぶしとして参照されます。

<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

作者は、形がない場合に画像を省略してはなりません。


31

PowerPointにエクスポートされた基調講演ファイルもこのようなことをします。そのPNGはKeynoteからの背景の塗りつぶしであり、PowerPointで利用可能になり、エクスポートされたドキュメントで作成された図形のデフォルトの図形の塗りつぶしとして使用されます。Keynoteは、ドキュメントだけでなく、それが作成されたテンプレートスタイル要素もエクスポートします-スタイル要素の一部(背景画像など)がまだ使用されていない場合でも。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.