PPT转PNG透明背景

52

我有一个PowerPoint .ppt文件,需要为每个幻灯片创建一张图片。

我试图使用集成的PowerPoint“导出为.png”功能。它可以工作,但是所有图像都有不透明的背景,我需要透明的背景。

请问是否有人知道如何实现这个要求?(如果标准导出无法实现,通过宏也可以)


11
跳过那个“无法完成”的接受答案,并选择下一个。它是可以做到的。虽然要将幻灯片导出为图像并使不透明的背景变得透明非常困难(由于走样),但这些警告值得一试。 - user334911
3
请看Justin Mitchell的答案(在我的页面里出现在底部)。被选中的答案对我没有帮助。 - user1825083
或者查看我的答案 - 这是我现在最喜欢的选择。 - user1825083
10个回答

116

您可以在幻灯片中选择形状(包括艺术字),然后右键单击所选内容并选择“另存为图片”。它将以透明的PNG格式保存。


3
在PowerPoint 2010中非常好用! - Richard Ev
2
同样适用于PowerPoint 2013。为了获得所需的图像大小,您可能需要在每个幻灯片周围放置边框,因为它似乎会根据所选对象调整创建的图像大小。但这是一个非常好的解决方案! - user334911
1
这是一个非常有用的功能!感谢您指出它。+1 - Josh B.
到了2023年仍然有用。谢谢! - Inisheer
2023年仍然有用。谢谢! - undefined

28

这是无论手动还是程序化都不能完成的。因为每个幻灯片母版背后的颜色都是白色。如果将背景设置为100%透明,则会打印为白色。

你最好的选择是设计带有所需元素的幻灯片,将要显示在透明图像中的所有内容分组,然后右键单击/另存为图片/.PNG(也可以使用宏)。这样,您将保留透明度。

以下是将所有幻灯片形状导出为单独的PNG文件的示例。注意:

  1. 此方法不会获取幻灯片母版上的任何背景形状。
  2. 根据每个幻灯片上形状的位置,生成的PNG文件大小不会相同。
  3. 此示例使用了一个已过时的函数,即Shape.Export。这意味着虽然该函数仍然可用于PowerPoint 2010,但它可能会从PowerPoint VBA中删除

Sub PrintShapesToPng()
    Dim ap As Presentation: Set ap = ActivePresentation
    Dim sl As slide
    Dim shGroup As ShapeRange
    For Each sl In ap.Slides
        ActiveWindow.View.GotoSlide (sl.SlideIndex)
        sl.Shapes.SelectAll
        Set shGroup = ActiveWindow.Selection.ShapeRange
        shGroup.Export ap.Path & "\Slide" & sl.SlideIndex & ".png", _
                            ppShapeFormatPNG, , , ppRelativeToSlide
    Next
End Sub

谢谢您的回复,能告诉我一个宏,可以在每张幻灯片上执行“全选” -> “另存为 .png”操作吗? - Riccardo
所有幻灯片上的对象(以及每个类似的幻灯片)都可以保存为.png格式,但这种情况下任何“背景透明度”都将丢失。 - Todd Main
1
为了避免透明度的损失,我正在寻找一个“进入第一张幻灯片,选择所有内容,将所选内容导出为.png格式”,然后“进入第二张幻灯片,选择所有内容,将所选内容导出为.png格式”,以此类推。 - Riccardo
1
非常好的回答。但是你能不能不要在第一句话说“做不到!”?如果我很匆忙,我几乎错过了后面的内容。 - KFL
确认在Windows的PowerPoint 365中仍然有效,但在Mac的PowerPoint 365中不起作用,使用修改后的路径(ap.Path&"/ Slide"&sl.SlideIndex&".png")。为了确保我在Mac上做正确的事情,我测试了幻灯片.Export方法(sl.Export ap.Path&"/ Slide"&sl.SlideIndex&".png",FilterName:="png"),它可以正常导出.png文件,但不幸的是,它没有透明背景。 - Tony M
解决不同尺寸问题的hacky方法是在整个幻灯片上绘制一个大矩形,并使其填充和边框透明。然后,您可以将此不可见矩形复制到所有幻灯片上,只要没有任何东西突出幻灯片,您就会没问题——尽管有时当形状紧贴幻灯片边界时,图像大小仍会因某种奇怪的原因偏离一个像素。 - Dragongeek

8

我做的一个解决方案是:

  • Ctrl + a 全选幻灯片中的所有内容
  • Ctrl + c 复制选中的内容
  • 打开 GIMP(可能在 Photoshop 或其他软件中也可行)
  • 创建一个带有透明背景的新图像
  • Ctrl + v 粘贴所有矢量/文本到图像中
  • 将图像导出为 PNG 或任何格式

它看起来几乎与 Powerpoint 中的相同,并且矢量/文本的透明边缘非常清晰。


3

在每张幻灯片中插入一个全屏的彩色框,将颜色设置为白色且透明度为100%。选择全部内容,右键另存为图片,选择PNG格式并保存。

复制/粘贴插入的彩色框到每张幻灯片上并重复此步骤。


2

我曾经尝试过使用其他在线系统制作透明图像,但都失败了。后来我在PowerPoint中成功了,真是太神奇了。

首先,我使用WordArt创建了字体,这些字体可以很好地转换为PNG或JPEG格式。PowerPoint中的普通文本转换效果不佳,会变得模糊。无论如何,我选择白色(因为我想要它与深蓝色背景形成对比),输入了我的文字,将它们排列好,然后右键单击并选择“格式形状”以去除线条,再选择“阴影”设置透明度。

我将透明度设置为100%。它出来的效果很好。然后我右键单击并保存为PNG格式。用MS Picture Manager打开图像并将其调整大小以适应我的需要。它根本没有带有PowerPoint的白色背景。一旦调整大小,我就将图像放在深蓝色背景上,就像魔术一样。


2
这里是我最推荐的最快、最简单的解决方案。适用于所有幻灯片都有相同背景颜色需要去除的情况。 步骤1。 在PowerPoint中,使用"另存为"(快捷键F12)PNG格式,选择"全部幻灯片"。
现在你有一个文件夹,里面包含了所有幻灯片的PNG图像。但问题在于它们仍然有背景。所以现在: 步骤2。 批量去除所有PNG图像的背景颜色,例如按照这个SE答案的步骤进行操作。

1
这是一个被低估的答案。 - João Antunes
@JoãoAntunes:不幸的是,所选答案声称“无法完成”,并提供了一个复杂的解决方法,这是大多数人看到的唯一内容。我的回答很晚,因此自动放在底部。 - user1825083
Kenny LJ:大多数情况下,如果形状来自Powerpoint,则@Justin Mitchell的答案完美适用。对于其他情况,您的解决方案是完美的!我在紧急情况下需要做演示文稿,我安装了imagemagick并且它运行得非常好,甚至没有使图像中的字母变空白,只是背景变了。 - João Antunes

1

我找到了一个解决方法。

  1. 将背景导出为白色(或其他透明图形可以使用的颜色)。这将成为我们的“白幕”层。
  2. 将背景导出为“蓝幕”背景或其他可轻松选择前景背景的可怕颜色。
  3. 在白幕上方打开蓝幕版本作为一层。
  4. 使用蓝幕层仅选择您想要使用的部分。
  5. 使用从蓝幕层选择的内容创建白屏层的掩模。

这将得到良好的边缘和锯齿效果,同时保留良好的颜色。


1

导入到Google幻灯片

选择所需幻灯片并将背景设置为纯透明

然后点击“文件->另存为PNG”


验证了一下,至少对我来说这不起作用,因为在导入到Google幻灯片时会丢失一些PPT功能。 - Tony M
我希望我有其他选择,但那是我的唯一选择... - CrandellWS

0
根据您的应用程序,您可能可以让背景颜色为您服务!我需要在崇拜服务视频的下部第三层上叠加经文幻灯片。我将PPT背景颜色设置为绿色并将所有幻灯片保存为PNG文件。视频系统轻松地去除了绿色背景!

目前你的回答不够清晰,请编辑并添加更多细节以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

0

我可以这样做

  1. 将Powerpoint保存为PDF
  2. 在Illustrator中打开PDF,删除背景并保存为PNG

在你的回答中,Illustrator 是必须的,它不是每个工作站都默认安装的。 - YLR
你也可以使用打开PDF的Illustrator替代品来完成这个任务,例如Inkscape。 - Madis Luik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接