You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pdf2md转换PDF为MD时土耳其语输出异常问题求助

使用pdf2md转换PDF为MD时土耳其语输出异常问题

问题现象

用pdf2md库把PDF转成MD文件时,土耳其语输出出现异常,且不同文档表现不一:部分文档转换后土耳其语显示正常,另一部分则出现乱码或显示错误。

转换日志

正常文档(example-normal.pdf)转换日志

Warning: fetchStandardFontData: failed to fetch file "FoxitSans.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSans.pfb". Writing to example-normal.md... Done.

异常文档(example-withe-error.pdf)转换日志

Warning: fetchStandardFontData: failed to fetch file "FoxitSerifBold.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSerifBold.pfb". Warning: fetchStandardFontData: failed to fetch file "FoxitSerifBoldItalic.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSerifBoldItalic.pfb". Warning: fetchStandardFontData: failed to fetch file "FoxitSerif.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSerif.pfb". Warning: fetchStandardFontData: failed to fetch file "FoxitSansBoldItalic.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSansBoldItalic.pfb". Warning: fetchStandardFontData: failed to fetch file "FoxitSerifItalic.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSerifItalic.pfb". Warning: fetchStandardFontData: failed to fetch file "FoxitSans.pfb" with "UnknownErrorException: Unable to load font data at: C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fontsFoxitSans.pfb". Writing to example-withe-error.md... Done.

原因分析与解决建议

  1. 字体缺失导致编码解析失败:日志里反复出现无法加载Foxit系列字体的警告,异常文档用到的Foxit字体种类更多。pdf2md依赖的pdfjs-dist库找不到这些字体文件,就没法正确解析土耳其语的特殊字符(比如ğ、ş、ı等),进而出现输出异常。
  2. 路径拼接错误:注意到日志里的字体路径少了分隔符(比如standard_fontsFoxitSans.pfb应该是standard_fonts/FoxitSans.pfb),这大概率是pdfjs-dist的路径拼接bug,导致系统找不到字体文件。

具体修复步骤

  • 手动补充缺失字体:
    1. 下载对应的Foxit系列字体文件(FoxitSans.pfb、FoxitSerif.pfb等)。
    2. 将字体文件放到C:\Users\lorens\Desktop\pdf-md2\node_modules\pdfjs-dist\standard_fonts\目录下,确保路径分隔符正确。
  • 修复路径拼接逻辑:
    检查pdfjs-dist源码中fetchStandardFontData方法的路径拼接代码,确保Windows系统下的路径分隔符(\)被正确添加,避免路径拼接错误。
  • 替换字体映射:
    在pdf2md或pdfjs-dist的配置里,把缺失的Foxit字体映射到系统已有的支持土耳其语的字体(比如Arial Unicode MS),强制用替代字体解析文档内容。

内容的提问来源于stack exchange,提问作者lorens osman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:37:33