ฉันใช้ 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 หรืออะไร?