我使用下面的powershell将PPT保存为PDF格式
$app = New-Object -ComObject powerpoint.application
$presentation = $app.Presentations.open($FileName,-1,$null,0) #Open filename, boolReadOnly -1 = MSOTrue, boolOpenUntitled, boolWithWindow 0 = MSOFalse
$presentation.SaveAs(($outFile).Value,32) #ppSaveAsPDF
[Void]$Presentation.Close()
[Void]$app.Quit()
[Void][System.Runtime.Interopservices.Marshal]::ReleaseComObject($app)它确实没有问题地保存文件,但是它生成的一些文件有点大。我看了一看,在powerpoint中,当保存为PDF时,可以选择使用最小大小:

工具中也有更改图像压缩的选项:

默认情况下,是否有方法为powerpoint设置这些变量?更好的方法是在saveas命令中设置它?
我还在使用以下命令行的GhostScript方面取得了一些进展:
"C:\Program Files\gs\gs9.21\bin\gswin64.exe" -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=Outfile.pdf Infile.pdf但我真的很想避免安装幽灵脚本。这能用DLL什么的吗?
发布于 2018-06-22 15:35:56
您将希望使用PowerPoint的ExportAsFixedFormat方法而不是SaveAs。它让你对结果有了更多的控制。这篇MSDN文章描述了所有的parms:
你会感兴趣的主要原因是意图。
您提到的压缩选项控制PPT在将文件保存为PPTX时压缩了多少图像,但这肯定会(如果间接地)影响从PPTX创建的PDF的大小。除了调整注册表之外,没有其他方法可以控制压缩设置,为了使其工作,您必须在启动PPT之前做到这一点。
尝试将压缩设置为您的口味,然后在这里检查:
HKEY_CURRENT_USER\Software\Microsoft\Office\X.0\PowerPoint\Options
(2010年办公室X= 14,2013年15,2016年16 )
寻找一个名为AutomaticPictureCompressionDefault的DWORD;我认为这将控制压缩级别。
如果您正在使用的演示文稿已经添加了图片,并且至少保存了一次,则更改压缩级别可能不会产生进一步的效果。
https://stackoverflow.com/questions/50956538
复制相似问题