gpt4 book ai didi

powershell - 使用PDFTK将PDF分成多页?

转载 作者:行者123 更新时间:2023-12-03 11:24:44 26 4
gpt4 key购买 nike

我很难说出这个问题,也找不到我想做的在线解决方案。

我知道如何使用以下脚本使用PDFTK将大型PDF拆分为单个页面:

pdftk your_file.pdf burst output your_directory/page_%02d.pdf

但是现在我想按每隔一页拆分PDF,以便每个新的PDF具有两(2)页(例如,第1 + 2页在一起,第3 + 4页在一起,第5 + 6页等)。

我知道Acrobat就像冠军一样,但是我需要可以从Powershell执行的东西。

我乐于接受替代方法/解决方法,例如将单个页面合并,并在单个突发后按两个页面将它们合并。

最佳答案

此PowerShell脚本将

  • 使用pdftk获取页数
  • 循环逐步构建范围字符串
  • 使用范围将页面提取到新的pdf中,并将范围附加到基本名称(并存储在同一文件夹中)。

  • 更改前两个变量以适合您的环境。
    ## 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
    }

    编辑后的以处理可变的页面集并正确处理悬垂。
    再次编辑:发现一种更简单的方法来缩短最后一组页面。

    sample 输出
    > .\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

    关于powershell - 使用PDFTK将PDF分成多页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43805726/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com