更改 presentation.saveas pdf 的选项
Changing options for presentation.saveas pdf
我正在使用以下 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
但我真的很想避免安装 ghostscript。这可以使用 DLL 或其他东西来完成吗?
您需要使用 PowerPoint 的 ExportAsFixedFormat 方法而不是 SaveAs。它使您可以更好地控制结果。这篇 MSDN 文章描述了所有参数:
您主要感兴趣的是 Intent。
您提到的压缩选项控制 PPT 在将文件另存为 PPTX 时压缩多少(以及是否)压缩图像,但这肯定(如果间接地)影响从 PPTX 创建的 PDF 的大小。除了通过调整注册表之外,没有其他方法可以控制压缩设置,并且为了使其正常工作,您必须在启动 PPT 之前执行此操作。
尝试根据自己的喜好设置压缩率,然后在此处查看:
HKEY_CURRENT_USER\Software\Microsoft\Office\X.0\PowerPoint\Options
(其中 X = Office 2010 为 14,2013 为 15,2016 为 16)
查找名为 AutomaticPictureCompressionDefault 的 DWORD;我认为这将控制压缩级别。
如果您正在使用的演示文稿已经添加了图片并且至少保存过一次,则更改压缩级别可能不会产生进一步的影响
我正在使用以下 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
但我真的很想避免安装 ghostscript。这可以使用 DLL 或其他东西来完成吗?
您需要使用 PowerPoint 的 ExportAsFixedFormat 方法而不是 SaveAs。它使您可以更好地控制结果。这篇 MSDN 文章描述了所有参数:
您主要感兴趣的是 Intent。
您提到的压缩选项控制 PPT 在将文件另存为 PPTX 时压缩多少(以及是否)压缩图像,但这肯定(如果间接地)影响从 PPTX 创建的 PDF 的大小。除了通过调整注册表之外,没有其他方法可以控制压缩设置,并且为了使其正常工作,您必须在启动 PPT 之前执行此操作。
尝试根据自己的喜好设置压缩率,然后在此处查看:
HKEY_CURRENT_USER\Software\Microsoft\Office\X.0\PowerPoint\Options
(其中 X = Office 2010 为 14,2013 为 15,2016 为 16)
查找名为 AutomaticPictureCompressionDefault 的 DWORD;我认为这将控制压缩级别。
如果您正在使用的演示文稿已经添加了图片并且至少保存过一次,则更改压缩级别可能不会产生进一步的影响