如何让pdf2image适用于包含中文字符路径的PDF文件?

11 浏览
0 Comments

如何让pdf2image适用于包含中文字符路径的PDF文件?

根据这个问题,我尝试运行以下代码来将包含中文字符路径的PDF转换为图片:\n

from pdf2image import convert_from_path
images = convert_from_path('路径中包含中文字符/某些中文字符.pdf', 500)
# 保存图片

\n我收到了以下错误信息:\n

PDFPageCountError: 无法获取页数。
I/O错误:无法打开文件'路径中包含中文字符/??????.pdf':没有这个文件或目录。

\n其中所有的中文字符都被替换为\"?\"。\n问题的原因仅仅是目录中的中文字符,因为当我确保路径中不包含中文字符后,程序按预期工作。\n在`pdf2image.py`中,我尝试修改`pdfinfo_from_path`函数,将`out.decode(\"utf8\", \"ignore\")`改为例如`out.decode(\"utf32\", \"ignore\")`,但也没有起作用。\n不确定是否相关的是:根据前面提到的答案,我还需要安装poppler。但是当目录不包含任何中文字符时,我的代码也能正常工作。另外,运行此代码`conda install -c conda-forge poppler`(来自上述答案)等待了几个小时后仍未结束。

0
0 Comments

问题原因:pdf2image库无法处理包含中文字符路径的PDF文件。

解决方法:使用convert_from_bytes函数来避免此问题。具体代码如下:

from pdf2image import convert_from_bytes
with open('chinese_filename.pdf', 'rb') as f:
    images = convert_from_bytes(f.read(), 500)

这段代码将以字节形式读取名为'chinese_filename.pdf'的文件,并将其转换为图片。其中,参数500表示图片的分辨率。

这是一个简短的解决方法,可以帮助解决pdf2image库无法处理包含中文字符路径的PDF文件的问题。

0