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

Move-OfficePdfPage

Module
PSWriteOffice
Inputs
None
Outputs
System.IO.FileInfo

Moves selected pages before another page and writes a new PDF.

Syntax

Move-OfficePdfPage
-BeforePage <Int32>
[-IgnorePermissionRestrictions]
-OutputPath <String>
-PageRange <String>
[-PassThru]
[-Password <String>]
-Path <String>
[<CommonParameters>]
#
Parameter set: All Parameter Sets

Examples

Move appendix pages to the end.

$proof = @(
    Move-OfficePdfPage -Path .\Examples\Documents\Report.pdf -PageRange '2-3' -BeforePage 6 -OutputPath .\Examples\Documents\Report-Reordered.pdf
    Get-OfficePdfInfo -Path .\Examples\Documents\Report-Reordered.pdf | Select-Object PageCount
)
$proof

Moves selected pages before a target one-based page number and writes a new PDF.

Parameters

-BeforePage Int32 required
One-based page number before which selected pages are inserted. Use page count + 1 to move to the end.
-IgnorePermissionRestrictions SwitchParameter optional
After successful password authentication, explicitly ignore owner-imposed assembly restrictions.
-OutputPath String required
Output PDF path.
-PageRange String required
Page ranges such as 1-3,5.
-PassThru SwitchParameter optional
Emit the object created or changed by the command.
-Password String optional
Password used to authenticate an encrypted PDF.
-Path String requiredaliases: 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.