C#에서 PDF 파일을 이미지로 변환
Aimen Fatima
2023년10월12일
- PDF를 이미지로 변환
- PDFium 패키지를 사용하여 C#에서 PDF 파일을 이미지로 변환
- Syncfusion 패키지를 사용하여 C#에서 PDF 파일을 이미지로 변환
- PDFRasterizer를 사용하여 C#에서 PDF 파일을 이미지로 변환
이 문서에서는 C#에서 PDF 파일을 이미지로 변환하는 방법을 보여줍니다.
PDF 파일을 이미지로 변환하는 두 가지 방법을 살펴보겠습니다. 자세히 설명하기 위해 단계별로 C# 프로젝트를 생성하고 모든 코드 스니펫을 제공합니다.
PDF를 이미지로 변환
C#을 사용하여 PDF 파일을 이미지로 변환하는 방법에는 여러 가지가 있습니다. 타사 어셈블리를 사용하여 변환기를 만들거나 직접 만들 수 있습니다.
두 가지 다른 어셈블리를 사용하여 PDF 파일을 이미지로 변환하는 변환기를 만들 것입니다. 이것들은:
- PDFium
- 동기화
이 두 가지 NuGet 패키지는 nuget.org에서 프로젝트에 설치할 수 있습니다. C# 프로젝트를 만들고 이러한 패키지를 단계별로 설치하도록 안내해 보겠습니다.
PDFium 패키지를 사용하여 C#에서 PDF 파일을 이미지로 변환
-
Visual Studio에서
콘솔 응용 프로그램
을 만듭니다. 이러한 패키지를 설치하고 사용하려면 Visual Studio 2019 이상을 권장합니다. -
프로젝트
탭을 클릭하고NuGet 패키지 관리
를 선택하거나도구
탭을 클릭하고NuGet 패키지 관리자
를 선택한 다음솔루션용 NuGet 패키지 관리
를 선택합니다. -
찾아보기
탭을 선택하고패키지 소스
를nuget.org
로 설정합니다. -
Package Source
창에서nuget.org
를 찾을 수 없다고 가정합니다.설정
탭을 클릭하여 추가하십시오.+
아이콘을 클릭하고 이미지에 표시된 이름과 소스를 입력합니다. -
검색창에
PDFium
을 입력합니다. PdfiumViewer, PdfiumViewer.Native.x86.v8-xfa 및 PDFium.x86을 설치합니다. -
이 패키지를 설치한 후
참조
창에서 PdfiumViewer에 대한 참조를 사용할 수 있습니다.Samples
라는 프로젝트 디렉토리에 폴더를 만들고 변환하려는 PDF 파일을 이 폴더에 넣습니다. -
System.Drawing
에 대한 참조를 추가하여 이 어셈블리를 프로젝트로 가져옵니다.Solution Explorer
창에서References
탭을 마우스 오른쪽 버튼으로 클릭하고Add Reference
를 선택한 다음Framework
로 이동하고System.Drawing
을 선택합니다. -
Program.cs
파일에 다음 코드 조각을 추가합니다. 요구 사항에 따라 입력 및 출력 파일 이름을 사용자 지정할 수 있습니다. -
이 코드 스니펫은 단일 페이지 및 다중 페이지 문서를 변환합니다. 코드를 실행한 후 PDF 파일을 이미지로 변환해야 합니다(각 PDF 파일 페이지는 이미지로).
using PdfiumViewer; using System; using System.Drawing.Imaging; using System.IO; using System.Linq; namespace PdfToImage { class Program { static void Main(string[] args) { var projectDirectory = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName; try { using (var document = PdfDocument.Load(projectDirectory + @"\Samples\document.pdf")) { var pageCount = document.PageCount; for (int i = 0; i < pageCount; i++) { var dpi = 300; using (var image = document.Render(i, dpi, dpi, PdfRenderFlags.CorrectFromDpi)) { var encoder = ImageCodecInfo.GetImageEncoders().First(c => c.FormatID == ImageFormat.Jpeg.Guid); var encoderParams = new EncoderParameters(1); encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L); image.Save(projectDirectory + @"\Samples\image_" + i + ".jpg", encoder, encoderParams); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("Pdf converted to images. Press any key to exit..."); Console.ReadKey(); } } }
-
DLL 'pdfium.dll'에서 'FPDF_AddRef'라는 진입점을 찾을 수 없습니다.
예외가 발생하면 빌드 설정에서 대상 플랫폼을 변경해야 합니다. -
빌드
탭으로 이동하고 시스템에 따라 플랫폼 대상을 선택합니다(예: x86 또는 x64).빌드
에서 플랫폼 대상을 찾지 못한 경우프로젝트
탭을 선택하고 프로젝트 속성을 선택한 다음빌드
에서 플랫폼 대상을 찾으십시오.
Syncfusion 패키지를 사용하여 C#에서 PDF 파일을 이미지로 변환
-
위에서 설명한 대로 1단계에 따라 Visual Studio 2019 이상 버전에서
콘솔 응용 프로그램
을 만듭니다. -
위 섹션에 설명된 2단계와 3단계에 따라 NuGet.org에서 Syncfusion 패키지를 찾습니다.
-
Syncfusion.pdfViewer.Windows
패키지를 검색하여 설치합니다. -
위에서 언급한 6단계에 따라
System.Drawing
및System.Windows.Forms
에 대한 참조를 추가합니다. -
다음 코드 조각을
Program.cs
파일에 복사하여 PDF 파일의 단일 페이지를 이미지로 변환합니다.for
루프를 사용하여 다중 페이지 변환을 위해 사용자 정의할 수 있습니다. -
요구 사항에 따라 입력 및 출력 파일 이름을 사용자 지정합니다.
ExportAsImage()
메소드에서 적절한 매개변수를 전달하여 변환할 특정 페이지를 선택할 수 있습니다.using Syncfusion.Pdf.Parsing; using Syncfusion.Windows.Forms.PdfViewer; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PDFToJPEG { class Program { static void Main(string[] args) { // Initialize the PdfViewer Control PdfViewerControl pdfViewer = new PdfViewerControl(); // Load the input PDF file PdfLoadedDocument document = new PdfLoadedDocument("../../Data/document.pdf"); pdfViewer.Load(document); Bitmap image = pdfViewer.ExportAsImage(0); // Save the image. image.Save("output.jpg", ImageFormat.Jpeg); } } }
프로젝트 디렉터리->bin->Debug로 이동하여 출력 이미지 파일을 찾습니다.
PDFRasterizer를 사용하여 C#에서 PDF 파일을 이미지로 변환
PDFRasterizer는 PDF 파일을 C#으로 개발된 이미지로 변환하는 도구입니다. Windows Form을 이용한 GUI를 제공합니다.
소스 코드를 다운로드하여 오류 없이 사용할 수 있습니다. PDFRasterizer로 이동하여 구성 요소를 다운로드합니다.