Powershell 每页拆分PDF Split PDF In Page

参考资料:https://stackoverflow.com/questions/18762007/split-pdf-into-multiple-pdfs-using-itextsharp

参考是基于Vb.net, 本文改为Powershell

吐槽:老外是真的狗,明明人家都问怎么只拆分前8页,拆分步骤都有了,但是下面的答案几乎各种乱七八糟。。。,其实加个判断PDF是否多于8页,如果多于8页,循环就拆前8页就好,如果少于8页,全拆就好了。

直接上代码:

[void][System.Reflection.Assembly]::LoadFile("C:\Users\XX\Desktop\pdfT\itextsharp.dll");

$pdfReader = [iTextSharp.text.pdf.PdfReader]::new("C:\Users\jtang20\Desktop\pdfT\XXX.pdf");

for($i = 1; $i -le $pdfReader.NumberOfPages; $i++){

    $sourceDocument = [iTextSharp.text.Document]::new();

    # 拆分的名字

    $sSplitFilePath = "C:\Users\XX\Desktop\pdfT\wm\XXX" + $i.ToString() + ".pdf";

    $pdfCopyProvider = [iTextSharp.text.pdf.PdfCopy]::new($sourceDocument,[System.IO.FileStream]::new($sSplitFilePath, [System.IO.FileMode]::Create))   

    $r = $sourceDocument.Open();

    $importedPage = $pdfCopyProvider.GetImportedPage($pdfReader, $i);

    $pdfCopyProvider.AddPage($importedPage);

    $sourceDocument.close();$sourceDocument = $null;

}

$pdfReader.Close();$pdfReader = $null;

你可能感兴趣的:(Powershell 每页拆分PDF Split PDF In Page)