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

Join-OfficePdf

Module
PSWriteOffice
Inputs
None
Outputs
System.IO.FileInfo OfficeIMO.Pdf.PdfMergeReport

Joins multiple PDF files into a single PDF.

Syntax

Join-OfficePdf
[-FlattenVisualAnnotations]
[-Height <Double>]
[-IgnorePermissionRestrictions]
[-Landscape]
[-OutputPath] <String>
[-PageSize <String>]
[-PassThru]
[-PassThruReport]
[-Password <String[]>]
[-Path] <String[]>
[-ResizeMargin <Double>]
[-ResizeMode <Fit|Fill|Stretch>]
[-Width <Double>]
[<CommonParameters>]
#
Parameter set: All Parameter Sets

Examples

Join two PDFs in order.

$cover = '.\Examples\Documents\Cover.pdf'
$report = '.\Examples\Documents\Report.pdf'
Join-OfficePdf -Path $cover, $report -OutputPath .\Examples\Documents\Combined.pdf -PassThru
Get-OfficePdfInfo -Path .\Examples\Documents\Combined.pdf | Select-Object PageCount

Writes a single PDF containing the input documents in the requested order, then checks the result.

Join encrypted sources and inspect the security decisions.

$result = Join-OfficePdf -Path .\Restricted.pdf, .\Appendix.pdf `
    -Password 'source-password', $null -IgnorePermissionRestrictions `
    -OutputPath .\Combined.pdf -PassThruReport
$result.Sources | Select-Object SourceIndex, PasswordAuthenticationRole, PermissionRestrictionsIgnored
$result.Decisions | Select-Object Structure, Mode, Action

A valid password remains mandatory. The explicit switch ignores usage flags after authentication and the report records every source decision.

Parameters

-FlattenVisualAnnotations SwitchParameter optional
Flatten visual annotation appearances before merging.
-Height Double optional
Custom output page height in points when -PageSize Custom is used.
-IgnorePermissionRestrictions SwitchParameter optional
After successful password authentication, explicitly ignore owner-imposed usage restrictions such as copying or assembly. This does not discover, bypass, or crack a missing password.
-Landscape SwitchParameter optional
Use the landscape orientation of the selected output page size.
-OutputPath String requiredposition: 1
Output PDF path.
-PageSize String optional
Resize each merged page to a known OfficeIMO page size such as A4, Letter, or Custom.
-PassThru SwitchParameter optional
Emit the saved file.
-PassThruReport SwitchParameter optional
Emit the per-source merge inventory, permission decisions, and output security readback.
-Password String[] optional
Passwords used to authenticate encrypted sources. Supply one value for every source, or one value to reuse for all sources.
-Path String[] requiredposition: 0aliases: FilePath
Input PDF paths in output order.
-ResizeMargin Double optional
Margin, in points, reserved around resized page content.
-ResizeMode PdfPageResizeMode optional
How source page content is fitted into the resized output page.
Possible values: Fit, Fill, Stretch
-Width Double optional
Custom output page width in points when -PageSize Custom is used.

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.