Bekerja dengan kanvas (canvases) di dalam XPS
Memotong (clip) dan mengubah (transform) kanvas dalam file XPS menggunakan API C++
Dalam file XPS, kanvas (canvas) adalah area persegi panjang pada halaman tempat konten visual, seperti teks, gambar, dan bentuk, dapat digambar. Ini berfungsi sebagai wadah untuk elemen-elemen ini dan menyediakan kerangka kerja untuk mengatur dan melapiskannya. Kanvas dapat digunakan kembali di berbagai bagian dokumen atau bahkan di beberapa dokumen, yang menyediakan cara fleksibel untuk menstrukturkan dan mengatur konten dalam dokumen XPS. Karakteristik utama kanvas dalam file XPS:
- Kanvas dapat disarangkan (nested) di dalam kanvas lain, menciptakan struktur hierarkis yang memungkinkan tata letak (layouts) yang kompleks dan pengelompokan elemen.
- Kanvas dapat diubah (transform) menggunakan berbagai operasi, seperti translasi (translation), rotasi (rotation), dan penskalaan (scaling). Ini memungkinkan penentuan posisi yang fleksibel dan pengubahan ukuran konten.
- Kanvas dapat dipotong (clip) ke wilayah tertentu, membatasi area yang terlihat dari kontennya. Ini berguna untuk membuat bentuk dan efek yang rumit.
- Kanvas dapat berisi berbagai elemen visual, termasuk rangkaian teks (text runs), paragraf, dan kotak teks (text boxes). Mereka juga dapat berisi gambar, bentuk geometris, dan kanvas lainnya.
Mengelola kanvas dalam dokumen adalah salah satu fitur yang ditawarkan oleh Aspose.Page untuk C++. Solusi ini bekerja dengan bahasa deskripsi halaman yang berbeda, XPS pada khususnya.
Untuk mengubah (transform) kanvas dari file XPS, ikuti panduan di bawah ini:
- Buat file XPS menggunakan kelas XpsDocument.
- Buat kanvas utama, yang umum untuk semua elemen halaman, menggunakan metode AddCanvas().
- Lakukan offset kiri dan atas di kanvas utama menggunakan metode CreateMatrix().
- Buat geometri jalur persegi panjang (rectangle path geometry) dengan metode CreatePathGeometry().
- Buat pengisian (fill) untuk persegi panjang menggunakan kelas XpsBrush.
- Untuk membuat persegi panjang di kanvas 2 dan mengisinya, gunakan kelas XpsPath.
- Untuk memindahkan (translate) kanvas 3 guna memosisikan persegi panjang baru di bawah persegi panjang sebelumnya, gunakan metode CreateMatrix().
- Untuk memindahkan kanvas ini ke sisi kanan halaman, gunakan metode Translate().
- Untuk menskalakan (scale) kanvas 4, panggil metode Scale().
- Untuk memutar (rotate) kanvas 5 di sekitar suatu titik sebesar 45 derajat; metode RotateAround() sangat berguna.
- Simpan dokumen XPS yang diubah menggunakan metode XpsDocument.Save().
Transformasi kanvas (canvas transformation)
Untuk memotong (clip) kanvas dari file XPS, ikuti panduan di bawah ini:
- Buat atau buka file XPS menggunakan kelas XpsDocument.
- Buat kanvas utama, yang umum untuk semua elemen halaman, menggunakan metode AddCanvas().
- Lakukan offset kiri dan atas di kanvas utama menggunakan metode CreateMatrix().
- Buat geometri jalur persegi panjang dengan metode CreatePathGeometry().
- Buat pengisian untuk persegi panjang menggunakan kelas XpsBrush.
- Untuk menambahkan kanvas lain dengan klip (clip) ke kanvas utama, panggil metode AddCanvas() lagi.
- Buat geometri lingkaran untuk klip menggunakan kelas XpsPathGeometry.
- Untuk membuat persegi panjang di kanvas ini dan mengisinya, gunakan kelas XpsPath.
- Tambahkan kanvas lain dengan metode AddCanvas(), lalu buat persegi panjang di kanvas ini dan gores (stroke) dengan kelas XpsPathGeometry.
- Simpan dokumen XPS yang diubah menggunakan metode XpsDocument.Save().
Pemotongan kanvas (canvas clipping)
XPS Apa itu Format File XPS
XPS (XML Paper Specification) adalah alternatif Microsoft untuk PDF. Berdasarkan XML/HTML, menjaga tata letak di berbagai platform dan bersifat independen sistem operasi.