如何使用 ChatGPT 和 .NET 自动化 PDF 内容总结

如何使用 ChatGPT 和 .NET 自动化 PDF 内容总结

在此指南中,您将学习如何使用 .NET 的 Aspose.PDF 插件从 PDF 文件中提取文本,将内容发送到 OpenAI 的 ChatGPT,并将简短的 AI 创建的摘要 - 完全编程。

原則

  • Aspose.PDF.Plugin 通过 NuGet 安装
  • OpenAI API 访问和密钥(或 Azure OpenAI 服务)
  • .NET 6+ 项目
  • 网上访问 ChatGPT 请求

1、从PDF中提取文本

使用 Aspose.PDF.Plugin 的 TextExtractor 从 PDF 内容中提取文本用于人工智能处理。

using Aspose.Pdf.Plugins;

string inputPath = @"C:\Docs\sample.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions();
options.AddInput(new FileDataSource(inputPath));
var resultContainer = extractor.Process(options);
string textContent = resultContainer.ResultCollection[0].ToString();

2. 向 ChatGPT 发送内容

将提取的文本发送到 ChatGPT 进行总结(使用 HttpClient 以使用 API 密钥和快速呼叫 OpenAI API。

using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using Newtonsoft.Json;

string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Summarize the following PDF content in 5 bullet points:\n{textContent}";

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
var requestBody = new
{
    model = "gpt-3.5-turbo",
    messages = new[]
    {
        new { role = "system", content = "You are a helpful assistant that summarizes PDF content." },
        new { role = "user", content = prompt }
    }
};
string jsonBody = JsonConvert.SerializeObject(requestBody);
var response = await httpClient.PostAsync(
    "https://api.openai.com/v1/chat/completions",
    new StringContent(jsonBody, Encoding.UTF8, "application/json")
);
string responseString = await response.Content.ReadAsStringAsync();
// Parse summary from responseString

3、节省和储蓄 AI 集合

从 ChatGPT 的 API JSON 响应中提取摘要,并按需要存储(例如,在数据库、文件或返回新的 PDF)。

4、错误处理

  • 处理 API 速度限制、网络错误和误解答案。
  • 在发送到AI之前验证提取的文本。
  • 记录所有操作可追踪。

5、安全备忘录

永远不要向云人工智能服务发送保密PDF,除非遵守确认。

经常提出的问题

**Q:我可以总结扫描的PDF吗?**答:只有如果它们是 OCR 的或包含可选择的文本,否则,首先使用OCR 插件。

问:对于秘密文件,这是安全的吗?答:如果您的隐私要求允许,只向 ChatGPT 发送数据,请考虑对敏感内容进行当地处理。

 中文