跳至页脚内容
产品比较

在ASP.NET中创建PDF:iTextSharp对比IronPDF

处理大量PDF、报告、合同、案件文件、手册的组织花费大量员工时间阅读文件以找到重要信息。 两项AI功能改变了这些工作量:一次性摘要让人们无需阅读即可对文件进行分类,和自然语言查询,对内容的自然语言问题提供答案。 IronPDF通过其AI扩展为.NET应用程序添加了这两项功能,该扩展基于Microsoft Semantic Kernel构建,并由Azure OpenAI支持。

业务问题

支持代理需要从产品文档中找到隐藏的答案。 分析师希望从一份60页的报告中提取关键数据。 法务审查员需检查长篇合同中的特定条款。 从头到尾阅读每个文档无法扩展。 目标是在导入时进行总结,并让人们用简单的语言提问。

解决方案

Query。 在用Azure终端和内存存储配置了Semantic Kernel后,总结文档只需一次调用。

using IronPdf;
using IronPdf.AI;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Memory;

var builder = Kernel.CreateBuilder()
    .AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
    .AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey);
var kernel = builder.Build();

var memory = new MemoryBuilder()
    .WithMemoryStore(new VolatileMemoryStore())
    .WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
    .Build();

IronDocumentAI.Initialize(kernel, memory);

PdfDocument pdf = PdfDocument.FromFile("report.pdf");
string summary = await pdf.Summarize();
using IronPdf;
using IronPdf.AI;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Memory;

var builder = Kernel.CreateBuilder()
    .AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
    .AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey);
var kernel = builder.Build();

var memory = new MemoryBuilder()
    .WithMemoryStore(new VolatileMemoryStore())
    .WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey)
    .Build();

IronDocumentAI.Initialize(kernel, memory);

PdfDocument pdf = PdfDocument.FromFile("report.pdf");
string summary = await pdf.Summarize();
Imports IronPdf
Imports IronPdf.AI
Imports Microsoft.SemanticKernel
Imports Microsoft.SemanticKernel.Memory

Dim builder = Kernel.CreateBuilder() _
    .AddAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey) _
    .AddAzureOpenAIChatCompletion("oaichat", azureEndpoint, apiKey)
Dim kernel = builder.Build()

Dim memory = New MemoryBuilder() _
    .WithMemoryStore(New VolatileMemoryStore()) _
    .WithAzureOpenAITextEmbeddingGeneration("oaiembed", azureEndpoint, apiKey) _
    .Build()

IronDocumentAI.Initialize(kernel, memory)

Dim pdf As PdfDocument = PdfDocument.FromFile("report.pdf")
Dim summary As String = Await pdf.Summarize()
$vbLabelText   $csharpLabel

Query方法持有对话上下文,以便后续问题,这是文档聊天机器人、内部知识库或研究工具的基础。 与OCR配对,摘要也适用于扫描文档、复杂多栏布局,以及包含图像和表格的文件。

需要计划的要点

此功能比转换指南需要更多设置,因此一些前提条件很重要:

  • 三个软件包:Microsoft.SemanticKernel.Plugins.Memory。 内存插件支持持续查询。
  • Azure OpenAI后端:文档化的路径需要具有Azure OpenAI Service访问权限的Azure订阅,并配置了终端和密钥。
  • 数据处理:扩展提取文档文本并将其发送到Azure OpenAI终端,因此机密内容离开了本地环境。 在受监管的工作流程中考虑这一点。
  • 根据环境的内存存储:VolatileMemoryStore适合开发,而Chroma、Azure Cognitive Search或Qdrant适合生产持久性。
  • 实验性API:Semantic Kernel引发NoWarn条目以抑制。

结果

通过少量设置,团队可以为.NET应用程序添加自动摘要和与文档聊天的接口,将密集的PDF转变为员工和用户可在几秒钟内查询的内容。 完整的配置详情在OpenAI for PDF指导中。

常见问题解答

IronPDF为.NET应用添加了哪些AI功能?

IronPDF添加了如单次文档总结和对话式查询等AI功能,由Microsoft Semantic Kernel和Azure OpenAI提供支持。

IronPDF如何帮助处理大量PDF的组织?

IronPDF通过提供自动化的摘要和用自然语言查询文档的能力,节省了大量员工在分诊和从PDF中提取信息上的时间。

使用IronPDF AI扩展的先决条件是什么?

您需要三个软件包:IronPdf、IronPdf.Extensions.AI和Microsoft.SemanticKernel.Plugins.Memory,以及一个有OpenAI服务访问权限的Azure订阅。

IronPDF的总结功能可以处理扫描文件吗?

可以,当与OCR配对时,IronPDF的总结功能可以处理扫描文件、复杂的多栏布局以及带有图像和表格的文件。

IronPDF的AI扩展中内存存储的目的是什么?

内存存储通过保留对话上下文进行连续查询,这在创建文档聊天机器人或内部知识库中很有用。

要使用IronPDF的Query方法需要做哪些设置?

您需要使用Azure端点和内存存储配置Microsoft Semantic Kernel,如将VolatileMemoryStore用于开发或用于生产的其他存储。

IronPDF在总结和查询PDF时如何处理数据?

IronPDF提取文档文本并将其发送到Azure OpenAI端点,这意味着机密内容将离开本地环境,在受法规约束的工作流中应考虑这一点。

IronPDF的AI功能可以用于法律文档审查吗?

可以,IronPDF的AI功能可以快速总结并允许查询合同等文件,帮助法律审查员高效查找特定条款。

开发者在使用Semantic Kernel API时需要注意什么?

Semantic Kernel API是实验性的,可能会出现SKEXP构建警告,可以通过在csproj文件中添加NoWarn条目来抑制这些警告。

IronPDF文档查询功能的实际应用是什么?

IronPDF文档查询功能可以用于创建内部知识库或研究工具,允许用户从文档内容中提问并获得上下文感知的答案。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我