Aspose.Page for C++, C++ kullanılarak PostScript (PS/EPS) ve XPS belgelerinin işlenmesi için geliştirilmiş Aspose.Page Ürün Ailesi’nin değerli bir eklentisidir. Aspose.Page for C++, yeni XPS dosyaları oluşturmanın yanı sıra mevcut PostScript ve XPS belgelerini program aracılığıyla değiştirmek ve dönüştürmek için yerel bir C++ kitaplığıdır. API ayrıca XPS belgelerindeki tuvaller ve glifler gibi sayfalar ve öğelerle çalışmanıza olanak tanır. Ayrıca, belgelerin PDF’ye ve raster görüntülere dönüştürülmesini destekler. Bu makale, Aspose.Page for C++ kullanılarak XPS belgeleriyle ilgili aşağıdaki işlemlerin nasıl gerçekleştirileceğini göstermektedir.
- C++‘da yeni bir XPS belgesi oluşturun
- Mevcut bir XPS belgesini C++ ile düzenleyin
- C++ ile bir XPS belgesine sayfa veya belge ekleme
C++ için XPS API’sinin kurulumu
Aspose.Page for C++ NuGet üzerinde barındırılır ve ayrıca indirilebilir ikili dosyalar olarak mevcuttur. İndirilebilir paket ayrıca temel örneklerin kaynak kodunu içeren bir C++ konsol uygulaması içerir.
C++ ile XPS Belgesi Oluşturma
Aşağıdakiler, Aspose.Page for C++ kullanarak metin ve resim içeren bir XPS belgesi oluşturmak için basit adımlardır.
- XpsDocument sınıfından bir nesne oluşturun.
- Sırasıyla XpsGlyphs ve XpsPath nesnelerini kullanarak metin ve resim ekleyin.
- Kaydet yöntemini kullanarak belgeyi kaydedin.
Aşağıdaki kod örneği, C++‘da bir XPS belgesinin nasıl oluşturulacağını gösterir.
// Yeni bir XpsDocument nesnesi oluşturun
auto doc = System::MakeObject<XpsDocument>();
// Resim eklemek
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Uygun konumlandırma için kullanılabilecek bir matris oluşturun.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Görüntü Fırçası Oluştur
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)));
// Altbilgi olarak metin
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);
// XPS olarak kaydet
doc->Save(u"Create-XPS.xps");
Çıktı
Bir XPS Belgesini C++ ile Düzenleyin
Mevcut bir XPS belgesini düzenleme adımları aşağıda verilmiştir:
- XpsDocument sınıfından bir nesne oluşturun ve onu XPS belgesinin yolu ile başlatın.
- XpsDocument nesnesini kullanarak belgenin öğelerine erişin.
- Güncellenen belgeyi Kaydet yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, varolan bir XPS belgesinin C++ ile nasıl düzenleneceğini gösterir.
// XPS Belgesini Yükle
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Sayfa listesinin sonuna boş sayfa ekle
doc->AddPage();
// Sayfa listesinin başına boş bir sayfa ekle
doc->InsertPage(1, true);
// XPS dosyasını kaydet
doc->Save(u"Updated-XPS.xps");
C++ ile XPS’e Sayfa ve Belge Ekleme
Aspose.Page for C++, bir XPS belgesine birden çok belgenin yanı sıra sayfalar eklemenize de olanak tanır. Aşağıda, yeni bir XPS belgesi oluşturma ve ek bir sayfa ve belge ekleme adımları yer almaktadır.
- XpsDocument sınıfından bir nesne oluşturun.
- Sayfa ve belge eklemek için sırasıyla AddPage ve AddDocument yöntemlerini kullanın.
- İşlenmek üzere etkin belgeyi seçmek için SelectActiveDocument yöntemini kullanın.
- Belgeye metin veya resim ekleyin.
- Belgeyi kaydedin.
Aşağıdaki kod örneği, C++ kullanılarak XPS’ye ek sayfaların ve belgelerin nasıl ekleneceğini gösterir.
// Yeni belge (1 varsayılan boyutlu sayfaya sahip 1 sabit belge)
auto doc = System::MakeObject<XpsDocument>();
// 1. belgeye 2. sayfayı ekleyin ve aktif olarak ayarlayın
doc->AddPage();
// 1 sayfalı 2. belge ekle (dosyada 3. sayfa)
doc->AddDocument(false);
// 1. belgenin 2. sayfası hala aktif
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);
// 2. belgeyi etkinleştir
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);
// XPS dosyasını kaydet
doc->Save(u"Create-XPS.xps");
Aspose.Page for C++ hakkında daha fazlasını öğrenin
GitHub’da bulunan belgeleri ve kaynak kodu örneklerini kullanarak Aspose.Page for C++ hakkında daha fazla bilgi edinebilirsiniz.