Arbeiten mit Bildern im PDF-Dokument über C++

Moderne C++ Bibliothek zur Bearbeitung von Bildern in PDF mithilfe unserer APIs.

Bild mithilfe der C++ Bibliothek zum PDF-Dokument hinzufügen

Um ein Bild in PDF hinzuzufügen, verwenden wir die Aspose.PDF for C++ API, eine funktionsreiche, leistungsstarke und einfach zu verwendende API zur Dokumentenbearbeitung für die cpp Plattform. Öffnen Sie den NuGet -Paketmanager, suchen Sie nach Aspose.pdf und installieren Sie ihn. Sie können auch den folgenden Befehl in der Package Manager Console verwenden.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Bild zu PDF hinzufügen über C++


Sie benötigen Aspose.PDF für C++, um den Code in Ihrer Umgebung auszuprobieren.

  1. Erstellen Sie ein Dokumentobjekt und öffnen Sie das Eingabe-PDF-Dokument.
  2. Holen Sie sich die Seite, auf der Sie ein Bild hinzufügen möchten.
  3. Fügen Sie das Bild der Resources-Sammlung der Seite hinzu.
  4. Verwenden Sie den Operator GSave, um den aktuellen grafischen Status zu speichern.
  5. Verwenden Sie den Operator ConcatenateMatrix, um anzugeben, wo das Bild platziert werden soll.
  6. Verwenden Sie den Operator Do, um das Bild auf der Seite zu zeichnen.
  7. Verwenden Sie den Operator GRestore, um den aktualisierten grafischen Status zu
  8. Speichern Sie die PDF-Datei.

Bild zu einer vorhandenen PDF-Datei hinzufügen - 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();