개발자들은 종종 PDF 콘텐츠를 JSON, XML, 또는 HTML 속성과 같은 텍스트 기반 형식으로 공유하거나 저장해야 합니다. Base64 인코딩은 또한 API를 통해 파일을 전송하거나 데이터베이스에 안전하게 저장하는 데 사용됩니다. 이는 모든 바이트를 보존하면서 이진 PDF 데이터를 일반 텍스트로 표현하는 신뢰할 수 있는 방법을 제공하여 나중에 정확하게 재구성할 수 있도록 합니다. 이 가이드에서는 C#에서 PDF를 Base64로 변환하고 다시 PDF 파일로 디코딩하는 방법을 배울 것입니다.

Aspose.PDF for .NET — C#에서 강력한 PDF를 Base64로 변환기

이 기사에서는 Aspose.PDF for .NET을 사용합니다. 이는 C#에서 PDF 파일을 생성, 읽기, 편집 및 변환하는 강력한 라이브러리입니다. Adobe Acrobat이나 외부 도구가 필요 없이 PDF 내용과 구조에 대한 완전한 제어를 제공합니다. Aspose.PDF를 사용하면 기존 PDF 문서를 쉽게 로드하고 수정하며 보안 설정을 적용하고, Base64로 인코딩된 텍스트를 포함한 다양한 형식으로 내보낼 수 있습니다.

Aspose.PDF for .NET을 releases에서 다운로드하십시오. 또한 다음 명령을 사용하여 NuGet에서 설치할 수도 있습니다:

PM> Install-Package Aspose.PDF

C#에서 PDF를 Base64로 변환하는 방법은 다음과 같습니다.

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string pdfFilePath = "경로/파일이름.pdf";
        string base64String = ConvertPdfToBase64(pdfFilePath);
        Console.WriteLine(base64String);
    }

    static string ConvertPdfToBase64(string filePath)
    {
        byte[] pdfBytes = File.ReadAllBytes(filePath);
        return Convert.ToBase64String(pdfBytes);
    }
}

이 코드를 사용하여 PDF 파일을 Base64 문자열로 변환할 수 있습니다. pdfFilePath 변수를 적절한 파일 경로로 변경하세요.

PDF 파일을 인코딩하기 전에 처리해야 할 경우 메모리에서 직접 Base64로 변환할 수 있습니다. 이 방법을 사용하면 Aspose.Pdf.Document 클래스를 사용하여 PDF를 열고, 필요한 변경을 한 다음 MemoryStream에 저장할 수 있습니다. 마지막으로, 스트림을 API를 통해 쉽게 전송하거나 데이터베이스에 저장할 수 있는 Base64 문자열로 변환할 수 있습니다.

아래 단계를 따라 PDF 파일을 C#에서 base64 문자열로 변환하세요:

  1. Document 클래스를 사용하여 PDF를 로드하십시오.
  2. MemoryStream에 문서를 저장합니다.
  3. 바이트 배열을 Convert.ToBase64String() 메서드를 사용하여 Base64 문자열로 변환합니다.
  4. Use or return the Base64 string.

다음 코드 예제는 PDF를 Base64 문자열로 변환하는 방법을 보여줍니다.

using Aspose.Pdf;
using Aspose.Pdf.Text;

// 1. PDF를 로드하세요.
using var doc = new Document("sample_pdf.pdf");

// Optionally perform edits here, e.g., optimize, redact, secure, etc.

// 2. 메모리에 저장
using var ms = new MemoryStream();
doc.Save(ms);
var bytes = ms.ToArray();

// 3. Base64로 변환하기
var base64 = Convert.ToBase64String(bytes);

Console.WriteLine(base64.Substring(0, Math.Min(base64.Length, 120)) + "...");

PDF의 특정 페이지를 C#에서 Base64로 변환하기

PDF 문서의 일부만 Base64로 변환할 수 있습니다. 예를 들어 문서의 일부인 단일 페이지나 몇 개의 선택한 페이지를 보내야 할 때 유용합니다. 이 접근 방식은 API 또는 기타 텍스트 기반 채널을 통해 데이터를 전송할 때 페이로드 크기를 줄이는 데 도움이 됩니다.

다음 단계를 따라 PDF의 특정 페이지를 Base64 문자열로 변환하세요:

  1. Document 클래스를 사용하여 PDF 파일을 로드하십시오.
  2. 추출된 페이지를 보관하기 위해 새로운 Document 클래스 객체를 생성합니다.
  3. 필요한 페이지를 새 문서로 복사하세요.
  4. MemoryStream에 저장하고 Base64로 인코딩합니다.
using System;
using System.IO;
using Aspose.Pdf;

// 소스 PDF를 파일 경로에서 엽니다.
using var src = new Document("sample_pdf.pdf");

// 선택한 페이지(들)만 포함된 새로운 빈 PDF를 만드세요.
using var sub = new Document();

// 요청된 페이지를 새 문서로 복사하십시오.
sub.Pages.Add(src.Pages[1]);

// 메모리에 한 페이지 PDF를 저장하고 디스크에 저장하지 마십시오.
using var ms = new MemoryStream();
sub.Save(ms);

// 메모리 내 PDF 바이트를 Base64 문자열로 변환하십시오.
var base64 = Convert.ToBase64String(ms.ToArray());

// Base64 텍스트의 짧은 미리보기를 콘솔에 출력합니다.
Console.WriteLine(base64.Substring(0, Math.Min(base64.Length, 120)) + "...");

새 PDF 문서를 만들고 Base64로 변환합니다.

메모리에서 새 PDF를 생성하고 디스크에 접근하지 않고 Base64로 변환할 수 있습니다. 이는 문서를 즉시 생성하고 API를 통해 전송하거나 JSON 또는 HTML에 삽입하거나 데이터베이스에 저장해야 할 때 유용합니다. 이 방법에서는 Aspose.Pdf.Document를 생성하고, 내용을 추가하고, MemoryStream에 저장한 다음, 바이트를 Base64 문자열로 변환합니다.

아래 단계를 따라 새 PDF 문서를 만들고 Base64로 변환하세요:

  1. Document을 생성합니다.
  2. 페이지를 추가하고 TextFragment로 일부 텍스트를 배치하세요.
  3. 문서를 MemoryStream에 저장합니다.
  4. 스트림 바이트를 Base64 문자열로 변환하십시오.
using System;
using System.IO;
using Aspose.Pdf;

// 1. 메모리에 새로운 PDF 문서를 생성하세요.
var pdf = new Document();

// 2. 페이지를 추가하고 샘플 콘텐츠를 작성하세요.
var page = pdf.Pages.Add();
var header = new TextFragment("Hello from Aspose.PDF");
header.TextState.FontSize = 18;
header.TextState.FontStyle = FontStyles.Bold;
page.Paragraphs.Add(header);

var body = new TextFragment("This PDF was generated in memory and then converted to Base64.");
body.TextState.FontSize = 12;
page.Paragraphs.Add(body);

// 3. MemoryStream에 저장하기
using var ms = new MemoryStream();
pdf.Save(ms);
byte[] bytes = ms.ToArray();

// 3. Base64 문자열로 변환
string base64 = Convert.ToBase64String(bytes);

// 5. 선택적으로 브라우저용 데이터 URI를 준비하거나 JSON에 포함하세요.
string dataUri = $"data:application/pdf;base64,{base64}";

// Output for demo purposes
Console.WriteLine("Base64 length: " + base64.Length);
Console.WriteLine("Data URI sample (truncated): " + dataUri.Substring(0, Math.Min(dataUri.Length, 80)) + "...");

Base64를 PDF로 변환하는 C# 코드

응용 프로그램이 클라이언트나 API로부터 인코딩된 데이터를 수신할 때, Base64 문자열을 PDF 파일로 다시 변환할 수 있습니다. 이는 원본 문서를 복원하거나, 디스크에 저장하거나, 추가 처리(편집, 보안 설정 또는 콘텐츠 추출 등)를 위해 Aspose.Pdf.Document 클래스에 로드해야 할 때 유용합니다.

아래 단계를 따라 Base64 문자열을 PDF 문서로 변환하십시오:

  1. 로드된 인코딩된 문자열(예: 파일 또는 API에서).
  2. Convert the string into raw PDF bytes.
  3. Document 클래스 객체와 디코딩된 바이트를 사용하여 PDF 문서를 생성합니다.
  4. PDF 문서를 저장하세요.

다음 코드 예제는 C#을 사용하여 Base64 문자열을 PDF 문서로 다시 변환하는 방법을 보여줍니다:

// 파일에서 Base64 텍스트를 읽고 여분의 공백이나 줄 바꿈을 잘라냅니다.
using System;
using System.IO;
using Aspose.Pdf;

// Read the text file
string base64 = File.ReadAllText("sample-base64.txt").Trim();

// Optional: handle data URI input like "data:application/pdf;base64,AAAA..."
// 접두사를 감지하고 제거하여 원래의 Base64만 남도록 하십시오.
const string prefix = "data:application/pdf;base64,";
if (base64.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
    base64 = base64.Substring(prefix.Length);

// Base64 문자열을 바이트 배열로 디코드하세요.
byte[] pdfBytes = Convert.FromBase64String(base64);

// 바이트를 Aspose.PDF에 로드하여 유효성을 검사하십시오. 바이트가 유효한 PDF가 아닌 경우 예외가 발생합니다.
using var doc = new Document(new MemoryStream(pdfBytes));

// 복구된 PDF를 디스크에 저장하십시오.
doc.Save("output.pdf");

무료 라이센스 받기

Aspose.PDF for .NET의 모든 기능을 제한없이 탐색하려면 무료 임시 라이선스를 신청하세요. 임시 라이선스 페이지를 방문하여 귀하의 라이선스를 받고 API의 전체 기능을 경험해 보세요.

PDF를 온라인에서 무료로 Base64로 변환하기

PDF 파일을 즉시 Base64로 변환해야 하는 경우, 코드를 작성하지 않고도 이 free online PDF to Base64 converter를 사용해 보세요. 이 브라우저 기반 도구를 통해 PDF를 업로드하고 몇 초 안에 Base64로 인코딩된 텍스트를 얻을 수 있습니다. 설치, 등록 또는 추가 라이브러리가 필요 없습니다. 모든 작업이 안전하게 웹 브라우저에서 실행됩니다.

Image

PDF 파일을 Base64 문자열로 변환: 추가 자료

PDF 파일 및 Base64 인코딩을 사용하여 Aspose.PDF for .NET으로 작업하는 방법에 대해 더 알아보려면 다음 유용한 가이드와 도구를 탐색하십시오:

  • 지원되는 파일 형식, 고급 PDF 조작 기능 및 Aspose.PDF for .NET Documentation을(를) 사용한 자세한 API 사용 예제에 대해 알아보세요.
  • PDF 생성, 변환 및 인코딩을 위한 개발자를 위한 전체 클래스 라이브러리, 메서드 및 속성을 검토하십시오. Aspose.PDF API Reference
  • 브라우저 기반 PDF 변환기, 병합기, 압축기 및 뷰어를 사용해 보세요 Aspose PDF Apps.
  • 실용적인 예제, 사용 방법 기사 및 심층 프로그래밍 가이드를 Aspose.PDF Blog에서 탐색하세요.

PDF to Base64: 자주 묻는 질문들

  1. Base64 인코딩이란 무엇이며, PDF 파일과 함께 사용되는 이유는 무엇인가요?

Base64 인코딩은 PDF 파일과 같은 이진 데이터를 일반 텍스트로 변환합니다. 이는 JSON, XML 또는 API와 같은 텍스트 기반 시스템을 통해 데이터 손상 없이 파일을 전송하는 데 일반적으로 사용됩니다.

  1. PDF의 특정 페이지만 Base64로 변환할 수 있나요?

네. Aspose.PDF for .NET은 특정 페이지나 페이지 범위를 추출하고 해당 부분만 Base64로 변환하여 파일 크기와 전송 시간을 줄일 수 있게 해줍니다.

  1. Base64 문자열을 C#에서 PDF 파일로 다시 디코드하는 방법은 무엇인가요?

Convert.FromBase64String() 메서드를 사용하여 바이트 배열을 가져온 다음, 이를 Aspose.Pdf.Document 클래스에 로드하거나 .pdf 파일로 직접 디스크에 저장할 수 있습니다.

  1. 대용량 PDF를 Base64로 변환할 때 크기 제한이 있나요?

Aspose.PDF에서는 고정된 제한이 없지만, 큰 파일은 충분한 메모리를 요구합니다. 전체 파일을 메모리에 로드하는 대신 스트림을 사용하면 성능이 개선됩니다.

  1. 이 방법을 사용하여 API 또는 웹 서비스를 통해 PDF를 보낼 수 있나요?

네. Base64 문자열은 API 또는 웹 애플리케이션을 통해 파일을 전송할 때 PDF 데이터를 JSON 또는 XML 페이로드에 포함하는 데 이상적입니다.

  1. Base64 인코딩이 PDF 품질이나 내용에 영향을 미칩니까?

아니요. Base64 인코딩은 데이터가 표현되는 방식만 변경합니다. 디코딩된 파일은 품질이나 정보 손실 없이 원본 PDF와 동일할 것입니다.

  1. 여러 개의 PDF 파일을 한 번에 Base64로 변환하려면 어떻게 하나요?

각 파일을 반복하여 Aspose.Pdf.Document를 사용해 로드하고, 각 파일을 개별적으로 Base64로 변환할 수 있습니다. 이는 배치 처리에 잘 작동합니다.

  1. 새로운 PDF를 생성하고 디스크에 저장하지 않고 바로 Base64로 변환할 수 있나요?

네. 새로운 Document를 메모리에 생성하고, 내용을 추가한 다음, MemoryStream에 저장하고, 이를 Base64로 인코딩할 수 있습니다. 물리적인 파일을 생성할 필요는 없습니다.

결론

이 기사에서는 PDF 파일을 Base64 문자열로 변환하고 C#에서 Aspose.PDF for .NET을 사용하여 다시 PDF로 디코드하는 방법을 배웠습니다. 이 라이브러리는 PDF 문서를 다루기 위한 신뢰할 수 있고 기능이 풍부한 API를 제공하여 Base64 인코딩 및 디코딩을 모든 .NET 애플리케이션에서 쉽게 구현할 수 있게 합니다.

질문이 있거나 도움이 필요하시면, free support forum을 방문해 주시기 바랍니다. 저희 팀은 항상 도움을 드릴 준비가 되어 있습니다.

See Also