在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()
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文档查询功能可以用于创建内部知识库或研究工具,允许用户从文档内容中提问并获得上下文感知的答案。

