이미지는 제품 사진에서 워크플로 및 순서도에 이르기까지 다양한 항목을 표시하는 데 사용할 수 있습니다. PDF 파일은 가지고 있는 정보 유형에 따라 이미지를 포함할 수 있습니다. 예를 들어, 의자 설치 가이드에는 조립 방법을 보여주는 의자 사진이 포함됩니다. 프로그래밍 방식으로 PDF 파일의 이미지를 조작해야 하는 시나리오가 있을 수 있습니다. 이러한 경우 이 기사에서는 C++를 사용하여 PDF 파일의 이미지로 작업하는 방법을 설명합니다.
- PDF 파일의 이미지 작업을 위한 C++ API
- C++를 사용하여 PDF 파일에 이미지 추가
- C++를 사용하여 PDF 파일에서 이미지 추출
- C++를 사용하여 PDF 파일에서 이미지 제거
- C++를 사용하여 PDF 파일의 이미지 바꾸기
PDF 파일의 이미지 작업을 위한 C++ API
Aspose.PDF for C++은 PDF 파일을 만들고 읽고 수정할 수 있는 강력한 C++ 라이브러리입니다. 또한 API는 PDF 문서의 이미지 작업을 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.PDF.Cpp
C++를 사용하여 PDF 파일에 이미지 추가
다음은 PDF 파일에 이미지를 추가하는 단계입니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- Document->getPages()->idxget(int32t index) 메서드를 사용하여 이미지를 추가할 페이지를 검색합니다.
- Rectangle 클래스의 인스턴스를 만듭니다.
- Page->AddImage(System::String imagePath, System::SharedPtr)를 사용하여 페이지에 이미지를 추가합니다.Aspose::Pdf::Rectangle 직사각형) 메서드입니다.
- Document->Save(System::String outputFileName) 메서드를 사용하여 PDF 파일을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 파일에 이미지를 추가하는 방법을 보여줍니다.
// PDF 파일 로드
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// 첫 페이지 검색
auto page = pdfDocument->get_Pages()->idx_get(1);
// Rectangle 클래스의 인스턴스 만들기
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rectangle = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// 페이지에 이미지 추가
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
C++를 사용하여 PDF 파일에서 이미지 추출
PDF 파일에서 이미지를 추출하려면 다음 단계를 따르십시오.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index) 메서드를 사용하여 이미지를 추출합니다.
- FileStream 클래스의 인스턴스를 만들어 출력 이미지를 저장합니다.
- XImage->Save(System::SharedPtrSystem::IO::Stream 스트림, 시스템::SharedPtrSystem::Drawing::Imaging::ImageFormat 형식) 메서드입니다.
- 스트림을 닫습니다.
다음 샘플 코드는 C++를 사용하여 PDF 파일에서 이미지를 추출하는 방법을 보여줍니다.
// PDF 파일 로드
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// 특정 이미지 추출
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// 출력 이미지를 저장할 스트림 객체 생성
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// 출력 이미지 저장
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// 스트림 닫기
outputImage->Close();
C++를 사용하여 PDF 파일에서 이미지 제거
다음은 C++를 사용하여 PDF 파일에서 이미지를 제거하는 단계입니다.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index) 메서드를 사용하여 특정 이미지를 삭제합니다.
- Document->Save(System::String outputFileName) 메서드를 사용하여 PDF 파일을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 파일에서 특정 이미지를 삭제하는 방법을 보여줍니다.
// PDF 파일 로드
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// 특정 이미지 삭제
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
C++를 사용하여 PDF 파일의 이미지 바꾸기
PDF 파일의 기존 이미지를 교체하려면 아래 단계를 따르십시오.
- Document 클래스를 사용하여 PDF 파일을 로드합니다.
- FileStream 클래스를 사용하여 새 이미지를 엽니다.
- Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtr)를 사용하여 이전 이미지를 교체합니다.System::IO::Stream 스트림) 메서드입니다.
- 스트림을 닫습니다.
- Document->Save(System::String outputFileName) 메서드를 사용하여 PDF 파일을 저장합니다.
다음 코드는 C++를 사용하여 PDF 파일의 이미지를 바꾸는 방법을 보여줍니다.
// PDF 파일 로드
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// FileStream으로 새 이미지 열기
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// 이전 이미지 교체
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// 스트림 닫기
newImage->Close();
// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
무료 라이선스 받기
무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 기사에서는 C++를 사용하여 PDF 파일의 이미지로 작업하는 방법을 배웠습니다. 특히, Aspose.PDF for C++ API를 사용하여 PDF 파일에서 이미지를 추가, 추출, 교체 및 제거하는 방법을 배웠습니다. API는 공식 문서를 방문하여 자세히 탐색할 수 있는 PDF 파일 작업을 위한 많은 추가 기능을 제공합니다. 문의 사항이 있는 경우 무료 지원 포럼에 문의해 주십시오.