poniedziałek, 19 października 2009

Jak wyciągnąć grafiki i muzykę z prezentacji programu PowerPoint ?[PL]

Niedawno ktoś mnie zapytał, czy jest możliwe z istniejącej prezentacji programu PowerPoint wydobycie grafik, czy muzyki. Odpowiedziałem wtedy, że muszę sprawdzić czy poszukać,bo przecież łatwo coś do PowerPoint'a wkleić lub wstawić, ale nie można kliknąć na dowolnym obiekcie i wybrać: "Zapisz jako.."

Jak więc wyciągnąć jakąś grafikę, czy muzykę z prezentacji? Okazuje się to dość proste, jeżeli używamy PowerPoint'a 2007 (lub przynajmniej zapiszemy prezentację w tym formacie (OpenXML)). Można bowiem wtedy w prosty sposób dostać się do wszystkich zasobów dokumentu. Jak? Można to zrobić w podobny sposób jak to opisywałem jakiś czas temu na przykładzie pliku programu Word (docx). Zamieniamy rozszerzenie prezentacji (nie jest istotne czy jest to pptx, czy ppsx) na rozszerzenie typu zip, następnie wypakowujemy archiwum. W tym momencie powinniśmy uzyskać strukturę plików i katalogów podobną do poniższej:

plik.zip
|   [Content_Types].xml
|  +---docProps
|       app.xml
|       core.xml
|       thumbnail.jpeg
|      +---ppt
|   |   presentation.xml
|   |   presProps.xml
|   |   tableStyles.xml
|   |   viewProps.xml
|   |  |   +---media
|   |       audio1.wav
|   |       image1.png
|   |       image10.png
|   |       image11.png
|   |       image12.png
|   |       image13.png
|   |       image14.jpeg
|   |       image15.png
|   |       image16.png
|   |       image17.png
|   |       image18.png
|   |       image19.png
|   |      |   +---slideLayouts
|   |   |   slideLayout1.xml
|   |   |   slideLayout10.xml
|   |   |   slideLayout11.xml
|   |   |   slideLayout2.xml
|   |   |   slideLayout3.xml
|   |   |   slideLayout4.xml
|   |   |   slideLayout5.xml
|   |   |   slideLayout6.xml
|   |   |   slideLayout7.xml
|   |   |   slideLayout8.xml
|   |   |   slideLayout9.xml
|   |   |  |   |   \---_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
|   |          |   +---slideMasters
|   |   |   slideMaster1.xml
|   |   |  |   |   \---_rels
|   |           slideMaster1.xml.rels
|   |          |   +---slides
|   |   |   slide1.xml
|   |   |   slide2.xml
|   |   |   slide3.xml
|   |   |   slide4.xml
|   |   |   slide5.xml
|   |   |  |   |   \---_rels
|   |           slide1.xml.rels
|   |           slide2.xml.rels
|   |           slide3.xml.rels
|   |           slide4.xml.rels
|   |           slide5.xml.rels
|   |          |   +---theme
|   |       theme1.xml
|   |      |   \---_rels
|           presentation.xml.rels
|          \---_rels
      .rels

Teraz, jeżeli zajrzymy do katalogu "media" znajdziemy tam wszystkie wykorzystane w prezentacji obrazy i dźwięki. Proste prawda??

Co więcej można również wykorzystać opisany tu sposób do podmiany dowolnego obrazka na inny. Zadziwiające, że PowerPoint sam w sobie nie posiada funkcjonalności podmień obrazek w prezentacji, a przecież gdy wykonamy skomplikowaną animację, w której potrzebujemy podmienić jeden z wykorzystanych obrazów okazuje się bardzo problematyczne. Jak więc to zrobić? W tym celu rozpakowujemy prezentację, odnajdujemy interesujący nas obraz, podmieniamy go na nowy (pod tą samą nazwą), ponownie pakujemy prezentację.

Na koniec pozostaje nam jeszcze pytanie-dylemat, czy opisane tu czynności możemy wykonać, czy prawo autorskie nam na to pozwala, ale to już temat na inne rozwiązania i pozostawię to waszemu sumieniu.

Zainteresowanych dalszymi informacjami na temat formatu w jakim zapisywane są pliki przy pomocy Office 2007, czyli OpenXML, zachęcam do przeczytania artykułu: "Open XML - tworzymy dokument Word (docx)".

7 komentarzy:

  1. Witam!
    Nie wiem jak to robisz Maćku, ale niestety u mnie nie jest to najprostsze. Za każdym razem, czy to zip, czy to rar dostaję wiadomość od WinRAR'a że archiwum ma niewłaściwy format lub jest uszkodzone. Przy zapisaniu prezentacji w formacie xml również ten sam problem... Proszę o radę.

    Pozdrawiam
    Piotr

    OdpowiedzUsuń
  2. Opisany tu sposób działa tylko dla plików zgodnych z formatem stosowanym w Office 2007, czyli aby to zadziałało trzeba zapisać prezentację jako PPTX lub PPSX, wtedy PPTX lub PPSX zamieniamy na ZIP i powinno działać.

    OdpowiedzUsuń
  3. Dzięki bardzo za pomoc.

    Pozdrawiam
    Piotr

    OdpowiedzUsuń
  4. dzięki wielkie. tego właśnie szukałem

    OdpowiedzUsuń
  5. Dziękuję. Musiałem "włamać" się do do własnej prezentacji po to, by podmienić plik dźwiękowy na inny, a nie chciałem robić jej od początku.
    Pozdrawiam
    Zygfryd

    OdpowiedzUsuń
  6. super rada. dziekuje

    OdpowiedzUsuń
  7. działa nawet na MACu z PowerPoint , dzięki i pozdrawiam

    OdpowiedzUsuń

Posty powiązane / Related posts