Vytvářejte dokumenty PS EPS XPS v C++

Aspose.Page for C++ je cenným přírůstkem do Aspose.Page Product Family, která je vyvinuta pro manipulaci s dokumenty PostScript (PS/EPS) a XPS pomocí C++. Aspose.Page for C++ je nativní knihovna C++ pro vytváření nových souborů XPS a také pro úpravu a konverzi stávajících dokumentů PostScript a XPS programově. Rozhraní API vám také umožňuje pracovat se stránkami a prvky, jako jsou plátna a glyfy v dokumentech XPS. Dále podporuje převod dokumentů do PDF a rastrových obrázků. Tento článek ukazuje, jak provést následující operace související s dokumenty XPS pomocí Aspose.Page for C++.

  • Vytvořte nový dokument XPS v C++
  • Upravte existující dokument XPS v C++
  • Přidejte stránku nebo dokument do dokumentu XPS v C++

Instalace XPS API pro C++

Aspose.Page for C++ je hostován na NuGet a je také dostupný jako binární soubory ke stažení. Balíček ke stažení obsahuje také konzolovou aplikaci C++ obsahující zdrojový kód základních příkladů.

Vytvořte dokument XPS v C++

Níže jsou uvedeny jednoduché kroky k vytvoření dokumentu XPS obsahujícího text a obrázek pomocí Aspose.Page for C++.

Následující ukázka kódu ukazuje, jak vytvořit dokument XPS v C++.

// Vytvořte nový objekt XpsDocument
auto doc = System::MakeObject<XpsDocument>();

// Přidat obrázek
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Vytvořte matici, kterou lze použít pro správné umístění.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Vytvořte obrazový štětec
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 jako zápatí
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 &#xa9; 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);

// Uložit jako XPS
doc->Save(u"Create-XPS.xps");

Výstup

Úprava dokumentu PS EPS XPS C++

Upravte dokument XPS v C++

Zde jsou kroky k úpravě existujícího dokumentu XPS:

  • Vytvořte objekt třídy XpsDocument a inicializujte jej s cestou dokumentu XPS.
  • Získejte přístup k prvkům dokumentu pomocí objektu XpsDocument.
  • Uložte aktualizovaný dokument pomocí metody Uložit.

Následující ukázka kódu ukazuje, jak upravit existující dokument XPS v C++.

// Načíst dokument XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Přidejte prázdnou stránku na konec seznamu stránek
doc->AddPage();
// Vložte prázdnou stránku na začátek seznamu stránek
doc->InsertPage(1, true); 
// Uložte soubor XPS
doc->Save(u"Updated-XPS.xps");

Přidejte stránku a dokument do XPS v C++

Aspose.Page for C++ také umožňuje přidávat stránky i více dokumentů v dokumentu XPS. Následují kroky k vytvoření nového dokumentu XPS a přidání další stránky a dokumentu.

  • Vytvořte objekt třídy XpsDocument.
  • Pro přidání stránky a dokumentu použijte metody AddPage a AddDocument.
  • Pomocí metody SelectActiveDocument vyberte aktivní dokument ke zpracování.
  • Přidejte do dokumentu text nebo obrázek.
  • Uložte dokument.

Následující ukázka kódu ukazuje, jak přidat další stránky a dokumenty do XPS pomocí C++.

// Nový dokument (1 pevný dokument s 1 stránkou výchozí velikosti)
auto doc = System::MakeObject<XpsDocument>();
// Přidejte 2. stránku na 1. dokument a nastavte jako aktivní
doc->AddPage();
// Přidat 2. dokument s 1 stránkou (3. stránka v souboru)
doc->AddDocument(false);
// 2. stránka prvního dokumentu je stále aktivní
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);
// Aktivujte 2. dokument
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); 
// Uložte soubor XPS
doc->Save(u"Create-XPS.xps");

Další informace o Aspose.Page for C++

Více o Aspose.Page for C++ se můžete dozvědět pomocí dokumentace a příklady zdrojového kódu dostupných na GitHubu.