Znak wodny w dokumencie identyfikuje stan dokumentu z tekstami takimi jak poufne, robocze itp. i utrudnia kopiowanie oryginalnego dokumentu. Znaki wodne mogą być oparte na obrazie lub tekście i są często używane w dokumentach PDF. Może być konieczne dodanie znaków wodnych do dokumentów PDF w aplikacjach C++. W tym celu w tym artykule dowiesz się, jak dodawać i usuwać tekstowe i graficzne znaki wodne z dokumentów PDF za pomocą języka C++.

C++ API do wstawiania i usuwania tekstowych/obrazowych znaków wodnych

Aspose.PDF for C++ to biblioteka C++, która umożliwia tworzenie, odczytywanie i aktualizowanie dokumentów PDF. Ponadto interfejs API obsługuje wstawianie i usuwanie znaków wodnych obrazu/tekstu w dokumentach PDF. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji downloads.

PM> Install-Package Aspose.PDF.Cpp

Wstaw tekstowy znak wodny do pliku PDF za pomocą C++

Dzięki Aspose.PDF for C++ API możesz kontrolować styl czcionki, tekst, kolor, kąt, krycie itp. Tekstowego znaku wodnego. Poniżej przedstawiono kroki dodawania tekstowego znaku wodnego do pliku PDF.

Poniższy przykładowy kod pokazuje, jak dodać tekstowy znak wodny do pliku PDF przy użyciu języka C++.

// Otwórz źródłowy dokument PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Utwórz instancję klasy TextStamp
System::SharedPtr<TextStamp> textStamp = MakeObject<TextStamp>(u"CONFIDENTIAL");

// Ustaw pozycję znaku wodnego
textStamp->set_XIndent(70);
textStamp->set_YIndent(300);

// Ustaw właściwości tekstu
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);

// Dodaj znak wodny do strony PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(textStamp);

// Zapisz plik PDF
pdfDocument->Save(u"OutputDirectory\\Text-Watermark-Out.pdf", SaveFormat::Pdf);
Obraz wyjściowego pliku PDF wygenerowanego przez przykładowy kod

Obraz wyjściowego pliku PDF wygenerowanego przez przykładowy kod

Wstaw znak wodny obrazu do pliku PDF za pomocą C++

Znaki wodne obrazu są zwykle używane do pokazania własności dokumentu za pomocą logo lub innego możliwego do zidentyfikowania obrazu. Możesz dodać znak wodny obrazu do plików PDF, wykonując czynności podane poniżej.

Poniższy przykładowy kod ilustruje sposób dodawania znaku wodnego obrazu w pliku PDF przy użyciu języka C++.

// Otwórz źródłowy dokument PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Utwórz instancję klasy ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// Ustaw położenie znaku wodnego
imageStamp->set_XIndent(150);
imageStamp->set_YIndent(350);

// Ustaw inne właściwości
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_RotateAngle(45);
imageStamp->set_Opacity(0.4);
imageStamp->setStampId(12345678);

// Dodaj znak wodny do strony PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Zapisz plik PDF
pdfDocument->Save(u"OutputDirectory\\Image-Watermark-Out.pdf", SaveFormat::Pdf);
Obraz wyjściowego pliku PDF wygenerowanego przez przykładowy kod

Obraz wyjściowego pliku PDF wygenerowanego przez przykładowy kod

Usuń znak wodny tekstu lub obrazu z pliku PDF za pomocą C++

Mogą wystąpić sytuacje, w których trzeba usunąć znaki wodne z dokumentu PDF. W poprzednich przykładach zdefiniowaliśmy identyfikatory zarówno tekstowych, jak i graficznych znaków wodnych. Użyjemy tych identyfikatorów do usunięcia znaków wodnych z dokumentów PDF. Poniżej przedstawiono kroki usuwania znaków wodnych z plików PDF.

Poniższy przykładowy kod pokazuje, jak usunąć tekstowe i graficzne znaki wodne z plików PDF przy użyciu języka C++.

// Utwórz instancję klasy PdfContentEditor
System::SharedPtr<PdfContentEditor> contentEditor = MakeObject<PdfContentEditor>();

// Otwórz plik PDF zawierający znak wodny
contentEditor->BindPdf(u"SourceDirectory\\SampleImageWatermark.pdf");

// Usuń znak wodny według identyfikatora
contentEditor->DeleteStampById(12345678);

// Zapisz plik PDF
pdfDocument->Save(u"OutputDirectory\\Remove-Watermark-Out.pdf", SaveFormat::Pdf);

Uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak pracować ze znakami wodnymi w plikach PDF przy użyciu języka C++. W szczególności nauczyłeś się dodawać i usuwać graficzne i tekstowe znaki wodne z dokumentów PDF za pomocą Aspose.PDF for C++ API. Interfejs API zapewnia wiele dodatkowych funkcji do automatyzacji zadań związanych z plikami PDF. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań skontaktuj się z nami na naszym darmowym forum wsparcia.

Zobacz też