以全分辨率从 PowerPoint 2019 中提取原始 PNG 图像?

以全分辨率从 PowerPoint 2019 中提取原始 PNG 图像?

在 Powerpoint 2019 中,我尝试获取原始分辨率的嵌入图像。我注意到,如果我单击“另存为图像”,生成的图像将具有非常低的分辨率,远低于添加到幻灯片中的图像文件的分辨率。

例如,我在幻灯片中添加了一个 1180x760 的 PNG。当我后来想将其检索出来供 PowerPoint 之外使用时,它的分辨率只有 542x355。

我知道 PPTX 文件是 ZIP 文件,而且我已检查过,其中包含原始 PNG 文件。解压* Powerpoint 文件后,我在

(ExtractionDirectory)\ppt\media\image11.png

但解压 PPTX 文件并浏览所有图像很麻烦,因为它们没有语义名称;将单张幻灯片保存为新演示文稿,然后查看该文件解压后的内容可能会稍微快一些,但不会快很多。

有没有更好的选择可以直接从 GUI 获取原始文件?

如果可以恢复原始文件名,则可以获得加分。


还可以获得重新编码的全分辨率图像,方法是使用“高保真”图像压缩选项将幻灯片导出为 PDF,然后使用提取图像pdfimages,但在此过程中可能会丢失可能的优化(例如手动优化的压缩)。


* 可以使用 Windows 开发板工具通过创建 PPTX 文件的副本并将文件扩展名从 更改为 来完成.pptx解压.zip

答案1

要以全分辨率保存图像(与原始插入的文件相同):

右键单击图像并选择Save as Picture...

演示图片

单击旁边的箭头Save并选择Save Original Picture

在此处输入图片描述

答案2

在 Windows 上,你可以将 pptx 拖放到 cmd 文件上,或将其添加到 sendto 进行右键单击,这样我们就有了一个带有高分辨率 PNG 的 PptX

在此处输入图片描述

pptEX.cmd <filename>(或者拖放或发送到此 cmd,您可以对 docX 或 xlsX 或其他 zip 格式执行类似操作)

@echo off
if "%~x1" neq ".pptx" echo not a pptx &goto exit
echo/  &echo   Looking for images in "%~dpn1.pptx" &echo/
tar -tf  "%~dpn1.pptx" "ppt/media/*"
if %errorlevel% == 1 echo/ &echo   There was a problem or no image to be found &goto exit
if %errorlevel% == 0 echo/ &echo   Media File(s) should be extractable do you want me to continue
CHOICE /C YN /M "- Press Y for Yes, N for No"
if %errorlevel% == 2 echo Canceled &goto exit
if %errorlevel% == 1 (
if not exist "%~dpn1\ppt" md "%~dpn1\ppt"
cd /d "%~dpn1"
tar -mxf  "%~dpn1.pptx" "ppt/media/*"
dir "%~dpn1\ppt\media\*.*" | more +2
cd /d "%~dp0"
)
:exit
pause&&exit /b

结果是
在此处输入图片描述 在此处输入图片描述

答案3

如果使用 PowerPoint 的网络版本,您可以另存为 ODP,在 Libre Office 中打开,然后使用与上面类似的“保存...”。

它甚至会提示您想要原版还是修改版。

相关内容