Aspose.Page for C++ är ett värdefullt tillägg till Aspose.Page Product Family som är utvecklat för manipulering av PostScript (PS/EPS) och XPS-dokument med C++. Aspose.Page for C++ är ett inbyggt C++-bibliotek för att skapa nya XPS-filer samt modifiera och konvertera befintliga PostScript- och XPS-dokument programmatiskt. API:et låter dig också arbeta med sidorna och elementen som dukar och glyfer i XPS-dokumenten. Dessutom stöder den konvertering av dokument till PDF och rasterbilder. Den här artikeln visar hur du utför följande operationer relaterade till XPS-dokument med Aspose.Page för C++.
- Skapa ett nytt XPS-dokument i C++
- Redigera ett befintligt XPS-dokument i C++
- Lägg till en sida eller ett dokument till ett XPS-dokument i C++
Installation av XPS API för C++
Aspose.Page for C++ finns på NuGet och finns även som nedladdningsbara binära filer. Det nedladdningsbara paketet innehåller också en C++-konsolapplikation som innehåller källkoden för grundläggande exempel.
Skapa ett XPS-dokument i C++
Följande är de enkla stegen för att skapa ett XPS-dokument som innehåller text och bild med Aspose.Page för C++.
- Skapa ett objekt av klassen XpsDocument.
- Lägg till text och bild med hjälp av objekten XpsGlyphs respektive XpsPath.
- Spara dokumentet med metoden Spara.
Följande kodexempel visar hur man skapar ett XPS-dokument i C++.
// Skapa ett nytt XpsDocument-objekt
auto doc = System::MakeObject<XpsDocument>();
// Lägg till bild
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Skapa en matris som kan användas för korrekt positionering.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Skapa bildpensel
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)));
// Text som sidfot
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);
// Spara som XPS
doc->Save(u"Create-XPS.xps");
Produktion
Redigera ett XPS-dokument i C++
Följande är stegen för att redigera ett befintligt XPS-dokument:
- Skapa ett objekt av klassen XpsDocument och initiera det med XPS-dokumentets sökväg.
- Få åtkomst till dokumentets element med hjälp av XpsDocument-objektet.
- Spara det uppdaterade dokumentet med metoden Save.
Följande kodexempel visar hur man redigerar ett befintligt XPS-dokument i C++.
// Ladda XPS-dokument
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Lägg till tom sida i slutet av sidlistan
doc->AddPage();
// Infoga en tom sida i början av sidlistan
doc->InsertPage(1, true);
// Spara XPS-filen
doc->Save(u"Updated-XPS.xps");
Lägg till sida och dokument till XPS i C++
Aspose.Page för C++ låter dig också lägga till sidor såväl som flera dokument i ett XPS-dokument. Följande är stegen för att skapa ett nytt XPS-dokument och lägga till ytterligare en sida och ett dokument.
- Skapa ett objekt av klassen XpsDocument.
- Använd metoderna AddPage och AddDocument för att lägga till sida respektive dokument.
- Använd metoden SelectActiveDocument för att välja det aktiva dokumentet för bearbetning.
- Lägg till text eller bild till dokumentet.
- Spara dokumentet.
Följande kodexempel visar hur du lägger till ytterligare sidor och dokument till XPS med C++.
// Nytt dokument (1 fast dokument med 1 sida med standardstorlek)
auto doc = System::MakeObject<XpsDocument>();
// Lägg till 2:a sidan på 1:a dokumentet och aktivera
doc->AddPage();
// Lägg till ett andra dokument med en sida (3:e sidan i filen)
doc->AddDocument(false);
// 1:a dokumentets 2:a sida är fortfarande aktiv
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);
// Aktivera det andra dokumentet
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);
// Spara XPS-filen
doc->Save(u"Create-XPS.xps");
Läs mer om Aspose.Page för C++
Du kan lära dig mer om Aspose.Page för C++ genom att använda dokumentationen och källkodsexemplen tillgängliga på GitHub.