Project

PSWriteOffice

PowerShell document automation across OfficeIMO's document, spreadsheet, presentation, PDF, Project, Access, EPUB, invoicing, and conversion engines.

Stars 654
Forks 82
Open issues 1
Total downloads 4,320,051
Release OfficeIMO-v3.5.3
Language: C# Updated: 2026-11-03
Cmdlet

ConvertTo-OfficePdfOptimized

Module
PSWriteOffice
Inputs
System.String
Outputs
System.IO.FileInfo OfficeIMO.Pdf.PdfOptimizationActionResult

Applies lossless PDF optimization actions and writes a new PDF.

Syntax

ConvertTo-OfficePdfOptimized
[-AllowLarger]
[-IgnorePermissionRestrictions]
[-KeepDuplicateStreams]
[-KeepUnreferencedObjects]
[-MinimumStreamCompressionBytes <Int32>]
[-NoCompressStreams]
[-OutputPath] <String>
[-PassThruReport]
[-Password <String>]
[-Path] <String>
[<CommonParameters>]
#
Parameter set: All Parameter Sets

Examples

Optimize a PDF with lossless stream compression.

ConvertTo-OfficePdfOptimized -Path .\Report.pdf -OutputPath .\Report-Optimized.pdf

Writes a smaller PDF when safe lossless optimization actions can reduce the file size.

Parameters

-AllowLarger SwitchParameter optional
Write the optimized candidate even when it is not smaller than the source PDF.
-IgnorePermissionRestrictions SwitchParameter optional
After successful password authentication, explicitly ignore owner-imposed modification restrictions.
-KeepDuplicateStreams SwitchParameter optional
Keep byte-identical stream objects instead of rewriting duplicate references to one object.
-KeepUnreferencedObjects SwitchParameter optional
Keep orphaned indirect PDF objects instead of pruning objects unreachable from the catalog.
-MinimumStreamCompressionBytes Int32 optional
Minimum unfiltered stream size considered for compression.
-NoCompressStreams SwitchParameter optional
Skip Flate compression of unfiltered streams.
-OutputPath String requiredposition: 1
Output PDF path.
-PassThruReport SwitchParameter optional
Return the optimization action report instead of the output file.
-Password String optional
Password used to authenticate an encrypted PDF.
-Path String requiredposition: 0pipeline: True (ByValue)aliases: FilePath
Input PDF path.

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.