Mengubah opsi untuk presentasi.saveas pdf

Saya menggunakan PowerShell berikut untuk menyimpan PPT sebagai 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)

Itu memang menyimpan file tanpa masalah, namun beberapa file yang dihasilkannya agak besar. Saya melihatnya dan di powerpoint ada opsi saat menyimpan ke PDF, untuk menggunakan ukuran minimum: < img src="https://i.stack.imgur.com/tuPQ2.png" alt="Ukuran minimum"> Ada juga opsi di Alat untuk mengubah kompresi gambar: Kompres gambar< /a>

Apakah ada cara untuk mengatur variabel-variabel ini untuk powerpoint secara default? Lebih baik lagi, cara untuk mengatur ini di perintah saveas?

Saya juga beruntung dengan GhostScript menggunakan baris perintah berikut:

"C:\Program Files\gs\gs9.21\bin\gswin64.exe" -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=Outfile.pdf Infile.pdf

Tapi saya benar-benar ingin menghindari pemasangan ghostscript. Bisakah ini dilakukan menggunakan DLL atau semacamnya?


person Xanderu    schedule 20.06.2018    source sumber
comment
Jika ini untuk aplikasi open source Anda sendiri, Anda dapat menggunakan Ghostscript DLL, asalkan Anda mematuhi lisensinya. Contoh Ghostscript yang dapat dieksekusi hanya menggunakan DLL saja.   -  person KenS    schedule 21.06.2018
comment
Sepertinya GhostScriptSharp mungkin berhasil, tetapi saya kesulitan untuk menginstalnya dan berfungsi...   -  person Xanderu    schedule 21.06.2018


Jawaban (1)


Anda sebaiknya menggunakan metode EksporAsFixedFormat PowerPoint daripada SaveAs. Ini memberi Anda kontrol lebih besar atas hasilnya. Artikel MSDN ini menjelaskan semua parm:

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

Yang utama yang Anda minati adalah Intent.

Opsi kompresi yang Anda sebutkan mengontrol seberapa banyak (dan apakah) PPT mengompresi gambar saat menyimpan file sebagai PPTX, tetapi hal itu tentu saja (jika secara tidak langsung) dapat memengaruhi ukuran PDF yang dibuat dari PPTX. Tidak ada cara untuk mengontrol pengaturan kompresi selain dengan mengubah registri, dan agar itu berfungsi, Anda harus melakukannya sebelum memulai PPT.

Coba atur kompresinya sesuai selera, lalu cek di sini:

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

(di mana X = 14 untuk Office 2010, 15 untuk 2013, 16 untuk 2016)

Cari DWORD bernama AutomaticPictureCompressionDefault; Saya rasa itulah yang akan mengontrol tingkat kompresi.

Jika presentasi yang sedang Anda kerjakan sudah memiliki gambar yang ditambahkan dan telah disimpan setidaknya sekali, mengubah tingkat kompresi mungkin tidak akan berpengaruh lebih lanjut.

person Steve Rindsberg    schedule 22.06.2018