Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Windows Presentation Foundation (WPF) menawarkan berbagai fitur dokumen yang memungkinkan pembuatan konten dengan keakuratan tinggi yang dirancang agar lebih mudah diakses dan dibaca daripada pada windows generasi sebelumnya. Selain kemampuan dan kualitas yang ditingkatkan, WPF juga menyediakan layanan terintegrasi untuk tampilan dokumen, kemasan, dan keamanan. Topik ini menyediakan pengantar jenis dokumen WPF dan pengemasan dokumen.
Tipe Dokumen
WPF membagi dokumen menjadi dua kategori luas berdasarkan penggunaan yang dimaksudkan; kategori dokumen ini disebut "dokumen tetap" dan "dokumen alur."
Dokumen tetap ditujukan untuk aplikasi yang memerlukan presentasi "apa yang Anda lihat adalah apa yang Anda dapatkan" (WYSIWYG), terlepas dari tampilan atau perangkat keras printer yang digunakan. Penggunaan umum untuk dokumen tetap termasuk penerbitan desktop, pemrosesan kata, dan tata letak formulir, di mana kepatuhan terhadap desain halaman asli sangat penting. Sebagai bagian dari tata letaknya, dokumen tetap mempertahankan penempatan posisi elemen konten yang tepat terlepas dari tampilan atau perangkat cetak yang digunakan. Misalnya, halaman dokumen tetap yang dilihat pada tampilan 96 dpi akan tampak sama persis ketika output ke printer laser 600 dpi seperti ketika output ke phototypesetter 4800 dpi. Tata letak halaman tetap sama dalam semua kasus, sementara kualitas dokumen memaksimalkan kemampuan setiap perangkat.
Sebagai perbandingan, dokumen alur dirancang untuk mengoptimalkan tampilan dan keterbacaan dan paling baik digunakan ketika kemudahan membaca adalah skenario konsumsi dokumen utama. Daripada diatur ke satu tata letak yang telah ditentukan sebelumnya, dokumen alur secara dinamis menyesuaikan dan mengalirkan ulang kontennya berdasarkan variabel run-time seperti ukuran jendela, resolusi perangkat, dan preferensi pengguna opsional. Halaman Web adalah contoh sederhana dari dokumen alur di mana konten halaman diformat secara dinamis agar pas dengan jendela saat ini. Dokumen alur mengoptimalkan pengalaman menampilkan dan membaca untuk pengguna, berdasarkan lingkungan runtime. Misalnya, dokumen alur yang sama akan memformat ulang secara dinamis untuk keterbacaan optimal pada layar resolusi tinggi 19 inci atau layar PDA 2x3 inci kecil. Selain itu, dokumen alur memiliki sejumlah fitur bawaan termasuk pencarian, mode tampilan yang mengoptimalkan keterbacaan, dan kemampuan untuk mengubah ukuran dan tampilan font. Lihat Gambaran Umum Dokumen Alur untuk ilustrasi, contoh, dan informasi mendalam tentang dokumen alur.
Kontrol Dokumen dan Tata Letak Teks
.NET Framework menyediakan serangkaian kontrol bawaan yang disederhanakan menggunakan dokumen tetap, dokumen alur, dan teks umum dalam aplikasi Anda. Tampilan konten dokumen tetap didukung menggunakan kontrol DocumentViewer. Tampilan konten dokumen alur didukung oleh tiga pengontrol berbeda: FlowDocumentReader, FlowDocumentPageViewer, dan FlowDocumentScrollViewer yang memetakan ke skenario pengguna yang berbeda (lihat bagian di bawah). Kontrol WPF lainnya menyediakan tata letak yang disederhanakan untuk mendukung penggunaan teks umum (lihat Teks di Antarmuka Pengguna, di bawah).
Kontrol Dokumen Tetap - DocumentViewer
Kontrol DocumentViewer dirancang untuk menampilkan konten FixedDocument. Kontrol DocumentViewer menyediakan antarmuka pengguna intuitif yang menyediakan dukungan bawaan untuk operasi umum termasuk output cetak, salin ke clipboard, zoom, dan fitur pencarian teks. Kontrol ini menyediakan akses ke halaman konten melalui mekanisme pengguliran yang familier. Seperti semua kontrol WPF, DocumentViewer mendukung restyling lengkap atau sebagian, yang memungkinkan kontrol untuk diintegrasikan secara visual ke dalam hampir semua aplikasi atau lingkungan.
DocumentViewer dirancang untuk menampilkan konten dengan cara baca-saja; pengeditan atau modifikasi konten tidak tersedia dan tidak didukung.
Kontrol Dokumen Alur Kerja
Nota
Untuk informasi selengkapnya tentang fitur dokumen alur dan cara membuatnya, lihat Gambaran Umum Dokumen Alur .
Tampilan konten dokumen alur didukung oleh tiga kontrol: FlowDocumentReader, FlowDocumentPageViewer, dan FlowDocumentScrollViewer.
FlowDocumentReader
FlowDocumentReader mencakup fitur yang memungkinkan pengguna untuk memilih secara dinamis antara berbagai mode tampilan, termasuk mode tampilan satu halaman (halaman-pada-a-waktu), mode tampilan dua halaman-pada-a-waktu (format baca buku), dan mode tampilan gulir berkelanjutan (tanpa dasar). Untuk informasi selengkapnya tentang mode tampilan ini, lihat FlowDocumentReaderViewingMode. Jika Anda tidak memerlukan kemampuan untuk beralih secara dinamis antara mode tampilan yang berbeda, FlowDocumentPageViewer dan FlowDocumentScrollViewer menyediakan penampil konten aliran yang lebih ringan bobotnya yang tetap dalam mode tampilan tertentu.
FlowDocumentPageViewer dan FlowDocumentScrollViewer
FlowDocumentPageViewer menampilkan konten dalam mode tampilan satu halaman, sementara FlowDocumentScrollViewer menunjukkan konten dalam mode gulir terus menerus. Baik FlowDocumentPageViewer maupun FlowDocumentScrollViewer ditetapkan ke mode tampilan tertentu. Bandingkan dengan FlowDocumentReader, yang mencakup fitur yang memungkinkan pengguna untuk secara dinamis memilih antara berbagai mode tampilan (sebagaimana disediakan oleh enumerasi FlowDocumentReaderViewingMode), dengan mengorbankan sumber daya yang lebih besar daripada FlowDocumentPageViewer atau FlowDocumentScrollViewer.
Secara default, bilah gulir vertikal selalu ditampilkan, dan bilah gulir horizontal menjadi terlihat jika diperlukan. UI default untuk FlowDocumentScrollViewer tidak menyertakan toolbar; namun, properti IsToolBarVisible dapat digunakan untuk mengaktifkan toolbar bawaan.
Teks di Antarmuka Pengguna
Selain menambahkan teks ke dokumen, teks jelas dapat digunakan dalam antarmuka pengguna aplikasi seperti formulir. WPF menyertakan beberapa kontrol untuk menggambar teks ke layar. Setiap kontrol ditargetkan ke skenario yang berbeda dan memiliki daftar fitur dan batasannya sendiri. Secara umum, elemen TextBlock harus digunakan ketika dukungan teks terbatas diperlukan, seperti kalimat singkat dalam antarmuka pengguna (UI). Label dapat digunakan ketika dukungan teks minimal diperlukan. Untuk informasi selengkapnya, lihat Gambaran Umum TextBlock.
Kemasan Dokumen
API System.IO.Packaging menyediakan cara yang efisien untuk mengatur data aplikasi, konten dokumen, dan sumber daya terkait dalam satu kontainer yang mudah diakses, portabel, dan mudah didistribusikan. File ZIP adalah contoh jenis Package yang mampu menahan beberapa objek sebagai satu unit. API pengemasan menyediakan implementasi ZipPackage default yang dirancang menggunakan standar Konvensi Kemasan Terbuka dengan arsitektur file XML dan ZIP. API pengemasan WPF memudahkan untuk membuat paket, dan untuk menyimpan dan mengakses objek di dalamnya. Objek yang disimpan dalam Package disebut sebagai PackagePart ("bagian"). Paket juga dapat mencakup sertifikat digital yang ditandatangani yang dapat digunakan untuk mengidentifikasi asal bagian dan untuk memvalidasi bahwa konten paket belum dimodifikasi. Paket juga menyertakan fitur PackageRelationship yang memungkinkan informasi tambahan ditambahkan ke paket atau terkait dengan bagian tertentu tanpa benar-benar memodifikasi konten bagian yang ada. Layanan paket juga mendukung Microsoft Windows Rights Management (RM).
Arsitektur Paket WPF berfungsi sebagai fondasi untuk sejumlah teknologi utama:
Dokumen XPS sesuai dengan Spesifikasi Kertas XML (XPS).
Dokumen format XML terbuka Microsoft Office "12" (.docx).
Format penyimpanan kustom untuk desain aplikasi Anda sendiri.
Berdasarkan API pengemasan, XpsDocument dirancang khusus untuk menyimpan dokumen konten tetap WPF. XpsDocument adalah dokumen mandiri yang dapat dibuka di penampil, ditampilkan dalam kontrol DocumentViewer, dirutekan ke antrian cetak, atau langsung dicetak ke printer yang kompatibel dengan XPS.
Bagian berikut memberikan informasi tambahan tentang API Package dan XpsDocument yang disediakan dengan WPF.
Komponen Paket
API pengemasan WPF memungkinkan data dan dokumen aplikasi diatur ke dalam satu unit portabel. File ZIP adalah salah satu jenis paket yang paling umum dan merupakan jenis paket default yang disediakan dengan WPF. Package sendiri adalah kelas abstrak dari mana ZipPackage diimplementasikan menggunakan arsitektur file XML dan ZIP standar terbuka. Metode Open menggunakan ZipPackage untuk membuat dan menggunakan file ZIP secara default. Paket dapat berisi tiga jenis item dasar:
| Barang | Deskripsi |
|---|---|
| PackagePart | Konten aplikasi, data, dokumen, dan file sumber daya. |
| PackageDigitalSignature | [Sertifikat X.509] untuk identifikasi, autentikasi, dan validasi. |
| PackageRelationship | Menambahkan informasi yang terkait dengan paket atau bagian tertentu. |
Bagian Paket
PackagePart ("bagian") adalah kelas abstrak yang mengacu pada objek yang disimpan dalam Package. Dalam file ZIP, bagian paket sesuai dengan file individual yang disimpan dalam file ZIP. ZipPackagePart menyediakan implementasi default untuk objek yang dapat diserialisasikan yang disimpan dalam ZipPackage. Seperti sistem file, bagian yang terkandung dalam paket disimpan dalam direktori hierarkis atau organisasi "gaya folder". Dengan menggunakan API pengemasan WPF, aplikasi dapat menulis, menyimpan, dan membaca beberapa objek PackagePart menggunakan satu kontainer file ZIP.
PackageDigitalSignatures
Untuk keamanan, PackageDigitalSignature ("tanda tangan digital") dapat dikaitkan dengan bagian dalam paket. PackageDigitalSignature menggabungkan [509] yang menyediakan dua fitur:
Mengidentifikasi dan mengautentikasi pembuat bagian.
Memvalidasi bahwa bagian belum dimodifikasi.
Tanda tangan digital tidak menghalangi bagian dari dimodifikasi, tetapi pemeriksaan validasi terhadap tanda tangan digital akan gagal jika bagian diubah dengan cara apa pun. Aplikasi kemudian dapat mengambil tindakan yang sesuai—misalnya, memblokir pembukaan bagian atau memberi tahu pengguna bahwa bagian tersebut telah dimodifikasi dan tidak aman.
HubunganPaket
PackageRelationship ("hubungan") menyediakan mekanisme untuk mengaitkan informasi tambahan dengan paket atau bagian dalam paket. Hubungan adalah fasilitas tingkat paket yang dapat mengaitkan informasi tambahan dengan bagian tanpa memodifikasi konten bagian aktual. Memasukkan data baru langsung ke konten bagian biasanya tidak praktis dalam banyak kasus:
Jenis bagian aktual dan skema kontennya tidak diketahui.
Bahkan jika diketahui, skema konten mungkin tidak menyediakan sarana untuk menambahkan informasi baru.
Bagian ini mungkin ditandatangani atau dienkripsi secara digital, menghalangi modifikasi apa pun.
Hubungan paket menyediakan cara yang dapat ditemukan untuk menambahkan dan mengaitkan informasi tambahan dengan bagian individual atau dengan seluruh paket. Hubungan paket digunakan untuk dua fungsi utama:
Menentukan hubungan dependensi dari satu bagian ke bagian lain.
Menentukan hubungan informasi yang menambahkan catatan atau data lain yang terkait dengan bagian tersebut.
PackageRelationship menyediakan cara cepat dan dapat ditemukan untuk menentukan dependensi dan menambahkan informasi lain yang terkait dengan bagian dari paket atau paket secara keseluruhan.
Hubungan Dependensi
Hubungan dependensi digunakan untuk menjelaskan dependensi yang dibuat satu bagian ke bagian lain. Misalnya, paket mungkin berisi bagian HTML yang menyertakan satu atau beberapa <tag gambar> img. Tag gambar merujuk pada gambar yang terletak di dalam paket sebagai bagian internal atau di luar paket seperti yang dapat diakses melalui Internet. Membuat PackageRelationship yang terkait dengan file HTML membuat menemukan dan mengakses sumber daya dependen dengan cepat dan mudah. Browser atau aplikasi penampil dapat langsung mengakses hubungan bagian dan segera mulai merakit sumber daya dependen tanpa mengetahui skema atau mengurai dokumen.
Hubungan Informasi
Mirip dengan catatan atau anotasi, PackageRelationship juga dapat digunakan untuk menyimpan jenis informasi lain untuk dikaitkan dengan bagian tanpa harus benar-benar memodifikasi konten bagian itu sendiri.
Dokumen XPS
Dokumen Spesifikasi Kertas XML (XPS) adalah paket yang berisi satu atau beberapa dokumen tetap bersama dengan semua sumber daya dan informasi yang diperlukan untuk penyajian. XPS juga merupakan format file spool cetak Windows Vista asli. XpsDocument disimpan dalam himpunan data ZIP standar, dan dapat menyertakan kombinasi KOMPONEN XML dan biner, seperti file gambar dan font. PackageRelationships digunakan untuk menentukan dependensi antara konten dan sumber daya yang diperlukan untuk sepenuhnya merender dokumen. Desain XpsDocument menyediakan solusi dokumen keakuratan tinggi tunggal yang mendukung beberapa penggunaan:
Membaca, menulis, dan menyimpan konten dan sumber daya dokumen tetap sebagai file tunggal, portabel, dan mudah didistribusikan.
Menampilkan dokumen dengan aplikasi XPS Viewer.
Mengeluarkan dokumen dalam format output spool cetak asli Windows Vista.
Merutekan dokumen langsung ke printer yang kompatibel dengan XPS.
Lihat juga
.NET Desktop feedback