Aspose.Page for C++ è una preziosa aggiunta a Aspose.Page Product Family che è stato sviluppato per la manipolazione di documenti PostScript (PS/EPS) e XPS utilizzando C++. Aspose.Page per C++ è una libreria C++ nativa per la creazione di nuovi file XPS nonché per la modifica e la conversione dei documenti PostScript e XPS esistenti a livello di codice. L’API ti consente anche di lavorare con le pagine e gli elementi come tele e glifi nei documenti XPS. Inoltre, supporta la conversione dei documenti in PDF e immagini raster. Questo articolo illustra come eseguire le operazioni seguenti relative ai documenti XPS usando Aspose.Page per C++.
- Crea un nuovo documento XPS in C++
- Modifica un documento XPS esistente in C++
- Aggiungi una pagina o un documento a un documento XPS in C++
Installazione dell’API XPS per C++
Aspose.Page per C++ è ospitato su NuGet ed è disponibile come binary scaricabile. Il pacchetto scaricabile contiene anche un’applicazione console C++ contenente il codice sorgente degli esempi di base.
Crea un documento XPS in C++
Di seguito sono riportati i semplici passaggi per creare un documento XPS contenente testo e immagine utilizzando Aspose.Page per C++.
- Crea un oggetto della classe XpsDocument.
- Aggiungi testo e immagine utilizzando rispettivamente gli oggetti XpsGlyphs e XpsPath.
- Salva il documento usando il metodo Salva.
L’esempio di codice seguente mostra come creare un documento XPS in C++.
// Crea un nuovo oggetto XpsDocument
auto doc = System::MakeObject<XpsDocument>();
// Aggiungi immagine
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Creare una matrice che può essere utilizzata per il posizionamento corretto.
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(u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 450.24f, 150.64f), System::Drawing::RectangleF(50.f, 20.f, 450.68f, 150.48f)));
// Testo come piè di pagina
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 18.0f, System::Drawing::FontStyle::Regular, 40.f, 1015.f, u"Copyright © 2006 QualityLogic, Inc.");
glyphs->set_Fill(textFill);
glyphs = doc->AddGlyphs(u"Arial", 15.0f, System::Drawing::FontStyle::Regular, 475.f, 1003.f, u"For information on QualityLogic XPS test products,");
glyphs->set_Fill(textFill);
// Salva come XPS
doc->Save(u"Create-XPS.xps");
Produzione
Modifica un documento XPS in C++
Di seguito sono riportati i passaggi per modificare un documento XPS esistente:
- Crea un oggetto della classe XpsDocument e inizializzalo con il percorso del documento XPS.
- Accedi agli elementi del documento utilizzando l’oggetto XpsDocument.
- Salva il documento aggiornato usando il metodo Salva.
L’esempio di codice seguente mostra come modificare un documento XPS esistente in C++.
// Carica documento XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Aggiungi una pagina vuota alla fine dell'elenco delle pagine
doc->AddPage();
// Inserire una pagina vuota all'inizio dell'elenco delle pagine
doc->InsertPage(1, true);
// Salva file XPS
doc->Save(u"Updated-XPS.xps");
Aggiungi pagina e documento a XPS in C++
Aspose.Page per C++ consente anche di aggiungere pagine e più documenti in un documento XPS. Di seguito sono riportati i passaggi per creare un nuovo documento XPS e aggiungere una pagina e un documento aggiuntivi.
- Crea un oggetto della classe XpsDocument.
- Usa i metodi AddPage e AddDocument per aggiungere rispettivamente pagina e documento.
- Utilizzare il metodo SelectActiveDocument per selezionare il documento attivo per l’elaborazione.
- Aggiungi testo o immagine al documento.
- Salva il documento.
L’esempio di codice seguente mostra come aggiungere pagine e documenti aggiuntivi a XPS usando C++.
// Nuovo documento (1 documento fisso con 1 pagina di formato predefinito)
auto doc = System::MakeObject<XpsDocument>();
// Aggiungi la seconda pagina al primo documento e imposta attivo
doc->AddPage();
// Aggiungi 2° documento con 1 pagina (3a pagina nel file)
doc->AddDocument(false);
// La seconda pagina del 1° documento è ancora attiva
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Page 2 (Document 1),");
glyphs->set_Fill(textFill);
// Attiva il 2° documento
doc->SelectActiveDocument(2);
glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Document 2 (Page #3 in file),");
glyphs->set_Fill(textFill);
// Salva file XPS
doc->Save(u"Create-XPS.xps");
Ulteriori informazioni su Aspose.Page per C++
Puoi saperne di più su Aspose.Page per C++ usando la documentazione e gli esempi di codice sorgente disponibili su GitHub.