Bagikan melalui


Dokumen dalam WPF

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 DocumentViewer kontrol. Tampilan konten dokumen alur didukung oleh tiga kontrol berbeda: FlowDocumentReader, , FlowDocumentPageViewer, dan FlowDocumentScrollViewer peta mana 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

DocumentViewer Kontrol dirancang untuk menampilkan FixedDocument konten. Kontrol ini 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 parsial, 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

Catatan

Untuk informasi selengkapnya tentang fitur dokumen alur dan cara membuatnya, lihat Gambaran Umum Dokumen Alur.

Tampilan konten dokumen alur didukung oleh tiga kontrol: FlowDocumentReader, , FlowDocumentPageViewerdan FlowDocumentScrollViewer.

FlowDocumentReader

FlowDocumentReader termasuk 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 satu waktu (format baca buku), dan mode tampilan pengguliran berkelanjutan (tanpa dasar). Untuk informasi selengkapnya tentang mode tampilan ini, lihat FlowDocumentReaderViewingMode. Jika Anda tidak memerlukan kemampuan untuk beralih secara dinamis di antara mode tampilan yang berbeda, FlowDocumentPageViewer dan FlowDocumentScrollViewer menyediakan penampil konten aliran yang lebih ringan yang diperbaiki dalam mode tampilan tertentu.

FlowDocumentPageViewer dan FlowDocumentScrollViewer

FlowDocumentPageViewer memperlihatkan konten dalam mode tampilan halaman-pada-a-time, sambil FlowDocumentScrollViewer menampilkan konten dalam mode gulir berkelanjutan. Keduanya FlowDocumentPageViewer dan FlowDocumentScrollViewer diperbaiki ke mode tampilan tertentu. FlowDocumentReaderBandingkan dengan , yang mencakup fitur yang memungkinkan pengguna untuk secara dinamis memilih antara berbagai mode tampilan (sebagaimana disediakan oleh FlowDocumentReaderViewingMode enumerasi), dengan biaya menjadi lebih intensif sumber daya 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, IsToolBarVisible properti 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, TextBlock elemen 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

System.IO.Packaging API 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 yang Package mampu menahan beberapa objek sebagai satu unit. API pengemasan menyediakan implementasi default ZipPackage 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 Package disimpan dalam 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 PackageRelationship fitur 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, dirutekan DocumentViewer ke penampung cetak, atau output langsung ke printer yang kompatibel dengan XPS.

Bagian berikut memberikan informasi tambahan tentang Package API 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 itu sendiri adalah kelas abstrak yang ZipPackage diimplementasikan menggunakan arsitektur file XML dan ZIP standar terbuka. Metode ini Open menggunakan ZipPackage untuk membuat dan menggunakan file ZIP secara default. Paket dapat berisi tiga jenis item dasar:

Item 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.

PackageParts

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". Menggunakan API pengemasan WPF, aplikasi dapat menulis, menyimpan, dan membaca beberapa PackagePart objek menggunakan satu kontainer file ZIP.

PackageDigitalSignatures

Untuk keamanan, PackageDigitalSignature ("tanda tangan digital") dapat dikaitkan dengan bagian dalam paket. Menggabungkan PackageDigitalSignature [509] yang menyediakan dua fitur:

  1. Mengidentifikasi dan mengautentikasi penanda bagian.

  2. 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.

PackageRelationships

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, termasuk 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:

  1. Menentukan hubungan dependensi dari satu bagian ke bagian lain.

  2. Menentukan hubungan informasi yang menambahkan catatan atau data lain yang terkait dengan bagian tersebut.

Menyediakan PackageRelationship 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 mengacu pada gambar yang terletak baik sebagai bagian lain internal ke paket atau eksternal ke paket (seperti dapat diakses melalui Internet). Membuat yang PackageRelationship 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, juga PackageRelationship 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. Disimpan XpsDocument 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 ini 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.

Baca juga