如何将 Powerpoint 文件中嵌入的多个 PNG 转换为 JPEG? - 按大小过滤 PNG

如何将 Powerpoint 文件中嵌入的多个 PNG 转换为 JPEG? - 按大小过滤 PNG

此 Powershell 脚本“如何将 Powerpoint 文件中嵌入的多个 PNG 转换为 JPEG??效果很好,但是:我的 PPT 中也有很多 PNG,它们非常小,并且具有透明背景。这些 PNG 会丢失为 jpg(不再透明,但转换后背景会变成黑色)。对我来说最好的解决方案是:仅转换大于 100 kB 的 png。由于我不明白如何更改喜欢的脚本,有人可以帮助我吗?提前谢谢。

备注:效果很好,我的测试 PPT 减少了大约 100 MB :-)

答案1

在没有亲自测试的情况下,我认为在 PowerShell 脚本中更改以下行:

$zip.Entries | ? {$_.FullName -like 'ppt/media/*.png'} | % {

改为:

$zip.Entries | ? {$_.FullName -like 'ppt/media/*.png' -And $_.Length -gt 100000} | % {

将有助于将循环限制为未压缩大小大于 100000 字节的条目。

参考 : ZipArchiveEntry 类

相关内容