Редактирование PDF-документов в C++

Обзор

Aspose.Slides для C++ позволяет редактировать содержимое PDF, импортируя его страницы в виде слайдов, изменяя презентацию и экспортируя её обратно в PDF. В этой статье показана простая замена текста. Презентация остаётся в памяти, поэтому сохранение промежуточного файла PPTX необязательно.

Замена текста в PDF

Используйте SlideCollection::AddFromPdf для импорта страниц, Presentation::ReplaceText для обновления текста и Presentation::Save для экспорта результата.

В следующем примере ожидается, что input.pdf содержит слово «Draft» в виде редактируемого текста после импорта. Оно заменяется на «Final», и результат сохраняется в edited.pdf. Очистка начального слайда перед импортом предотвращает появление лишней пустой страницы в выходном файле. Поиск совпадает с полными словами с учётом регистра; nullptr означает, что обратный вызов результата не требуется.

#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();

Для получения дополнительных параметров см. Поиск и замена текста и Конвертация PowerPoint в PDF.

FAQ

Нужно ли сохранять файл PPTX перед экспортом в PDF?

Нет. Вы можете редактировать и экспортировать одну и ту же презентацию в памяти. Сохраняйте копию PPTX только если хотите дальше редактировать её в PowerPoint; см. Сохранение презентаций.

Почему некоторый текст может остаться без изменений?

В примере происходит поиск полного слова «Draft» с точным регистром. Текст, импортированный как изображение, или разбитый на отдельные текстовые фреймы, может не совпадать с поиском. Проверьте импортированное содержание и скорректируйте поиск под ваш документ.