将 PowerPoint 幻灯片导出为具有不同分辨率的 PNG 的最佳方法是什么?

将 PowerPoint 幻灯片导出为具有不同分辨率的 PNG 的最佳方法是什么?

我正在尝试将 PowerPoint 幻灯片转换为 PNG。我知道有几种方法可以通过更改分辨率来实现这一点(例如,在 PowerPoint 中通过更改注册表或按照建议使用 PDF 打印机这里这里)。

但是,总是更改注册表很麻烦,并且使用 PDF 打印机(bullzip 打印机和 pdfforge)无法按预期工作。

是否有人知道将 PowerPoint(2010)幻灯片导出为 PNG 图片的简单、免费且可靠的方法,同时可以轻松更改分辨率?

答案1

我刚刚经历了这一切,PowerPoint 对导出分辨率的限制相当荒谬。但是,我通过导出为 PDF 和从 Acrobat 导出为 PNG 来解决这个问题;Acrobat 为您提供了很多导出分辨率选项,这种方法效果很好。这允许您最终获得高质量的 PowerPoint 幻灯片 PNG。

我确信这条路径也能够很好地与 GIMP 这样的免费工具配合使用,因为我相信 GIMP 能够理解 PDF。

答案2

如果您不介意学习一点 VBA,我的 PowerPoint FAQ 网站上有一些示例代码可以解释如何操作:

将幻灯片导出为图形 http://www.pptfaq.com/FAQ00022_Export_slides_as_graphics.htm

小警告:

有些版本不允许您以 > 3072 像素导出

如果你的 PowerPoint 2007 至少没有 Service Pack 1,那么导出的内容将会变得混乱

2007 和 2010 的一些版本,如果导出超过 3000 像素左右,会在右侧和顶部/底部产生奇数线条。坚持使用 3000 像素,应该没问题。

Sub ExportMe()
    Dim ExportPath As String 
    Dim Pixwidth As Integer, Pixheight As Integer
    Dim oSlide As Slide

    ' Edit to suit. Set whatever value you like here
    Pixwidth = 1024

    ' Set height proportional to slide height
    Pixheight = (Pixwidth * ActivePresentation.PageSetup.Slideheight) / ActivePresentation.PageSetup.Slidewidth
    ExportPath = ActivePresentation.Path & "\"
    Set oSlide = ActiveWindow.View.Slide
    With oSlide
        .Export ExportPath & "Slide" & CStr(.SlideIndex) & ".JPG", "JPG", Pixwidth, Pixheight
    End With
End Sub

答案3

[如果非超级用户(比如我)来到这里,这很容易;请参阅下面的附录]

根据 Steve Rindsberg 提供的上述答案(非常感谢!),以下代码在3840 像素宽度(即标准 4K 分辨率的宽度)针对当前 PPTX 文件中的所有幻灯片。例如,这对于屏幕海报演示的图像输出或科学图表的补充图像输出非常理想。我一直很疯狂(PDF 打印和导出、PNG 导出,包括第三方插件,所有这些都以糟糕的位图输出分辨率进行),直到我遇到了史蒂夫的代码。针对 Office 2021 进行了测试。

Sub ExportMe()
    Dim ExportPath As String
    Dim Pixwidth As Integer, Pixheight As Integer
    Dim oSlide As Slide

    ' Edit to suit. Set whatever value you like here
    Pixwidth = 3840

    ' Set height proportional to slide height
    Pixheight = (Pixwidth * ActivePresentation.PageSetup.SlideHeight) / ActivePresentation.PageSetup.SlideWidth
    ExportPath = ActivePresentation.Path & "\"
    For i = 1 To ActivePresentation.Slides.Count
        Set oSlide = ActivePresentation.Slides(i)
        With oSlide
            .Export ExportPath & "Slide" & CStr(.SlideIndex) & ".PNG", "PNG", Pixwidth, Pixheight
        End With
    Next
End Sub

[对于像我这样的业余爱好者:在 PowerPoint 中按 <Alt>+<F11> 进入 VBA 编辑器,然后在左侧右键单击“VBAProject(文件名)”或“模块”,在上下文菜单中选择“插入>模块”,然后将上面的代码粘贴到新创建的“Module1(代码)”窗口中。按 F5(或单击“播放”按钮)运行宏,并在文件目录中检查是否已创建 PNG。要使用宏保存文件,请将其另存为 .PPTM 格式。]

答案4

仅提出一个可以提供帮助的计划:

图像魔法

您需要将幻灯片导出为 PNG 或 JPEG。之后,您可以使用上述程序批量转换/更改它们的分辨率。

相关内容