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

使用iText7 Core Community生成PDF时持续出现空引用异常

解决iText7创建PDF时的NullReferenceException异常
  • 修复文件路径转义错误
    C#字符串里的\是转义字符,直接写"C:\Users\..."会让路径解析失效,导致FileInfo无法获取有效路径,进而引发PdfWriter初始化失败。可以用两种方式修正:

    1. 用双反斜杠替代单斜杠:
    FileInfo dest = new FileInfo("C:\\Users\\Utente\\OneDrive\\Desktop\\titlepage_17886.pdf");
    
    1. 给字符串加@前缀,让它成为逐字字符串:
    FileInfo dest = new FileInfo(@"C:\Users\Utente\OneDrive\Desktop\titlepage_17886.pdf");
    
  • 检查目标目录的写入权限
    确认程序对PDF保存目录有写入权限,比如Windows系统的桌面目录通常没问题,但如果是受保护的系统目录(如Program Files),需要以管理员身份运行程序,或者换一个普通用户可写入的目录测试。

  • 验证iText7依赖包完整性
    确保已通过NuGet正确安装iText.Kernel和iText.Layout包,缺失核心依赖会导致对象初始化失败,触发空引用异常。可以在NuGet包管理器中检查版本,重新安装最新稳定版。

  • 优化资源管理逻辑
    改用using语句自动管理资源,避免手动调用Close可能出现的资源泄漏问题,同时确保对象正确初始化:

    using iText.Kernel.Pdf;
    using iText.Layout;
    using iText.Layout.Element;
    using System.IO;
    
    string destPath = @"C:\Users\Utente\OneDrive\Desktop\titlepage_17886.pdf";
    using (var writer = new PdfWriter(destPath))
    using (var pdf = new PdfDocument(writer))
    using (var document = new Document(pdf))
    {
        document.Add(new Paragraph("Hello World!"));
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:15:13