Du kan enkelt skapa, redigera eller manipulera XPS-filer. Dessutom kan du styra innehållet och deras position enligt dina krav. Du kan infoga en bild eller text i XPS-filer programmatiskt med C++-språket. Låt oss utforska den här funktionen i detalj under följande ämnen:
- Arbeta med text- eller bildinnehåll i XPS-filer - API-installation
- Lägg till text i XPS-fil med C++
- Lägg till text i XPS-fil med Unicode String i C++
- Infoga bild i XPS-dokument med C++
- Infoga sida vid sida i XPS-fil med C++
Arbeta med text- eller bildinnehåll i XPS-filer - API-installation
Du kan lägga till text- eller bildinnehåll i XPS-filer i C++-program. Du behöver inte överväga mindre detaljer om dokumentets filformat eftersom få API-anrop kan göra jobbet enligt dina krav. Aspose.Page for C++ API kan enkelt konfigureras antingen genom att ladda ner det från New Releases eller med nedanstående NuGet installationskommando:
PM> Install-Package Aspose.Page.Cpp
Lägg till text i XPS-fil med C++
Text kan användas i XPS-filen för att märka någon ritning, bild eller annat innehåll. På samma sätt kan du också använda texten som vattenstämpel för filen. Du måste följa stegen nedan för att lägga till eller infoga text i XPS-filer:
- Skapa ett nytt XPS-dokument
- Skapa en pensel för att lägga till text
- Lägg till glyf i dokumentet
- Spara utdata XPS-dokument
Koden nedan visar hur man lägger till text i XPS-fil med C++:
// Skapa nytt XPS-dokument
auto doc = System::MakeObject<XpsDocument>();
//Skapa en borste
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
//Lägg till glyf i dokumentet
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);
// Spara resulterande XPS-dokument
doc->Save(RunExamples::outDir() + u"AddText_out.xps");
Lägg till text i XPS-fil med Unicode String i C++
Vi har lärt oss att lägga till enkel textsträng till en XPS-fil. Låt oss fortsätta och överväga ett scenario där du behöver lägga till Unicode-sträng i XPS-filerna. Du måste följa stegen nedan för att lägga till text i XPS-fil, baserat på Unicode-sträng:
- Skapa nytt XPS-dokument
- Lägg till Unicode-text
- Spara utdata XPS-dokument
Följande kod är baserad på dessa steg, som visar hur man lägger till text i XPS-fil med Unicode-sträng i C++-språk:
// Skapa nytt XPS-dokument
auto doc = System::MakeObject<XpsDocument>();
// Lägg till text
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);
// Spara resulterande XPS-dokument
doc->Save(RunExamples::outDir() + u"AddText_unicode.xps");
Infoga bild i XPS-dokument med C++
Bilder kan innehålla mycket visuell information så API:et stöder att infoga en bild i XPS-filen i dina C++-applikationer. Aspose.Page for C++ API låter dig infoga bilder eller bilder i XPS-filer med nedanstående steg:
- Skapa ett nytt XPS-dokument
- Ladda ingångsbild
- Skapa en matris och ImageBrush
- Spara utdata XPS-fil
Kodexemplet nedan visar hur man infogar en bild i XPS-dokument med C++:
// Skapa nytt XPS-dokument
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Lägg till bild
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
// Att skapa en matris är valfritt, den 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(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)));
// Spara resulterande XPS-dokument
doc->Save(RunExamples::outDir() + u"AddImage_out.xps");
Infoga sida vid sida i XPS-fil med C++
Vi har lärt oss det första steget att lägga till eller infoga en bild i en XPS-fil, låt oss fortsätta med relaterat exempel på att infoga sida vid sida i XPS-dokument. Nedan följer stegen för att lägga till sida vid sida i XPS-fil:
- Skapa nytt XPS-dokument
- Lägg till ImageBrush fylld rektangel
- Lägg till sida vid sida
- Spara resulterande XPS-dokument
Följande kodsnutt visar hur man lägger till sida vid sida i XPS-fil med C++:
// Skapa nytt XPS-dokument
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Kakelbild
// ImageBrush fylld rektangel längst upp till höger nedanför
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);
// Spara resulterande XPS-dokument
doc->Save(RunExamples::outDir() + u"AddTiledImage_out.xps");
Slutsats
I den här artikeln har du lärt dig hur du infogar eller lägger till text eller bild i XPS-filer med C++-språket. Den här funktionen kan vara användbar i scenarier som när du behöver lägga till en vattenstämpel i XPS-dokument eller lägga till en stämpel enligt dina krav. Likaså stöds många andra spännande funktioner för filformatet XPS. Du kan lära dig mer genom att besöka API-dokumentationen, eller så kan du diskutera med oss på Free Support Forum. Vi ser fram emot att komma i kontakt med dig!