Oat*_*oat 5 pdf powershell merge split pdftk
我发现很难说出这个问题而无法找到我正在尝试做的事情的在线解决方案.
我知道如何使用以下脚本使用PDFTK将大型PDF拆分为单个页面:
pdftk your_file.pdf burst output your_directory/page_%02d.pdf
Run Code Online (Sandbox Code Playgroud)
但现在我希望每次到PDF拆分其他页面,让每一个新的PDF有两个(2)页面(例如网页1 + 2在一起,3 + 4页一起,5 + 6等).
我知道Acrobat会像冠军那样做,但我需要一些我可以从Powershell执行的东西.
我对替代方案/解决方法持开放态度,比如单个页面并在单次爆发后将它们组合成两个.
小智 7
这个PowerShell脚本会
更改前两个变量以适合您的环境.
## Q:\Test\2017\05\06\Split-Pdf.ps1
$pdfPath = 'Q:\Test\2017\05\06\'
$pdfFile = Join-Path $pdfPath "test.pdf"
$SetsOfPages = 3
$Match = 'NumberOfPages: (\d+)'
$NumberOfPages = [regex]::match((pdftk $pdfFile dump_data),$Match).Groups[1].Value
"{0,2} pages in {1}" -f $NumberOfPages, $pdfFile
for ($Page=1;$Page -le $NumberOfPages;$Page+=$SetsOfPages){
$File = Get-Item $pdfFile
$Range = "{0}-{1}" -f $page,[math]::min($Page+$SetsOfPages-1,$NumberOfPages)
$OutFile = Join-Path $pdfPath ($File.BaseName+"_$Range.pdf")
"processing: {0}" -f $OutFile
pdftk $pdfFile cat $Range output $OutFile
}
Run Code Online (Sandbox Code Playgroud)
编辑使用可变页面集并正确处理悬垂.
再次编辑:找到一种更简单的方法来缩短最后一组页面.
样本输出
> .\Split-Pdf.ps1
10 pages in Q:\Test\2017\05\06\test.pdf
processing: Q:\Test\2017\05\06\test_1-3.pdf
processing: Q:\Test\2017\05\06\test_4-6.pdf
processing: Q:\Test\2017\05\06\test_7-9.pdf
processing: Q:\Test\2017\05\06\test_10-10.pdf
Run Code Online (Sandbox Code Playgroud)