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

iText7哪个版本兼容.NET6?安装7.2.3后出现类型找不到错误求解决

.NET 6 中 iText7 7.2.3 找不到类的解决方案

你的问题核心是iText7对API做了彻底重构,你引用的PdfPTable、PdfPCell等类都是iText5/iTextSharp中的旧API,在iText7里已被替换,以下是具体解决步骤:

1. 替换旧类为iText7对应API

直接替换这些找不到的类:

  • PdfPTable → Table(命名空间:iText.Layout.Element)
  • PdfPCell → Cell(命名空间:iText.Layout.Element)
  • FontFactory → PdfFontFactory(命名空间:iText.IO.Font)
  • DocumentException → PdfException(命名空间:iText.Kernel.Exceptions)
  • BaseFont → PdfFont(命名空间:iText.Kernel.Font)
  • Phrase → Paragraph 或 Text(命名空间:iText.Layout.Element)
  • BaseColor → Color(命名空间:iText.Kernel.Colors)

2. 确认NuGet包安装

确保安装的是iText7官方核心包:

Install-Package itext7 -Version 7.2.3

若需处理中文字体,额外安装:

Install-Package itext7.font-asian -Version 7.2.3

3. 更新命名空间引用

替换代码中的旧命名空间:

  • 移除iTextSharp.text、iTextSharp.text.pdf等旧命名空间
  • 添加iText7核心命名空间:
    using iText.Kernel.Pdf;
    using iText.Layout;
    using iText.Layout.Element;
    using iText.IO.Font;
    using iText.Kernel.Font;
    using iText.Kernel.Colors;
    

示例代码(创建简单表格)

// 创建PDF文档
PdfWriter writer = new PdfWriter("output.pdf");
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf);

// 创建表格(替代PdfPTable)
Table table = new Table(2);
// 添加单元格(替代PdfPCell)
table.AddCell(new Cell().Add(new Paragraph("单元格1")));
table.AddCell(new Cell().Add(new Paragraph("单元格2")));

// 设置字体(替代BaseFont/FontFactory)
PdfFont font = PdfFontFactory.CreateFont("STSongStd-Light", "UniGB-UCS2-H", true);
document.SetFont(font);
document.SetFontColor(Color.BLUE);

document.Add(table);
document.Close();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:45:43