Twórz dokumenty PS EPS XPS w C++

Aspose.Page for C++ jest cennym dodatkiem do Aspose.Page Product Family, który został opracowany do manipulacji dokumentami PostScript (PS/EPS) i XPS przy użyciu C++. Aspose.Page for C++ to natywna biblioteka C++ do tworzenia nowych plików XPS, a także programowego modyfikowania i konwertowania istniejących dokumentów PostScript i XPS. Interfejs API umożliwia także pracę ze stronami i elementami, takimi jak płótna i glify w dokumentach XPS. Ponadto obsługuje konwersję dokumentów do formatu PDF i obrazów rastrowych. W tym artykule pokazano, jak wykonać następujące operacje związane z dokumentami XPS przy użyciu Aspose.Page dla języka C++.

  • Utwórz nowy dokument XPS w C++
  • Edytuj istniejący dokument XPS w C++
  • Dodaj stronę lub dokument do dokumentu XPS w C++

Instalacja XPS API dla C++

Aspose.Page for C++ jest hostowany na NuGet, jak również dostępny jako binaria do pobrania. Pakiet do pobrania zawiera również aplikację konsolową C++ zawierającą kod źródłowy podstawowych przykładów.

Utwórz dokument XPS w C++

Poniżej przedstawiono proste kroki, aby utworzyć dokument XPS zawierający tekst i obraz przy użyciu Aspose.Page for C++.

Poniższy przykładowy kod pokazuje, jak utworzyć dokument XPS w języku C++.

// Utwórz nowy obiekt XpsDocument
auto doc = System::MakeObject<XpsDocument>();

// Dodaj obraz
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Utwórz macierz, której można użyć do prawidłowego pozycjonowania.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Utwórz pędzel obrazu
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)));

// Tekst jako stopka
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);

// Zapisz jako XPS
doc->Save(u"Create-XPS.xps");

Wyjście

Edytuj dokument PS EPS XPS C++

Edytuj dokument XPS w C++

Poniżej przedstawiono kroki edytowania istniejącego dokumentu XPS:

  • Utwórz obiekt klasy XpsDocument i zainicjuj go ścieżką dokumentu XPS.
  • Uzyskaj dostęp do elementów dokumentu przy użyciu obiektu XpsDocument.
  • Zapisz zaktualizowany dokument za pomocą metody Save.

Poniższy przykładowy kod pokazuje, jak edytować istniejący dokument XPS w języku C++.

// Załaduj dokument XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Dodaj pustą stronę na końcu listy stron
doc->AddPage();
// Wstaw pustą stronę na początku listy stron
doc->InsertPage(1, true); 
// Zapisz plik XPS
doc->Save(u"Updated-XPS.xps");

Dodaj stronę i dokument do XPS w C++

Aspose.Page for C++ pozwala także dodawać strony oraz wiele dokumentów w dokumencie XPS. Poniżej opisano kroki tworzenia nowego dokumentu XPS oraz dodawania dodatkowej strony i dokumentu.

Poniższy przykładowy kod pokazuje, jak dodać dodatkowe strony i dokumenty do XPS przy użyciu języka C++.

// Nowy dokument (1 stały dokument z 1 stroną o domyślnym rozmiarze)
auto doc = System::MakeObject<XpsDocument>();
// Dodaj drugą stronę do pierwszego dokumentu i ustaw jako aktywny
doc->AddPage();
// Dodaj drugi dokument z 1 stroną (trzecia strona w pliku)
doc->AddDocument(false);
// Druga strona pierwszego dokumentu jest nadal aktywna
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);
// Aktywuj drugi 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); 
// Zapisz plik XPS
doc->Save(u"Create-XPS.xps");

Dowiedz się więcej o Aspose. Page dla C++

Możesz dowiedzieć się więcej o Aspose.Page for C++, korzystając z dokumentacji i przykładów kodu źródłowego dostępnych na GitHub.