Inserisci immagine di testo XPS C++

Puoi creare, modificare o manipolare facilmente i file XPS. Inoltre, puoi controllare i contenuti e la loro posizione secondo le tue esigenze. È possibile inserire un’immagine o un testo nei file XPS a livello di codice utilizzando il linguaggio C++. Esploriamo questa funzionalità in dettaglio nei seguenti argomenti:

Lavora con contenuti di testo o immagini nei file XPS - Installazione API

È possibile aggiungere testo o contenuto di immagini in file XPS nelle applicazioni C++. Non è necessario considerare dettagli minori sul formato del file del documento poiché poche chiamate API possono svolgere il lavoro secondo le tue esigenze. L’API Aspose.Page per C++ può essere configurata facilmente scaricandola da Nuove versioni o con il comando di installazione NuGet seguente:

PM> Install-Package Aspose.Page.Cpp

Aggiungi testo nel file XPS usando C++

Il testo può essere utilizzato nel file XPS per etichettare alcuni disegni, immagini o altri contenuti. Allo stesso modo, puoi anche usare il testo come filigrana per il file. È necessario seguire i passaggi seguenti per aggiungere o inserire testo nei file XPS:

  1. Crea un nuovo documento XPS
  2. Crea un pennello per aggiungere del testo
  3. Aggiungi glifo al documento
  4. Salva il documento XPS di output

Il codice seguente mostra come aggiungere testo in un file XPS usando C++:

// Crea un nuovo documento XPS
auto doc = System::MakeObject<XpsDocument>();

//Crea un pennello 
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());

//Aggiungi glifo al documento
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 300.f, 450.f, u"Hello World!");
glyphs->set_Fill(textFill);

// Salva il documento XPS risultante
doc->Save(RunExamples::outDir() + u"AddText_out.xps");

Aggiungi testo nel file XPS usando Unicode String in C++

Abbiamo imparato ad aggiungere una semplice stringa di testo a un file XPS. Procediamo e consideriamo uno scenario in cui è necessario aggiungere una stringa Unicode nei file XPS. È necessario seguire i passaggi seguenti per aggiungere testo nel file XPS, in base alla stringa Unicode:

  1. Crea un nuovo documento XPS
  2. Aggiungi testo Unicode
  3. Salva il documento XPS di output

Il codice seguente si basa su questi passaggi, che mostrano come aggiungere testo in un file XPS utilizzando la stringa Unicode in linguaggio C++:

// Crea un nuovo documento XPS
auto doc = System::MakeObject<XpsDocument>();

// Aggiungi testo
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 20.0f, System::Drawing::FontStyle::Regular, 400.f, 200.f, u"++C. rof SPX.esopsA");
glyphs->set_BidiLevel(1);
glyphs->set_Fill(textFill);

// Salva il documento XPS risultante
doc->Save(RunExamples::outDir() + u"AddText_unicode.xps");

Inserisci l’immagine nel documento XPS usando C++

Le immagini possono contenere molte informazioni visive, quindi l’API supporta l’inserimento di un’immagine in un file XPS nelle applicazioni C++. Aspose.Page per l’API C++ ti consente di inserire immagini o immagini in file XPS con i passaggi seguenti:

  1. Crea un nuovo documento XPS
  2. Carica immagine di input
  3. Crea una matrice e ImageBrush
  4. Salva il file XPS di output

L’esempio di codice seguente mostra come inserire un’immagine nel documento XPS con C++:

// Crea un nuovo documento XPS
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();

// Aggiungi immagine
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));

// La creazione di una matrice è facoltativa, può essere utilizzata per un corretto posizionamento
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));

//Crea pennello immagine
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 258.24f, 56.64f), System::Drawing::RectangleF(50.f, 20.f, 193.68f, 42.48f)));

// Salva il documento XPS risultante
doc->Save(RunExamples::outDir() + u"AddImage_out.xps");

Inserisci l’immagine affiancata nel file XPS usando C++

Abbiamo imparato il primo passo per aggiungere o inserire un’immagine in un file XPS, procediamo con il relativo esempio di inserimento di immagini affiancate in un documento XPS. Di seguito sono riportati i passaggi per l’aggiunta di immagini affiancate nel file XPS:

  1. Crea un nuovo documento XPS
  2. Aggiungi ImageBrush rettangolo riempito
  3. Aggiungi immagine affiancata
  4. Salva il documento XPS risultante

Il frammento di codice seguente mostra come aggiungere un’immagine affiancata in un file XPS usando C++:

// Crea un nuovo documento XPS
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();

// Immagine piastrella
// Rettangolo riempito con ImageBrush nella parte inferiore in alto a destra
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,160 L 228,160 228,305 10,305"));
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"R08LN_NN.jpg", System::Drawing::RectangleF(0.f, 0.f, 128.f, 96.f), System::Drawing::RectangleF(0.f, 0.f, 64.f, 48.f)));
(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsImageBrush>(path->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);
path->get_Fill()->set_Opacity(0.5f);

// Salva il documento XPS risultante
doc->Save(RunExamples::outDir() + u"AddTiledImage_out.xps");

Conclusione

In questo articolo hai imparato come inserire o aggiungere del testo o un’immagine in file XPS usando il linguaggio C++. Questa funzione può essere utile in scenari come quando è necessario aggiungere una filigrana nei documenti XPS o aggiungere un timbro secondo le proprie esigenze. Allo stesso modo, molte altre interessanti funzionalità sono supportate per il formato di file XPS. Puoi saperne di più visitando la documentazione API, oppure puoi anche discutere con noi nel Forum di supporto gratuito. Non vediamo l’ora di metterti in contatto con te!

Guarda anche