Modifier des documents PDF en C++

Aperçu

Aspose.Slides for C++ vous permet de modifier le contenu PDF en important ses pages sous forme de diapositives, en modifiant la présentation, puis en l’exportant à nouveau au format PDF. Cet article montre un remplacement de texte simple. La présentation reste en mémoire, de sorte que l’enregistrement d’un fichier PPTX intermédiaire est facultatif.

Remplacer du texte dans un PDF

Utilisez SlideCollection::AddFromPdf pour importer les pages, Presentation::ReplaceText pour mettre à jour le texte, et Presentation::Save pour exporter le résultat.

L’exemple suivant suppose que input.pdf contient le mot « Draft » en texte modifiable après l’importation. Il remplace ce mot par « Final » et écrit edited.pdf. La suppression de la diapositive initiale avant l’importation évite une page blanche supplémentaire dans le résultat. La recherche correspond aux mots entiers avec la même casse ; nullptr indique qu’aucun rappel de résultat n’est nécessaire.

#include <DOM/ISlideCollection.h>
#include <DOM/Presentation.h>
#include <DOM/TextFind/TextSearchOptions.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = MakeObject<Presentation>();
presentation->get_Slides()->RemoveAt(0);

presentation->get_Slides()->AddFromPdf(u"input.pdf");

auto searchOptions = MakeObject<TextSearchOptions>();
searchOptions->set_WholeWordsOnly(true);
searchOptions->set_CaseSensitive(true);
presentation->ReplaceText(u"Draft", u"Final", searchOptions, nullptr);

presentation->Save(u"edited.pdf", SaveFormat::Pdf);
presentation->Dispose();

Pour plus d’options, consultez Search and Replace Text et Convert PowerPoint to PDF.

FAQ

Do I need to save a PPTX file before exporting the PDF?

Non. Vous pouvez modifier et exporter la même présentation en mémoire. Enregistrez une copie PPTX uniquement si vous souhaitez également la continuer à éditer dans PowerPoint ; consultez Save Presentations.

Why might some text remain unchanged?

L’exemple recherche le mot entier « Draft » avec la casse exacte. Le texte importé sous forme d’image ou réparti sur plusieurs zones de texte ne correspondra pas forcément à la recherche. Vérifiez le contenu importé et adaptez la recherche à votre document.