Изменение параметров презентации.сохранить в формате 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 использовать минимальный размер: < img src="https://i.stack.imgur.com/tuPQ2.png" alt="Минимальный размер"> В инструментах также есть параметры для изменения сжатия изображения: Сжатие изображений< /а>

Есть ли способ установить эти переменные для 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 или чего-то еще?


person Xanderu    schedule 20.06.2018    source источник
comment
Если это ваше собственное приложение с открытым исходным кодом, вы можете использовать DLL Ghostscript при условии, что вы придерживаетесь лицензии. Образец исполняемого файла Ghostscript в любом случае просто использует DLL.   -  person KenS    schedule 21.06.2018
comment
Похоже, GhostScriptSharp может помочь, но я изо всех сил пытаюсь установить и запустить его...   -  person Xanderu    schedule 21.06.2018


Ответы (1)


Вы захотите использовать метод ExportAsFixedFormat PowerPoint, а не SaveAs. Это дает вам гораздо больше контроля над результатом. В этой статье MSDN описаны все параметры:

https://msdn.microsoft.com/en-us/VBA/PowerPoint-VBA/articles/presentation-exportasfixedformat-method-powerpoint

Главный из них, который вас заинтересует, — это Intent.

Упомянутые вами параметры сжатия определяют, насколько (и будет ли) PPT сжимать изображения при сохранении файла в формате PPTX, но это, безусловно, может (хотя и косвенно) повлиять на размер PDF-файлов, созданных из PPTX. Нет другого способа контролировать параметры сжатия, кроме как путем настройки реестра, и для того, чтобы это работало, вы должны сделать это до запуска PPT.

Попробуйте установить сжатие на свой вкус, затем проверьте здесь:

HKEY_CURRENT_USER\Software\Microsoft\Office\X.0\PowerPoint\Options

(где X = 14 для Office 2010, 15 для 2013, 16 для 2016)

Найдите параметр DWORD с именем AutomaticPictureCompressionDefault; Я думаю, это то, что будет контролировать уровень сжатия.

Если в презентацию, с которой вы работаете, уже были добавлены изображения и она была сохранена хотя бы один раз, изменение уровня сжатия может не иметь дальнейшего эффекта.

person Steve Rindsberg    schedule 22.06.2018