pdftotext.exe处理含非ASCII字符文件路径时无法打开文件的问题
问题原因
pdftotext属于Xpdf工具套件,原生Windows版本默认以ANSI编码解析命令行输入的路径参数,无法识别包含非ASCII字符的Unicode路径,就会出现路径解析错误无法读取文件的问题。
解决方法
方法1:切换工作目录避开非ASCII路径参数
不需要修改任何系统设置或工具版本,操作最简单:
先通过cd命令切换到PDF所在的文件夹,再调用pdftotext只传文件名即可:cd /d D:\Fołder pdftotext.exe File.pdf执行后生成的TXT文件会直接保存在当前目录下。
方法2:使用Windows 8.3短路径代替完整长路径
对需要写脚本批量处理的场景适用,先查询对应目录/文件的短文件名:
执行dir /x D:\就能看到Fołder对应的8.3格式短名称,一般是类似FO~1的格式,替换路径里的长名称即可:pdftotext.exe D:\FO~1\File.pdf方法3:升级Xpdf到4.0及以上版本
Xpdf从4.0版本开始新增了Windows平台下的Unicode命令行支持,安装新版后直接执行原本带非ASCII路径的命令即可正常运行。方法4:开启系统全局UTF-8编码支持
打开Windows控制面板→区域→管理选项卡→更改系统区域设置,勾选「Beta 版:使用 Unicode UTF-8 提供全球语言支持」,重启电脑后pdftotext就能正常识别UTF-8编码的路径参数。注意该设置会影响所有依赖系统编码的旧版软件,可能出现乱码问题,确认无影响再使用。
内容的提问来源于stack exchange,提问作者Przemek
相关产品推荐
相关产品推荐

