Bilder über C++ zum PDF-Dokument hinzufügen

Fügen Sie mithilfe von Aspose.PDF für die C++ Bibliothek Bilder programmgesteuert in ein PDF-Dokument ein

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 mit C++ zu PDF hinzufügen


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 zum PDF-Dokument hinzufügen - C++

Dieser Beispielcode zeigt, wie man Bilder zu einer PDF-Seite hinzufügt - 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();