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를 출력 하였습니다.