Powershell大规模重命名 - 移动PDF?

时间:2014-05-09 20:12:51

标签: pdf powershell filenames

我希望创建一个带有任务计划程序的自动化Powershell脚本,对自动生成的PDF进行大规模重命名,然后将它们保存到第二个文件夹中。原始名称无关紧要,但通常采用0013238974.pdf格式。每个都需要根据文件中包含的文本重命名。例如:

TEXT TEXT TEXT 

$ACCT_ID

TEXT TEXT TEXT

因此,文件的新名称必须是$ ACCT_ID.pdf,然后保存在新目的地中。我对此举没有任何问题,这只是一个简单的

Get-ChildItem -Path C:\Original\PDF\Generation\Folder -Include *.pdf -Recurse |
copy-item -destination C:\The\Folder\I\Need\Them\In

但是,当我从已经生成的PDF中提取信息并将重命名的版本保存为$ ACCT_ID.pdf时,我感到很难过。

我考虑通过单独的PDF打印命令而不是打开/重新打印来运行它,但这并不能解决我的$ ACCT_ID提取问题。

感谢您对此有任何见解。

1 个答案:

答案 0 :(得分:0)

在PowerShell中读取PDF文件没有任何内置功能,所以最好的办法是使用第三方.NET组件。有几个商业和至少一些免费的开源替代品。

以下是使用iTextSharp阅读PDF的几行示例代码:

Add-Type -Path .\itextsharp.dll
$pdfReader = New-Object iTextSharp.text.pdf.PdfReader("C:\file.pdf")
$textFromFirstPage = [iTextSharp.text.pdf.parser.PdfTextExtractor]::GetTextFromPage($pdfReader, 1)
$pdfReader.Dispose()

如何查找帐户ID当然取决于文件的文字。