Wstaw obraz tekstowy XPS C++

Możesz łatwo tworzyć, edytować i manipulować plikami XPS. Co więcej, możesz kontrolować zawartość i jej położenie zgodnie z własnymi wymaganiami. Możesz wstawić obraz lub tekst w plikach XPS programowo przy użyciu języka C++. Przyjrzyjmy się szczegółowo tej funkcji w następujących tematach:

Praca z zawartością tekstową lub obrazkową w plikach XPS — instalacja interfejsu API

Do plików XPS w aplikacjach C++ można dodawać zawartość tekstową lub obrazkową. Nie musisz brać pod uwagę drobnych szczegółów dotyczących formatu pliku dokumentu, ponieważ niewiele wywołań API może wykonać zadanie zgodnie z Twoimi wymaganiami. Interfejs API Aspose.Page for C++ można łatwo skonfigurować, pobierając go z New Releases lub za pomocą poniższego polecenia instalacyjnego NuGet:

PM> Install-Package Aspose.Page.Cpp

Dodaj tekst w pliku XPS za pomocą C++

Tekst może być użyty w pliku XPS do oznaczenia niektórych rysunków, obrazów lub innych treści. Podobnie możesz również użyć tekstu jako znaku wodnego dla pliku. Musisz wykonać poniższe czynności, aby dodać lub wstawić tekst w plikach XPS:

  1. Utwórz nowy Dokument XPS
  2. Utwórz pędzel, aby dodać tekst
  3. Dodaj glif do dokumentu
  4. Zapisz wyjściowy dokument XPS

Poniższy kod pokazuje, jak dodać tekst do pliku XPS za pomocą C++:

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

//Utwórz pędzel 
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());

//Dodaj glif do dokumentu
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);

// Zapisz wynikowy dokument XPS
doc->Save(RunExamples::outDir() + u"AddText_out.xps");

Dodaj tekst w pliku XPS za pomocą ciągu znaków Unicode w C++

Nauczyliśmy się dodawać prosty ciąg tekstowy do pliku XPS. Przejdźmy dalej i rozważmy scenariusz, w którym musisz dodać ciąg znaków Unicode w plikach XPS. Musisz wykonać poniższe kroki, aby dodać tekst w pliku XPS na podstawie ciągu znaków Unicode:

  1. Utwórz nowy dokument XPS
  2. Dodaj tekst Unicode
  3. Zapisz wyjściowy dokument XPS

Poniższy kod jest oparty na tych krokach i pokazuje, jak dodać tekst do pliku XPS przy użyciu ciągu znaków Unicode w języku C++:

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

// Dodaj tekst
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);

// Zapisz wynikowy dokument XPS
doc->Save(RunExamples::outDir() + u"AddText_unicode.xps");

Wstaw obraz do dokumentu XPS za pomocą C++

Obrazy mogą zawierać wiele informacji wizualnych, dlatego interfejs API obsługuje wstawianie obrazu do pliku XPS w aplikacjach C++. Aspose.Page for C++ API pozwala wstawiać obrazy lub obrazy w plikach XPS, wykonując poniższe czynności:

  1. Utwórz nowy dokument XPS
  2. Załaduj obraz wejściowy
  3. Utwórz Matrycę i ImageBrush
  4. Zapisz wyjściowy plik XPS

Poniższy przykład kodu pokazuje, jak wstawić obraz do dokumentu XPS za pomocą C++:

// Utwórz nowy dokument XPS
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();

// Dodaj obraz
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));

// Utworzenie matrycy jest opcjonalne, może służyć do odpowiedniego 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(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)));

// Zapisz wynikowy dokument XPS
doc->Save(RunExamples::outDir() + u"AddImage_out.xps");

Wstaw obraz kafelkowy do pliku XPS za pomocą C++

Nauczyliśmy się pierwszego kroku dodawania lub wstawiania obrazu do pliku XPS, przejdźmy do powiązanego przykładu wstawiania obrazu kafelkowego w dokumencie XPS. Poniżej przedstawiono kroki dodawania obrazu kafelkowego w pliku XPS:

  1. Utwórz nowy dokument XPS
  2. Dodaj wypełniony prostokąt ImageBrush.
  3. Dodaj kafelkowy obraz
  4. Zapisz wynikowy dokument XPS

Poniższy fragment kodu pokazuje, jak dodać obraz kafelkowy w pliku XPS przy użyciu języka C++:

// Utwórz nowy dokument XPS
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();

// Obraz kafelkowy
// ImageBrush wypełniony prostokąt w prawym górnym rogu
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);

// Zapisz wynikowy dokument XPS
doc->Save(RunExamples::outDir() + u"AddTiledImage_out.xps");

Wniosek

W tym artykule nauczyłeś się wstawiać lub dodawać tekst lub obraz w plikach XPS przy użyciu języka C++. Ta funkcja może być pomocna w sytuacjach, gdy trzeba dodać znak wodny w dokumentach XPS lub dodać stempel zgodnie z własnymi wymaganiami. Podobnie wiele innych ekscytujących funkcji jest obsługiwanych w formacie pliku XPS. Możesz dowiedzieć się więcej, odwiedzając dokumentację interfejsu API lub porozmawiać z nami na bezpłatnym forum pomocy technicznej. Czekamy na kontakt z Tobą!

Zobacz też