英文资料OCR踩坑记录

从同学那边接了一个小活,说是要把一个扫描出来的英文PDF文件转成文档保存下来,以便日后用阅读软件朗读出来。

行吧。

调查部分略过。PDF文件放在本用户的下载文件夹($env:USERPROFILE\Downloads)下,文件名为xxx.pdf由于没找到直接读PDF的办法,直接一页一页拆出图片文件就可以了。在此选用Ghostscript。先安装好,然后打开Powershell:

Set-Location $env:USERPROFILE\Downloads
New-Item o -type Directory
& "$env:ProgramW6432\gs\gs9.27\bin\gswin64c.exe" -sDEVICE=pnggray -o o\pic-%d.png xxx.pdf

如此一来,下载文件夹下新建的o文件夹里就堆满了诸如pic-1.png、pic-12.png、pic-134.png这样的图片文件。但是这命名是不是会造成隐患呢?按理说最好前面补零才对。其实Ghostscript自带这样的功能,只是我学艺不精而已ww

继续PowerShell:

Get-ChildItem .\o -File -Filter "*.png"|
Where-Object BaseName -Match "pic-\d{1,3}$" |
ForEach-Object { 
    $res = $_.BaseName -split "(pic-)(\d{1,3})$"
    $newname = "{0}\{1}{2:D3}{3}" -f $_.Directory, $res[1], [int]$res[2], $_.Extension
    Rename-Item $_.FullName $newname
}

这样图片名就变成pic-001.pngpic-012.pngpic-134.png的样子。

至于OCR部分,决定用tesseract搞定。个人爱用Python搞定,调用pyocr来做就没问题。pyocr的文档很友好,改一改再跑就可以了。在此就不放自己的py脚本了。

InSb

InSb

只是跟工作和生活相关的记录