PDF C#에서 이미지 작업

그림은 천 마디 말의 가치가 있습니다. 따라서 이미지와 그래픽은 PDF 및 기타 문서에서 중요한 역할을 합니다. PDF가 가장 널리 사용되는 파일 형식 중 하나가 되었기 때문에 이 기사에서는 PDF 파일의 이미지를 프로그래밍 방식으로 조작하는 방법을 대상으로 합니다. 보다 정확하게는 C# .NET의 PDF 파일에서 이미지를 추가, 추출, 제거 및 교체하는 방법을 배웁니다.

PDF에서 이미지 추가, 제거 및 교체를 위한 C# API - 무료 다운로드

Aspose.PDF for .NET은 .NET 응용 프로그램 내에서 PDF 문서를 만들고 조작할 수 있는 C# 클래스 라이브러리입니다. API를 사용하면 기본 및 고급 PDF 자동화 기능을 아주 쉽게 수행할 수 있습니다. 또한 기존 PDF 파일의 이미지를 조작할 수 있습니다. API는 DLL로 다운로드하거나 NuGet를 통해 설치할 수 있습니다.

PM> Install-Package Aspose.Pdf

C# .NET의 PDF 파일에 이미지 추가

다음은 .NET용 Aspose.PDF를 사용하여 PDF 파일에 이미지를 추가하는 단계입니다.

  • Document 클래스를 사용하여 새 파일을 만들거나 기존 PDF 파일을 로드합니다.
  • Page 개체에서 원하는 페이지의 참조를 가져옵니다.
  • 페이지의 Resources 컬렉션에 이미지를 추가합니다.
  • 다음 연산자를 사용하여 페이지에 이미지를 배치합니다.
    • G저장 operator to save the current graphical state.
    • 행렬 연결 operator to specify where the image is to be placed.
    • 하다 operator to draw the image on the page.
    • G복원 operator to save the updated graphical state.
  • Document.Save(String) 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 PDF 파일에 이미지를 추가하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("AddImage.pdf");

// 좌표 설정
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// 이미지를 추가해야 하는 페이지 가져오기
Page page = pdfDocument.Pages[1];

// 스트림에 이미지 로드
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// 페이지 리소스의 이미지 컬렉션에 이미지 추가
page.Resources.Images.Add(imageStream);

// GSave 연산자 사용: 이 연산자는 현재 그래픽 상태를 저장합니다.
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Rectangle 및 Matrix 객체 생성
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// ConcatenateMatrix(행렬 연결) 연산자 사용: 이미지를 배치하는 방법을 정의합니다.
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Do 연산자 사용: 이 연산자는 이미지를 그립니다.
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// GRestore 연산자 사용: 이 연산자는 그래픽 상태를 복원합니다.
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// 업데이트된 문서 저장
pdfDocument.Save("AddImage_out.pdf");

C#의 PDF에서 이미지 추출

PDF 파일에서 모든 이미지를 추출하려는 경우 아래 단계에 따라 추출할 수 있습니다.

  • Document 클래스를 사용하여 기존 PDF 파일을 로드합니다.
  • 인덱스를 사용하여 특정 페이지의 Resources 컬렉션에서 XImage 개체에서 원하는 이미지를 가져옵니다.
  • XImage.Save(FileStream, ImageFormat) 메서드를 사용하여 추출된 이미지를 원하는 형식으로 저장합니다.

다음 코드 샘플은 C#을 사용하여 PDF에서 이미지를 추출하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("ExtractImages.pdf");

// 특정 이미지 추출
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];

FileStream outputImage = new FileStream("output.jpg", FileMode.Create);

// 출력 이미지 저장
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();

C#의 PDF에서 이미지 제거

PDF로 된 페이지의 리소스에 액세스하면 해당 페이지에서 이미지를 제거할 수 있습니다. 다음은 C#을 사용하여 PDF 파일에서 이미지를 제거하는 단계입니다.

  • Document 클래스를 사용하여 PDF 파일을 로드합니다.
  • 다음 방법 중 하나를 사용하여 이미지를 제거합니다.
  • Document.Save(String) 메소드를 사용하여 업데이트된 PDF 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 PDF에서 이미지를 제거하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("DeleteImages.pdf");

// 특정 이미지 삭제
pdfDocument.Pages[1].Resources.Images.Delete(1);

// 업데이트된 PDF 파일 저장
pdfDocument.Save("output.pdf");

C#에서 PDF의 이미지 바꾸기

.NET용 Aspose.PDF를 사용하면 PDF의 특정 이미지를 바꿀 수도 있습니다. 이를 위해 페이지의 이미지 컬렉션에서 이미지를 교체할 수 있습니다. 다음은 C#을 사용하여 PDF의 이미지를 바꾸는 단계입니다.

  • Document 클래스를 이용하여 PDF 파일을 불러옵니다.
  • [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24 메서드를 사용하여 원하는 이미지를 교체합니다.
  • Document.Save(String) 메소드를 사용하여 업데이트된 PDF 파일을 저장합니다.

다음 코드 샘플은 C#을 사용하여 PDF의 이미지를 바꾸는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("input.pdf");

// 특정 이미지 바꾸기
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));

// 업데이트된 PDF 파일 저장
pdfDocument.Save("output.pdf");

C# .NET PDF API - 무료 라이선스 받기

평가 제한 없이 API를 사용해 보려면 무료 임시 라이선스를 얻으십시오.

결론

이미지와 그래픽 개체는 PDF 문서의 중요한 요소입니다. 따라서 이 기사에서는 C# .NET API를 사용하여 PDF의 이미지를 조작하는 방법을 다루었습니다. 단계별 자습서 및 코드 샘플은 C#에서 PDF 파일의 이미지를 추가, 추출, 제거 및 교체하는 방법을 보여주었습니다. 문서를 사용하여 C# PDF API에 대해 자세히 알아볼 수 있습니다.

또한보십시오