问题Python 中 PDF 转图片一般用的是 pdf2image。有时我们会发现 PDF 转出来的图片都是空白,或者缺失了一些字,具体表现就是一些应该有字的区域是空白。由于某些原因我不能把出现问题的文件放上来,不过大致就是这个情况。主要的代码如下:运行时可能会发现代码没有任何异常,但是结果不对。分析和解决其实 pdf2image 底层默认使用的是 pdftoppm 来转图片,我们可以直接使用其来测试有问题的 PDF,会发现输出了一些警告:除 pdftoppm 外,pdf2image 在两种情况下会使用 pdftocairo 来转图片,当要转成 tif/tiff 格式时当 transparent=True且要转成 很明显是缺失了语言包。而且字缺失,自然而然想到的是字体缺失,即系统中没有 PDF 中的字体。对于中文来说,Noto CJK 字体可以覆盖所有的字,可以尝试下载安装此字体,有些系统可能自带。
暂无评论