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를 출력 하였습니다.
'C#' 카테고리의 다른 글
[C#] Interop 한 Excel API 가 정상적으로 종료 되지 않을 때 처리 방안 (0) | 2024.09.03 |
---|---|
[C#] Singletone Instance 생성을 이용한 Log File Write 처리 예제 입니다. (0) | 2024.08.05 |
PdfSharp을 이용한 Tiff To Pdf 변환 예제 (0) | 2024.06.16 |
BitMiracle.Docotic.Pdf를 이용한 Tiff To Pdf 변환 예제 (0) | 2024.06.16 |
[C#] HttpClient.PostAsync 메서드 에는 HttpCompletionOption을 설정 할 수 없는 부분에 대한 대처 방안 (0) | 2024.02.04 |