我有一个包含数千个PDF文件的文件夹。我需要根据文件名(这些文件将这些文件分组成2个或更多PDF文件)来筛选这些文件,然后将这2个更多的PDF文件合并为一个PDF文件。iTextSharp在PowerShell中合并PDF文件
我很喜欢将文件分组,但不确定将这些文件合并为1 PDF的最佳方式。我研究过iTextSharp,但一直无法使它在PowerShell中工作。
iTextSharp是做这件事的最好方法吗?任何与此代码的帮助将不胜感激。
非常感谢 保罗
我有一个包含数千个PDF文件的文件夹。我需要根据文件名(这些文件将这些文件分组成2个或更多PDF文件)来筛选这些文件,然后将这2个更多的PDF文件合并为一个PDF文件。iTextSharp在PowerShell中合并PDF文件
我很喜欢将文件分组,但不确定将这些文件合并为1 PDF的最佳方式。我研究过iTextSharp,但一直无法使它在PowerShell中工作。
iTextSharp是做这件事的最好方法吗?任何与此代码的帮助将不胜感激。
非常感谢 保罗
见过其中的一些PowerShell的标记问题,这也标有iTextSharp的,并且一直想知道为什么的答案在.NET中给出,它可以是非常除非的人混淆问这个问题是否精通PowerShell开始。总之,这里是一个简单的工作的PowerShell脚本,让你开始:
$workingDirectory = Split-Path -Parent $MyInvocation.MyCommand.Path;
$pdfs = ls $workingDirectory -recurse | where {-not $_.PSIsContainer -and $_.Extension -imatch "^\.pdf$"};
[void] [System.Reflection.Assembly]::LoadFrom(
[System.IO.Path]::Combine($workingDirectory, 'itextsharp.dll')
);
$output = [System.IO.Path]::Combine($workingDirectory, 'output.pdf');
$fileStream = New-Object System.IO.FileStream($output, [System.IO.FileMode]::OpenOrCreate);
$document = New-Object iTextSharp.text.Document;
$pdfCopy = New-Object iTextSharp.text.pdf.PdfCopy($document, $fileStream);
$document.Open();
foreach ($pdf in $pdfs) {
$reader = New-Object iTextSharp.text.pdf.PdfReader($pdf.FullName);
$pdfCopy.AddDocument($reader);
$reader.Dispose();
}
$pdfCopy.Dispose();
$document.Dispose();
$fileStream.Dispose();
测试:
不确定你打算如何根据文件名来筛选PDF,或者如果这是你的意图(无法分辨是否只是通过扩展选择PDF),但这不应该太难加上。
祝你好运。 :)
[这个问题和答案](http://stackoverflow.com/q/32888527/231316)有两个PowerShell与iTextSharp以及合并良好的开端。 –
是的 - 我已经看到了这个问题\答案。看起来像'合并PDF'功能没有工作,并没有得到我的头转换从C#到PowerShell ....... – Paul