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

Aspose.Pdf(Python via .NET)在Linux转PDF为HTML触发NullReferenceException

解决Aspose.Pdf在Linux环境PDF转HTML时的NullReferenceException错误

问题背景

使用Aspose.Pdf 23.5.0(Python via .NET)实现PDF转HTML,Windows Python3.8环境运行正常,但在Ubuntu 20.04.3、CentOS 7的Python3.8.10环境中执行代码时抛出Proxy error(NullReferenceException): Object reference not set to an instance of an object.错误,代码如下:

import aspose.pdf as pdf

doc = pdf.Document("input.pdf")
saveOptions = pdf.HtmlSaveOptions()
doc.save("output.html", saveOptions)

解决方案

1. 安装.NET Runtime依赖

Aspose.Pdf for Python基于.NET构建,Linux环境必须安装对应版本的.NET Runtime:

  • Ubuntu 20.04:
    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系统路径区分大小写,需确保:

  • input.pdf路径正确,建议使用绝对路径避免歧义
  • 当前用户对输入文件有读取权限,对输出目录有写入权限

3. 调整HtmlSaveOptions配置

部分默认配置在Linux环境下可能触发异常,尝试显式设置关键参数:

import aspose.pdf as pdf

doc = pdf.Document("/absolute/path/to/input.pdf")
saveOptions = pdf.HtmlSaveOptions()
# 禁用分页拆分,避免资源加载异常
saveOptions.split_into_pages = False
# 显式指定资源保存策略
saveOptions.resource_saving_strategy = lambda x: f"resources/{x.resource_file_name}"
doc.save("/absolute/path/to/output.html", saveOptions)

4. 更新Aspose.Pdf到最新版本

23.5.0版本可能存在Linux环境下的已知bug,尝试升级到最新稳定版:

pip3 install --upgrade aspose-pdf

内容的提问来源于stack exchange,提问作者Syarif Hidayat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 00:27:42