C#
[C# .NET] 잘못 된 Token 형식의 PDF 문서 읽기 시도
Hwoarang757
2025. 5. 28. 23:01
Nuget Package 관리자 콘솔을 이용 하여 PdfSharp , PdfiumViewer package를 설치 진행 한 후에
잘못 된 형식의 PDF 문서의 PageCount 를 확인 시도 진행 해보았습니다.
PdfSharp의 경우 , PdfSharp Package 만 설치하여도 동작하는데는 크게 어려움이 없었으나
PdfiumViewer의 경우 , PdfiumViewer Package와 , PdfiumViewer.Native Packge를 설치 해줘야 오류가 발생하지 않습니다
( 해당 native의 경우 Application이 x86 입니다. , x64 전용 native Library가 따로 존재 합니다. )
using System;
using PdfSharpDocument = PdfSharp.Pdf.PdfDocument;
using PdfSharp.Pdf.IO;
using PdfiumDocument = PdfiumViewer.PdfDocument;
namespace PdfPageCountCheckTest
{
class Program
{
static void Main(string[] args)
{
try
{
using (PdfSharpDocument pdfSharpDocument = PdfReader.Open(@"F:\20230307141331481.pdf", PdfDocumentOpenMode.Import))
{
Console.Write($"pdfSharpDocument.PageCount={pdfSharpDocument.PageCount}");
}
}
catch(Exception exception)
{
Console.WriteLine(exception);
}
Console.WriteLine("=======================================================================================");
try
{
using (PdfiumDocument pdfiumDocument = PdfiumDocument.Load(@"F:\20230307141331481.pdf"))
{
Console.WriteLine($"pdfiumDocument.PageCount={pdfiumDocument.PageCount}");
}
}
catch(Exception exception)
{
Console.WriteLine(exception);
}
}
}
}
잘못 된 Token 형식의 PDF 를 Read 시에 , PdfiumViewer Library가 좀 더 유연하게 동작 하는 것 같습니다.
PdfSharp의 경우 Exception이 발생하였으며 , PdfiumViewer 의 경우 PageCount를 출력 하였습니다.