Free Trial
Web API version
Licensing
Request A Quote
HAVE QUESTIONS OR NEED HELP? SUBMIT THE SUPPORT REQUEST FORM or write email to SUPPORT@BYTESCOUT.COM
Split PDF Document | Powershell
SplittingExample.bat:
@echo off if "%~1"=="" ( echo ----------------------------------------------------- echo Invalid parameter! echo ----------------------------------------------------- echo Usage: SplittingExample.bat file_name echo Example: SplittingExample.bat "sample.pdf" echo ----------------------------------------------------- if not "%NOPAUSE%"=="1" pause exit /b 1 ) powershell -NoProfile -ExecutionPolicy Bypass -Command "& .\SplittingExample.ps1" "%1" echo Script finished with errorlevel=%errorlevel% pause
SplittingExample.ps1:
#*******************************************************************************************# # # # Download Free Evaluation Version From: https://bytescout.com/download/web-installer # # # # Also available as Web API! Get Your Free API Key: https://app.pdf.co/signup # # # # Copyright © 2017-2020 ByteScout, Inc. All rights reserved. # # https://www.bytescout.com # # https://pdf.co # # # #*******************************************************************************************# # This example demonstrates various PDF document splitting scenarios: # - extract a single page; # - split in two parts; # - split by ranges specified in text form: "1-5,6,7-10,11-". Param ( [Parameter(Mandatory = $true)] [string] $InputFileName = "" ) #Add reference to Bytescout.PDFExtractor.dll assembly Add-Type -Path "C:\Program Files\Bytescout PDF Extractor SDK\net4.00\Bytescout.PDFExtractor.dll" # Check input file exists if ((Test-Path $InputFileName) -eq $false) { Write-Host "Input file does not exist." -ForegroundColor Red Exit 0 } # Create and activate Bytescout.PDFExtractor.DocumentSplitter instance $Splitter = New-Object Bytescout.PDFExtractor.DocumentSplitter $Splitter.RegistrationName = "demo" $Splitter.RegistrationKey = "demo" $Splitter.OptimizeSplittedDocuments = $true try { # Extracting specific page $Splitter.ExtractPage($InputFileName, "page3.pdf", 3) # (!) Note: page number is 1-based. Write-Host "Extracted page 3 to file ""page3.pdf""" # Split in two parts $Splitter.Split($InputFileName, "part1.pdf", "part2.pdf", 3) # (!) Note: page number is 1-based. Write-Host "Splitted at page 3 to files ""part1.pdf"" and ""part2.pdf""" # Split by ranges $Files = $Splitter.Split($InputFileName, "1-3,4-6,7,8-") # (!) Note: page numbers are 1-based; ending "-" means "to the end" Write-Host "Splitted by ranges:" foreach ($OutputFileName in $Files) { Write-Host $OutputFileName } } catch { Write-Host $_.Exception.Message } $Splitter.Dispose()