Linux环境Aspose.PDF转HTML报RuntimeError(ArgumentNullException)求助
Aspose.PDF for Python Linux环境PDF转HTML报ArgumentNullException错误
问题详情
已通过pip3 install aspose-pdf安装Aspose.PDF,Windows系统Python 3.8-3.10环境下运行正常,但在Ubuntu 20.04、CentOS 7、RedHat的同版本Python环境中,执行代码时抛出错误:RuntimeError: Proxy error(ArgumentNullException): Value cannot be null. (Parameter ‘key’)
所有Linux机器均为全新安装。
源代码
import aspose.pdf as pdf doc = pdf.Document("input.pdf") saveOptions = pdf.HtmlSaveOptions() doc.save("output.html", saveOptions)
系统信息
- 操作系统:Ubuntu 20.04、CentOS 7
- Python版本:3.8、3.9、3.10
- Aspose.PDF版本:23.3.0(Python via .Net)
解决方案
1. 安装依赖的.NET Runtime
Aspose.PDF for Python基于.NET构建,Linux系统默认未预装.NET Runtime,需安装.NET 6.0或更高版本:
Ubuntu 20.04
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb sudo apt update && sudo apt install -y dotnet-runtime-6.0
CentOS 7
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm sudo yum install -y dotnet-runtime-6.0
2. 安装基础字体包
全新Linux系统缺少常用字体,Aspose.PDF转换时需要字体渲染支持,安装基础字体:
Ubuntu
sudo apt install -y fonts-freefont-ttf fonts-dejavu-core
CentOS 7
sudo yum install -y dejavu-sans-fonts
3. 检查文件路径与权限
- 确保
input.pdf存在于当前工作目录,或使用绝对路径指定文件位置 - 确认当前用户对输出目录拥有写入权限,避免权限不足导致的隐性错误
4. 升级Aspose.PDF到最新版本
旧版本可能存在Linux环境兼容性问题,尝试升级:
pip3 install --upgrade aspose-pdf
5. 配置HtmlSaveOptions字体嵌入参数
若仍有问题,可强制设置字体嵌入模式,避免字体查找失败:
import aspose.pdf as pdf doc = pdf.Document("input.pdf") saveOptions = pdf.HtmlSaveOptions() saveOptions.fonts_mode = pdf.HtmlSaveOptions.FontsMode.EMBED_INTO_SINGLE_FILE doc.save("output.html", saveOptions)
内容的提问来源于stack exchange,提问作者Shahedul Islam
相关产品推荐
相关产品推荐

