Aspose.Page for C++ adalah tambahan berharga untuk Aspose.Page Product Family yang dikembangkan untuk manipulasi dokumen PostScript (PS/EPS) dan XPS menggunakan C++. Aspose.Page for C++ adalah pustaka C++ asli untuk membuat file XPS baru serta memodifikasi dan mengonversi dokumen PostScript dan XPS yang ada secara terprogram. API juga memungkinkan Anda bekerja dengan halaman dan elemen seperti kanvas dan mesin terbang dalam dokumen XPS. Selain itu, ini mendukung konversi dokumen ke PDF dan gambar raster. Artikel ini menunjukkan cara melakukan operasi berikut yang terkait dengan dokumen XPS menggunakan Aspose.Page for C++.
- Buat dokumen XPS baru di C++
- Edit dokumen XPS yang ada di C++
- Tambahkan halaman atau dokumen ke dokumen XPS di C++
Instalasi XPS API untuk C++
Aspose.Page for C++ dihosting di NuGet serta tersedia sebagai binari yang dapat diunduh. Paket yang dapat diunduh juga berisi aplikasi konsol C++ yang berisi kode sumber dari contoh dasar.
Buat Dokumen XPS di C++
Berikut ini adalah langkah-langkah sederhana untuk membuat dokumen XPS yang berisi teks dan gambar menggunakan Aspose.Page for C++.
- Buat objek dari kelas XpsDocument.
- Tambahkan teks dan gambar menggunakan objek XpsGlyphs dan XpsPath.
- Simpan dokumen menggunakan metode Save.
Contoh kode berikut menunjukkan cara membuat dokumen XPS di C++.
// Buat objek XpsDocument baru
auto doc = System::MakeObject<XpsDocument>();
// Menambahkan gambar
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Buat matriks yang dapat digunakan untuk pemosisian yang tepat.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Buat Kuas Gambar
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)));
// Teks sebagai footer
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);
// Simpan sebagai XPS
doc->Save(u"Create-XPS.xps");
Keluaran
Edit Dokumen XPS di C++
Berikut langkah-langkah untuk mengedit dokumen XPS yang sudah ada:
- Buat objek kelas XpsDocument dan inisialisasi dengan jalur dokumen XPS.
- Akses elemen dokumen menggunakan objek XpsDocument.
- Simpan dokumen yang diperbarui menggunakan metode Save.
Contoh kode berikut menunjukkan cara mengedit dokumen XPS yang ada di C++.
// Muat Dokumen XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Tambahkan halaman kosong di akhir daftar halaman
doc->AddPage();
// Sisipkan halaman kosong di awal daftar halaman
doc->InsertPage(1, true);
// Simpan file XPS
doc->Save(u"Updated-XPS.xps");
Tambahkan Halaman dan Dokumen ke XPS di C++
Aspose.Page for C++ juga memungkinkan Anda menambahkan halaman serta banyak dokumen dalam dokumen XPS. Berikut adalah langkah-langkah untuk membuat dokumen XPS baru dan menambahkan halaman dan dokumen tambahan.
- Buat objek dari kelas XpsDocument.
- Gunakan metode AddPage dan AddDocument untuk menambahkan halaman dan dokumen secara berurutan.
- Gunakan metode SelectActiveDocument untuk memilih dokumen aktif untuk diproses.
- Tambahkan teks atau gambar ke dokumen.
- Simpan dokumen.
Contoh kode berikut menunjukkan cara menambahkan halaman dan dokumen tambahan ke XPS menggunakan C++.
// Dokumen baru (1 dokumen tetap dengan 1 halaman ukuran default)
auto doc = System::MakeObject<XpsDocument>();
// Tambahkan halaman ke-2 pada dokumen ke-1 dan aktifkan
doc->AddPage();
// Tambahkan dokumen ke-2 dengan 1 halaman (halaman ke-3 dalam file)
doc->AddDocument(false);
// Halaman ke-2 dokumen pertama masih 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);
// Aktifkan dokumen ke-2
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);
// Simpan file XPS
doc->Save(u"Create-XPS.xps");
Pelajari lebih lanjut tentang Aspose.Page for C++
Anda dapat mempelajari lebih lanjut tentang Aspose.Page for C++ menggunakan dokumentasi dan contoh kode sumber yang tersedia di GitHub.