Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Need to install the Dll first
- Add-Type -Path "G:\Uber Reciepts\iTextSharp.5.5.13\lib\itextsharp.dll"
- $pdfs = gci "G:\Uber Reciepts" *.pdf
- $export = "G:\Uber Reciepts\export.csv"
- foreach($pdf in $pdfs) {
- Write-Host "Processing -" $pdf.FullName
- # prepare the pdf
- $reader = New-Object iTextSharp.text.pdf.pdfreader -ArgumentList $pdf.FullName
- # for each page
- for($page = 1; $page -le $reader.NumberOfPages; $page++) {
- # set the page text
- $pageText = [iTextSharp.text.pdf.parser.PdfTextExtractor]::GetTextFromPage($reader,$page).Split([char]0x000A)
- $invoiceDate = $pageText | Select-String -Pattern '.*Invoice Date:\s*([^\n\r]*)' | %{"$($_.matches[0].groups[1].value)"}
- $invoiceNo = $pageText | Select-String -Pattern '.*Invoice Number:\s*([^\n]*)' | %{"$($_.matches[0].groups[1].value)"}
- $gross = $pageText | Select-String -Pattern '.*Gross Amount\s*([^\n]\d+.\d+)' | %{"$($_.matches[0].groups[1].value)"}
- "$invoiceDate,$invoiceNo,$gross" | Out-File -FilePath $export -Append
- }
- $reader.Close()
- }
- Write-Host ""
- Write-Host "Done"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement