Водяной знак в документе определяет состояние документа с такими текстами, как конфиденциальный, черновик и т. д., и затрудняет копирование исходного документа. Водяные знаки могут быть графическими или текстовыми и часто используются в документах PDF. Возможно, вам потребуется добавить водяные знаки в документы PDF в ваших приложениях C++. Для этого в этой статье вы узнаете, как добавлять и удалять текстовые и графические водяные знаки из документов PDF с помощью C++.
- C++ API для вставки и удаления водяных знаков текста/изображения
- Вставьте текстовый водяной знак в файл PDF с помощью С++
- Вставьте водяной знак изображения в файл PDF с помощью С++
- Удалить водяной знак текста или изображения из файла PDF с помощью С++
C++ API для вставки и удаления водяных знаков текста/изображения
Aspose.PDF for C++ — это библиотека C++, позволяющая создавать, читать и обновлять PDF-документы. Кроме того, API поддерживает вставку и удаление водяных знаков изображения/текста в документах PDF. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела загрузки.
PM> Install-Package Aspose.PDF.Cpp
Вставьте текстовый водяной знак в файл PDF с помощью С++
С помощью Aspose.PDF for C++ API вы можете управлять стилем шрифта, текстом, цветом, углом наклона, непрозрачностью и т. д. текстового водяного знака. Ниже приведены шаги для добавления текстового водяного знака в файл PDF.
- Загрузите файл PDF с помощью класса Document.
- Создайте экземпляр класса TextStamp с текстом водяного знака.
- Установите положение и другие свойства водяного знака.
- Добавьте водяной знак на страницу с помощью команды Document->getPages()->idxget(1)->AddStamp(System::SharedPtr штамп) способ.
- Сохраните файл PDF с помощью метода Документ->Сохранить(System::String outputFileName, формат SaveFormat).
В следующем примере кода показано, как добавить текстовый водяной знак в файл PDF с помощью C++.
// Откройте исходный PDF-документ
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Создайте экземпляр класса TextStamp.
System::SharedPtr<TextStamp> textStamp = MakeObject<TextStamp>(u"CONFIDENTIAL");
// Установите положение водяного знака
textStamp->set_XIndent(70);
textStamp->set_YIndent(300);
// Установить свойства текста
textStamp->get_TextState()->set_Font(FontRepository::FindFont(u"Arial"));
textStamp->get_TextState()->set_FontSize(72.0F);
textStamp->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textStamp->set_Opacity(0.4);
textStamp->set_RotateAngle(45);
textStamp->setStampId(123456);
// Добавить водяной знак на страницу PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(textStamp);
// Сохраните PDF-файл
pdfDocument->Save(u"OutputDirectory\\Text-Watermark-Out.pdf", SaveFormat::Pdf);

Изображение выходного PDF-файла, созданного с помощью примера кода
Вставьте водяной знак изображения в файл PDF с помощью С++
Водяные знаки изображения обычно используются для демонстрации права собственности на документ с помощью логотипа или любого другого идентифицируемого изображения. Вы можете добавить водяной знак изображения в файлы PDF, используя шаги, указанные ниже.
- Загрузите файл PDF с помощью класса Document.
- Создайте экземпляр класса ImageStamp с изображением водяного знака.
- Установите положение и другие свойства водяного знака.
- Добавьте водяной знак на страницу с помощью команды Document->getPages()->idxget(1)->AddStamp(System::SharedPtr штамп) метод.
- Сохраните файл PDF, используя метод Документ->Сохранить(System::String outputFileName, формат SaveFormat).
В следующем примере кода показано, как добавить водяной знак изображения в файл PDF с помощью C++.
// Откройте исходный PDF-документ
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Создайте экземпляр класса ImageStamp.
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");
// Установите положение водяного знака
imageStamp->set_XIndent(150);
imageStamp->set_YIndent(350);
// Установить другие свойства
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_RotateAngle(45);
imageStamp->set_Opacity(0.4);
imageStamp->setStampId(12345678);
// Добавить водяной знак на страницу PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);
// Сохраните PDF-файл
pdfDocument->Save(u"OutputDirectory\\Image-Watermark-Out.pdf", SaveFormat::Pdf);

Изображение выходного PDF-файла, созданного с помощью примера кода
Удалить водяной знак текста или изображения из файла PDF с помощью С++
Могут быть сценарии, когда вам нужно удалить водяные знаки из документа PDF. В предыдущих примерах мы определили идентификаторы как текстовых, так и графических водяных знаков. Мы будем использовать эти идентификаторы для удаления водяных знаков из документов PDF. Ниже приведены шаги по удалению водяных знаков из файлов PDF.
- Создайте экземпляр класса PdfContentEditor.
- Загрузите документ PDF с помощью метода PdfContentEditor->BindPdf(System::String inputFile).
- Удалите водяной знак с помощью метода PdfContentEditor->DeleteStampById(int32tstampId).
- Сохраните файл PDF с помощью метода Документ->Сохранить(System::String outputFileName, формат SaveFormat).
В следующем примере кода показано, как удалить текстовые и графические водяные знаки из PDF-файлов с помощью C++.
// Создайте экземпляр класса PdfContentEditor.
System::SharedPtr<PdfContentEditor> contentEditor = MakeObject<PdfContentEditor>();
// Откройте файл PDF, содержащий водяной знак.
contentEditor->BindPdf(u"SourceDirectory\\SampleImageWatermark.pdf");
// Удалить водяной знак по id
contentEditor->DeleteStampById(12345678);
// Сохраните PDF-файл
pdfDocument->Save(u"OutputDirectory\\Remove-Watermark-Out.pdf", SaveFormat::Pdf);
Получить бесплатную лицензию
Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как работать с водяными знаками в файлах PDF с помощью C++. В частности, вы узнали, как добавлять и удалять графические и текстовые водяные знаки из PDF-документов с помощью Aspose.PDF for C++ API. API предоставляет множество дополнительных функций для автоматизации ваших задач, связанных с PDF. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут какие-либо вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.