Supercharge your PowerPoint productivity with

Supercharge your PPT Productivity with PPTools - Click here to learn more.

Tell me about PPTools

QuickTime and a TIFF (or JPEG) decompressor are needed to see this picture


PPTools
Shape Styles brings the power of styles to PowerPoint. Apply complex formatting with a single click
Merge Excel, CSV or tab-delimited data into PowerPoint presentations to create certificates, awards presentations, personalized presentations and more
FixLinks prevents broken links when you distribute PowerPoint presentations
Optimizer saves disk space and bandwidth, shrinks your PowerPoint presentations to the right size for email, screenshow or printing
PPT2HTML gives you full control of PowerPoint HTML output, helps meet Section 508 accessibility requirements
Prep4PDF preserves interactivity in PowerPoint presentations when you convert to PDF
Image Export converts PowerPoint slides to JPG, PNG, GIF, WMF and more

Problem

You open a presentation created on a Mac in your Windows version of PowerPoint and get a message similar to these:

QuickTime(TM) and a Photo - JPEG decompressor are needed to see this picture. 
QuickTime(TM) and a TIFF decompressor are needed to see this picture. 

The message may mention some other type of decompressor.

Solution

PPT2000: QuickTime PICT Placeholder Appears in Place of Graphic

The problem, in a nutshell, is that PowerPoint/Windows doesn't support QuickTime compression; installing QuickTime on the PC won't help.

You'll need to go back to the Mac to fix the problem by re-inserting the graphic into PowerPoint.

  • Open the original graphic in the program that created it
  • Choose File, Save As
  • Select No Compression in the save options (PowerPoint will compress the image when it imports it)
  • Save as JPG or PNG or similar format that's compatible with both PC and Mac PPT versions.
  • Switch to PowerPoint, choose Insert, Picture, From File and choose the newly saved picture.

Note: DO NOT drag and drop or copy/paste the graphic into PowerPoint. That's what probably caused the problem in the first place.

These instructions are very generic. The menu options for your graphics program will be different; you'll probably need to do some experimenting to find the right set of options.

If you come up with a good recipe you'd like to include here, post a message in the PowerPoint Newsgroup.

Another possible fix

This is still in the testing stage, but it's worth a try (on a COPY of your presentation, please!).
This exports each picture in your presentation to a PNG file, deletes the picture, then reimports the PNG in its place.

Notes:

  • You'll need to change the path to suit your OS and system and optionally try different enlargement factors. See the notes under "EDIT THE FOLLOWING" below.
  • The higher the enlargement factor, the higher the resolution of the exported/re-imported images (and the larger your PPT file). You'll want to experiment a bit to learn what works best for your needs.
  • It doesn't delete the "temp" images it creates; you can have a look at them if you like or delete them manually.
  • You can run this several times on the same presentation if you wish; it will only export/re-import a given picture one time.

Sub PNG_Me()
' Exports pictures to PNG, reimports them

  Dim sPath As String
  Dim dEnlargementFactor

  ' EDIT THE FOLLOWING:
  ' Name of folder for temp files
  ' It should always end with a path separator character:
  ' \ for PC, : (colon) for Mac
  ' The folder must already exist
sPath = "Macintosh HD:temp:"

  ' We enlarge the images before exporting them
  ' The higher the enlargement factor, the higher the resolution of the converted file
  ' This also serves to "optimize" your file sizes somewhat
  dEnlargementFactor = 2

  ' =========== NO USER-SERVICEABLE PARTS PAST THIS POINT
  Dim oOriginalPic As Shape
  Dim oNewPic As Shape
  Dim oSl As Slide
  Dim oSh As Shape
  Dim dLeft As Double
  Dim dTop As Double
  Dim dHeight As Double
  Dim dWidth As Double
  Dim sImageName As String

  For Each oSl In ActivePresentation.Slides
    For Each oSh In oSl.Shapes
        ' Touch only pictures
        If oSh.Type = msoPicture Then
            ' Touch only pictures that haven't yet been touched
            If Len(oSh.Tags("PINGED")) = 0 Then
                With oSh
                    sImageName = sPath & "Slide" & CStr(oSl.SlideID) & "_" & oSh.Name & ".PNG"
                    ' memorize size/position
                    dTop = .Top
                    dWidth = .Width
                    dHeight = .Height
                    dLeft = .Left
                    ' Enlarge, then export to PNG; lock aspect ratio first
                    oSh.LockAspectRatio = msoTrue
                    oSh.Height = oSh.Height * dEnlargementFactor
                    oSh.Export sImageName, ppShapeFormatPNG
                    ' and delete the shape
                    .Delete
                End With
                ' import saved picture
                Set oNewPic = oSl.Shapes.AddPicture(sImageName, msoFalse, msoTrue, dLeft, dTop, dWidth, dHeight)
                Call oNewPic.Tags.Add("PINGED", "PONGED")
            End If
        End If
    Next
  Next

End Sub

See How do I use VBA code in PowerPoint? to learn how to use this example code.


Page copy protected against web site content infringement by Copyscape Contents © 1995-2008 Stephen Rindsberg, Rindsberg Photography, Inc. and members of the MS PowerPoint MVP team. You may link to this page but any form of unauthorized reproduction of this page's contents is expressly forbidden.

Español    Deutsch    Français    Português    Italiano    Nederlands    Greek    Japanese    Korean    Chinese



Supercharge your PPT Productivity with PPTools


content authoring & site maintenance by
Friday, the automatic faq maker (logo)
Friday - The Automatic FAQ Maker

QuickTime and a TIFF (or JPEG) decompressor are needed to see this picture
http://www.pptfaq.com/FAQ00534.htm
Last update 09 June, 2007