2013年9月23日月曜日

[Office Suite] docx pptx xlsx について

「docx pptx xlsx」という一連の「*x」というフォーマットは、zipでxmlファイル群圧縮しているらしい。
PyCon 2013 の kzfmさんの資料を参考にさせて頂き実践してみた。

まず、サンプルのパワーポイントスライドを作って「sample.pptx」で保存する。


そして、sample.pptxを解凍する。
$ unzip sample.pptx
解凍すると下記のようなファイルが出てくる。
その中の「ppt/slides/slide1.xml」がスライドの内容となるので、適当なエディタで編集する。



再びZipで圧縮して、「after.pptx」とする。
$ zip -r after.pptx \[Content_Types].xml docProps/ ppt/ _rels/
Power Pointで圧縮したafter.pptxを開いてみる。






[pptxを解凍して出てきたファイル群]
$ tree
|-- [Content_Types].xml

|-- _rels

|-- docProps

|   |-- app.xml

|   |-- core.xml

|   `-- thumbnail.jpeg

|-- file.lst

|-- ppt

|   |-- _rels

|   |   `-- presentation.xml.rels

|   |-- presProps.xml

|   |-- presentation.xml

|   |-- slideLayouts

|   |   |-- _rels

|   |   |   |-- slideLayout1.xml.rels

|   |   |   |-- slideLayout10.xml.rels

|   |   |   |-- slideLayout11.xml.rels

|   |   |   |-- slideLayout2.xml.rels

|   |   |   |-- slideLayout3.xml.rels

|   |   |   |-- slideLayout4.xml.rels

|   |   |   |-- slideLayout5.xml.rels

|   |   |   |-- slideLayout6.xml.rels

|   |   |   |-- slideLayout7.xml.rels

|   |   |   |-- slideLayout8.xml.rels

|   |   |   `-- slideLayout9.xml.rels

|   |   |-- slideLayout1.xml

|   |   |-- slideLayout10.xml

|   |   |-- slideLayout11.xml

|   |   |-- slideLayout2.xml

|   |   |-- slideLayout3.xml

|   |   |-- slideLayout4.xml

|   |   |-- slideLayout5.xml

|   |   |-- slideLayout6.xml

|   |   |-- slideLayout7.xml

|   |   |-- slideLayout8.xml

|   |   `-- slideLayout9.xml

|   |-- slideMasters

|   |   |-- _rels

|   |   |   `-- slideMaster1.xml.rels

|   |   `-- slideMaster1.xml

|   |-- slides

|   |   |-- _rels

|   |   |   `-- slide1.xml.rels

|   |   `-- slide1.xml

|   |-- tableStyles.xml

|   |-- theme

|   |   `-- theme1.xml

|   `-- viewProps.xml

`-- sample.pptx



11 directories, 38 files








0 件のコメント:

コメントを投稿