.NET에서 ChatGPT를 사용하여 PDF 텍스트를 처리하는 방법
이 기사는 Aspose.PDF ChatGPT 플러그인을 사용하여 .NET에서 PDF 작업 흐름을 통합하는 방법을 보여줍니다.You will learn to extract text from PDFs, process it through Chatroulette, and write responses to new or existing PDF files—ideal for document summarization, auto-commenting, or AI-driven content enrichment.
현실 세계 문제
PDF 파일에서 의미있는 인식, 요약 또는 답변을 수동으로 추출하는 것은 시간이 소요됩니다. 개발자는 자동 처리 및 피드백을 위해 ChatGPT와 PDF 콘텐츠를 연결하는 유연한 방법이 필요하며 시간을 절약하고 생산성을 향상시킵니다.
솔루션 검토
Aspose.PDF ChatGPT 플러그인 for .NET은 PDF 콘텐츠를 채팅에 보내고, 완료 또는 요약을 받고, 새로운 PDF로 응답을 저장할 수 있습니다 - 최소한의 코드가 있습니다.이 플러스는 async 작업, 유연한 요청 옵션 및 쉬운 PDF 입력 / 출력 관리 기능을 제공합니다.
원칙
- Visual Studio 2019 또는 이후
- .NET 6.0 또는 이후
- NuGet을 통해 설치된 .NET을 위한 Aspose.PDF
- OpenAI API 키 for ChatGPT
PM> Install-Package Aspose.PDF
단계별 실행
단계 1: 설치 및 설정 Aspose.PDF
필요한 이름 공간을 추가하십시오 :
using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;
단계 2: PDF 텍스트 또는 파일 준비
입력 PDF 및 원하는 출력 PDF 파일을 지정하십시오 :
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
단계 3: ChatGPT 요청 옵션 설정
API 키, 프롬트 및 출력 경로를 설정합니다. PDF에서 텍스트를 수동으로 추출하거나 플러그인이 전체 PDF 파일을 입력으로 사용할 수 있습니다.
using (var plugin = new PdfChatGpt())
{
var options = new PdfChatGptRequestOptions();
options.AddInput(new FileDataSource(inputPdfPath)); // Use full PDF text as message
options.AddOutput(new FileDataSource(outputPdfPath)); // Path for the output PDF
options.ApiKey = "Your-OpenAI-API-Key"; // REQUIRED: Your API key for ChatGPT
options.MaxTokens = 1000; // Limit response size
options.Query = "Summarize the contents of this document."; // Or ask any question about the PDF
또한 사용자 지정 대화 메시지를 추가할 수 있습니다 (시스템/사용자 역할):
options.Messages.Add(new Message
{
Content = "You are a document assistant. Summarize the provided PDF text.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What are the main topics covered in this PDF?",
Role = Role.User
});
단계 4: ChatGPT에 요청을 보내고 결과를 저장합니다.
요청을 비동기적으로 처리하고, 새 PDF 파일 경로와 ChatGPT 응답을 모두 받습니다.
// Process the request and await the result
var result = await plugin.ProcessAsync(options);
var fileResultPath = result.ResultCollection[0].Data; // Path to the output PDF
var chatCompletion = result.ResultCollection[1].Data as ChatCompletion; // ChatGPT API object
// Access the generated response text if needed:
var firstChoice = chatCompletion?.Choices?.FirstOrDefault();
var responseText = firstChoice?.Message?.Content;
Console.WriteLine($"PDF generated at: {fileResultPath}");
Console.WriteLine("ChatGPT response:");
Console.WriteLine(responseText);
}
단계 5 : 오류 처리 및 Async 사용
항상 async 통화를 삽입하고 API / 네트워크 오류를 처리합니다.
try
{
// (Code above)
}
catch (Exception ex)
{
Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}
완전한 실행 예제
using Aspose.Pdf.Plugins;
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
using (var plugin = new PdfChatGpt())
{
var options = new PdfChatGptRequestOptions();
options.AddInput(new FileDataSource(inputPdfPath));
options.AddOutput(new FileDataSource(outputPdfPath));
options.ApiKey = "Your-OpenAI-API-Key";
options.MaxTokens = 1000;
options.Query = "Summarize the content of this PDF document.";
try
{
var result = await plugin.ProcessAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletion = result.ResultCollection[1].Data as ChatCompletion;
var firstChoice = chatCompletion?.Choices?.FirstOrDefault();
var responseText = firstChoice?.Message?.Content;
Console.WriteLine($"PDF generated at: {fileResultPath}");
Console.WriteLine("ChatGPT response:");
Console.WriteLine(responseText);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
}
사례 및 응용 프로그램 사용
PDF 요약 및 AI 생성 코멘트
ChatGPT를 사용하여 계약, 보고서 또는 연구 서류를 자동으로 요약하고 PDF에 응답을 저장합니다.
자동화 Q&A 또는 인사 추출
사용자 지정 촉구를 ChatGPT로 보내 PDF 파일에서 답변, 테이블 또는 키 데이터를 추출합니다.
배치 문서 풍부함
많은 PDF를 처리하기 위해 작업 흐름에 통합하여 채팅 기반 응답이나 자동 메모를 생성합니다.
일반적인 도전과 해결책
도전: API 제한 또는 응답 트러닝
해결책 : 조정 MaxTokens
그리고 Query
최적의 결과를 위해; 필요한 경우 큰 PDF를 조각으로 분할합니다.
도전: 안전한 API 키 관리
솔루션: API 키를 안전하게 저장 (환경 변수, 밸런스) 생산에서 하드 코딩을 피하십시오.
성과 고려 사항
- 배치 PDF는 API 호출을 최소화하기 위해 입력 및 촉진합니다.
- Async 작업 흐름을 사용하여 응답 응용 프로그램을 유지합니다.
- API 비용을 관리하기 위해 토큰 제한을 설정합니다.
모범 사례
- 항상 정확성을 위해 PDF 출력 및 ChatGPT 응답을 확인합니다.
- 목표 결과를 위해 촉진 및 메시지 역할을 사용자 정의합니다.
- API 인증서를 안전하게 관리합니다.
- Async 작업에서 오류를 기록하고 친절하게 처리합니다.
고급 시나리오
- 여러 PDF 또는 즉각적인 변형을 하나의 루프에 사용하십시오.
- 복잡한 맥락이나 작업을 위해 시스템/사용자 메시지를 결합합니다.
- 다운로드 출력 PDF를 다운로드 처리 또는 작업 흐름을 위해.
결론
Aspose.PDF ChatGPT Plugin for .NET은 개발자가 문서 분석, 요약 및 상호 작용하는 PDF 처리를 자동화 할 수있게 해줍니다.CAT GPT의 힘을 사용하여 - 그들의 .Net 응용 프로그램 내에서 직접.