我希望创建一个带有任务计划程序的自动化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提取问题。
感谢您对此有任何见解。
答案 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当然取决于文件的文字。