C++ 를 통해 PDF의 이미지로 작업하기

PDF 문서의 이미지를 조작합니다.C++ 용 Aspose.PDF 파일을 사용하여 프로그래밍 방식으로 PDF 문서를 수정하십시오.

C++ 의 이미지를 사용한 가장 인기 있는 액션

C++ 라이브러리를 사용하여 PDF 문서에 이미지 추가

PDF에 이미지를 추가하기 위해 cpp 플랫폼을 위한 기능이 풍부하고 강력하며 사용하기 쉬운 문서 조작 API인 Aspose.PDF for C++ API를 사용할 것입니다.NuGet 패키지 관리자를 열고 Aspose.pdf를 검색하여 설치합니다.패키지 관리자 콘솔에서 다음 명령을 사용할 수도 있습니다.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

C++ 를 통해 PDF에 이미지 추가


사용자 환경에서 코드를 테스트하려면 Aspose.PDF for C++ 가 필요합니다.

1.Document 객체를 만들고 입력 PDF 문서를 엽니다. 1.이미지를 추가하려는 페이지를 가져옵니다. 1.페이지의 리소스 컬렉션에 이미지를 추가합니다. 1.GSave 연산자를 사용하여 현재 그래픽 상태를 저장합니다. 1.ConcatenateMatrix 연산자를 사용하여 이미지를 배치할 위치를 지정합니다. 1.Do 연산자를 사용하여 페이지에 이미지를 그립니다. 1.GreStore 연산자를 사용하여 업데이트된 그래픽 상태를 저장합니다. 1.PDF 파일을 저장합니다.

기존 PDF 파일에 이미지 추가 - C++

Example: C++


    String _dataDir("C:\\Samples\\");

    auto document = MakeObject<Document>(_dataDir + u"AddImage.pdf");

    int lowerLeftX = 50;
    int lowerLeftY = 750;
    int upperRightX = 100;
    int upperRightY = 800;

    auto page = document->get_Pages()->idx_get(1);
    auto imageStream = System::IO::File::OpenRead(_dataDir + u"logo.png");

    page->get_Resources()->get_Images()->Add(imageStream);

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::GSave>());

    auto rectangle = MakeObject<Rectangle>(lowerLeftX, lowerLeftY, upperRightX, upperRightY);

    auto matrix = MakeObject<Matrix>(
        MakeArray<double>({
            rectangle->get_URX() - rectangle->get_LLX(),
            0,                  0,
            rectangle->get_URY() - rectangle->get_LLY(),
            rectangle->get_LLX(), rectangle->get_LLY() }));

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::ConcatenateMatrix>(matrix));
    auto ximage = page->get_Resources()->get_Images()->idx_get(page->get_Resources()->get_Images()->get_Count());

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::Do>(ximage->get_Name()));

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::GRestore>());

    document->Save(_dataDir + u"updated_document.pdf");

    imageStream->Close();