Una filigrana in un documento identifica lo stato del documento con testi come riservato, bozza, ecc. e rende difficile la copia del documento originale. Le filigrane possono essere basate su immagini o testo e sono usate frequentemente nei documenti PDF. Potrebbe essere necessario aggiungere filigrane ai documenti PDF all’interno delle applicazioni C++. Per questo, questo articolo ti insegnerà come aggiungere e rimuovere filigrane di testo e immagini dai documenti PDF usando C++.

API C++ per l’inserimento e l’eliminazione di filigrane di testo/immagine

Aspose.PDF for C++ è una libreria C++ che consente di creare, leggere e aggiornare documenti PDF. Inoltre, l’API supporta l’inserimento e l’eliminazione di filigrane di immagine/testo nei documenti PDF. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione download.

PM> Install-Package Aspose.PDF.Cpp

Inserisci una filigrana di testo in un file PDF utilizzando C++

Con Aspose.PDF per l’API C++, puoi controllare lo stile del carattere, il testo, il colore, l’angolo, l’opacità, ecc. della filigrana del testo. Di seguito sono riportati i passaggi per aggiungere una filigrana di testo in un file PDF.

Il codice di esempio seguente mostra come aggiungere una filigrana di testo in un file PDF usando C++.

// Apri il documento PDF di origine
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Crea un'istanza della classe TextStamp
System::SharedPtr<TextStamp> textStamp = MakeObject<TextStamp>(u"CONFIDENTIAL");

// Imposta la posizione della filigrana
textStamp->set_XIndent(70);
textStamp->set_YIndent(300);

// Imposta le proprietà del testo
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);

// Aggiungi filigrana alla pagina PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(textStamp);

// Salva il file PDF
pdfDocument->Save(u"OutputDirectory\\Text-Watermark-Out.pdf", SaveFormat::Pdf);
Immagine del file PDF di output generato dal codice di esempio

Immagine del file PDF di output generato dal codice di esempio

Inserisci la filigrana dell’immagine in un file PDF utilizzando C++

Le filigrane delle immagini vengono solitamente utilizzate per mostrare la proprietà del documento utilizzando il logo o qualsiasi altra immagine identificabile. Puoi aggiungere una filigrana immagine ai file PDF utilizzando i passaggi indicati di seguito.

Il codice di esempio seguente mostra come aggiungere una filigrana immagine in un file PDF usando C++.

// Apri il documento PDF di origine
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Crea un'istanza della classe ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// Imposta la posizione della filigrana
imageStamp->set_XIndent(150);
imageStamp->set_YIndent(350);

// Imposta altre proprietà
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_RotateAngle(45);
imageStamp->set_Opacity(0.4);
imageStamp->setStampId(12345678);

// Aggiungi filigrana alla pagina PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Salva il file PDF
pdfDocument->Save(u"OutputDirectory\\Image-Watermark-Out.pdf", SaveFormat::Pdf);
Immagine del file PDF di output generato dal codice di esempio

Immagine del file PDF di output generato dal codice di esempio

Rimuovere la filigrana di testo o immagine da un file PDF utilizzando C++

Potrebbero esserci scenari in cui è necessario rimuovere le filigrane da un documento PDF. Negli esempi precedenti, abbiamo definito gli ID sia per le filigrane di testo che di immagini. Useremo questi ID per rimuovere le filigrane dai documenti PDF. Di seguito sono riportati i passaggi per rimuovere le filigrane dai file PDF.

Il codice di esempio seguente mostra come rimuovere filigrane di testo e immagini dai file PDF utilizzando C++.

// Crea un'istanza della classe PdfContentEditor
System::SharedPtr<PdfContentEditor> contentEditor = MakeObject<PdfContentEditor>();

// Aprire il file PDF contenente la filigrana
contentEditor->BindPdf(u"SourceDirectory\\SampleImageWatermark.pdf");

// Elimina filigrana per ID
contentEditor->DeleteStampById(12345678);

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

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato a lavorare con le filigrane nei file PDF usando C++. In particolare, hai imparato come aggiungere e rimuovere filigrane di immagini e testo dai documenti PDF utilizzando Aspose.PDF per l’API C++. L’API fornisce molte funzionalità aggiuntive per automatizzare le attività relative ai PDF. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche