Dokumenty v platformě WPF

Windows Presentation Foundation (WPF) nabízí širokou škálu funkcí dokumentu, které umožňují vytvářet vysoce věrný obsah, který je navržený tak, aby byl snadněji přístupný a čitelný než v předchozích generacích Windows. Kromě vylepšených možností a kvality poskytuje WPF také integrované služby pro zobrazení dokumentů, balení a zabezpečení. Toto téma obsahuje úvod k typům dokumentů WPF a balení dokumentů.

Typy dokumentů

WPF rozděluje dokumenty do dvou širokých kategorií na základě jejich zamýšleného použití; tyto kategorie dokumentů se označují jako "pevné dokumenty" a "dokumenty toku".

Pevné dokumenty jsou určené pro aplikace, které vyžadují přesnou prezentaci WYSIWYG (WYSIWYG), která je nezávislá na použitém displeji nebo hardwaru tiskárny. Typické použití pro pevné dokumenty zahrnuje publikování na ploše, zpracování textu a rozložení formuláře, kde dodržování původního návrhu stránky je důležité. V rámci svého rozložení udržuje pevný dokument přesné umístění prvků obsahu nezávisle na používaném zobrazovacím nebo tiskovém zařízení. Například pevná stránka dokumentu zobrazená na zobrazení 96 dpi se zobrazí úplně stejně, když je výstupem laserové tiskárny o 600 dpi, jako když je výstup na fototypesetter 4800 dpi. Rozložení stránky zůstává ve všech případech stejné, zatímco kvalita dokumentu se maximalizuje na možnosti každého zařízení.

Ve srovnání jsou toky dokumenty navržené tak, aby optimalizovaly zobrazování a čitelnost a nejlépe se využívají, když je snadné čtení primárním scénářem spotřeby dokumentů. Místo toho, aby byly nastaveny na jedno předdefinované rozložení, dokumenty toku dynamicky upravují a přeformátovávají svůj obsah na základě proměnných za běhu, jako je velikost okna, rozlišení zařízení a volitelné uživatelské předvolby. Webová stránka je jednoduchým příkladem dokumentu toku, ve kterém je obsah stránky dynamicky formátovaný tak, aby odpovídal aktuálnímu okně. Dokumenty toku optimalizují zobrazení a čtení pro uživatele na základě prostředí runtime. Například stejný dokument toku se dynamicky přeformátuje pro zajištění optimální čitelnosti na displeji s vysokým rozlišením 19 palců nebo malé 2x3palcové obrazovce PDA. Kromě toho mají dokumenty toku řadu integrovaných funkcí, včetně vyhledávání, zobrazení režimů, které optimalizují čitelnost a schopnost měnit velikost a vzhled písem. Viz Přehled dokumentu toku pro ilustrace, příklady a podrobné informace o dokumentech toku.

Ovládací prvky dokumentu a rozložení textu

.NET Framework poskytuje sadu předem připravených ovládacích prvků, které zjednodušují používání pevných dokumentů, toků dokumentů a obecného textu v rámci vaší aplikace. Zobrazení pevného obsahu dokumentu se podporuje pomocí DocumentViewer ovládacího prvku. Zobrazení obsahu dokumentu toku je podporováno třemi různými ovládacími prvky: FlowDocumentReader, FlowDocumentPageViewera FlowDocumentScrollViewer které se mapují na různé scénáře uživatelů (viz oddíly níže). Další ovládací prvky WPF poskytují zjednodušené rozložení pro podporu obecných použití textu (viz Text v uživatelském rozhraní níže).

Oprava ovládacího prvku Dokument – DocumentViewer

Ovládací DocumentViewer prvek je navržený tak, aby zobrazoval FixedDocument obsah. Ovládací DocumentViewer prvek poskytuje intuitivní uživatelské rozhraní, které poskytuje integrovanou podporu běžných operací, včetně výstupu tisku, kopírování do schránky, přiblížení a funkcí vyhledávání textu. Ovládací prvek poskytuje přístup k stránkám obsahu prostřednictvím známého mechanismu posouvání. Stejně jako všechny ovládací prvky DocumentViewer WPF podporuje úplné nebo částečné restyling, což umožňuje vizuálně integrovat ovládací prvek do prakticky jakékoli aplikace nebo prostředí.

DocumentViewer je navržen tak, aby zobrazoval obsah jen pro čtení; Úpravy nebo úpravy obsahu nejsou k dispozici a nejsou podporovány.

Ovládací prvky dokumentu toku

Poznámka:

Podrobnější informace o funkcích dokumentu toku a jejich vytváření najdete v tématu Přehled dokumentu toku.

Zobrazení obsahu dokumentu toku je podporováno třemi ovládacími prvky: FlowDocumentReader, FlowDocumentPageViewera FlowDocumentScrollViewer.

FlowDocumentReader

FlowDocumentReader obsahuje funkce, které uživateli umožňují dynamicky vybírat mezi různými režimy zobrazení, včetně režimu prohlížení na jedné stránce (stránky a času), dvoustrákového zobrazení (formát čtení knihy) a režimu průběžného posouvání (bezedného) zobrazení. Další informace o těchto režimech zobrazení naleznete v tématu FlowDocumentReaderViewingMode. Pokud nepotřebujete možnost dynamicky přepínat mezi různými režimy zobrazení a FlowDocumentScrollViewer poskytovat prohlížečům obsahu toku s nižší hmotností, FlowDocumentPageViewer které jsou opravené v konkrétním režimu zobrazení.

FlowDocumentPageViewer a FlowDocumentScrollViewer

FlowDocumentPageViewer zobrazuje obsah v režimu prohlížení stránky v čase, zatímco FlowDocumentScrollViewer zobrazuje obsah v režimu průběžného posouvání. Oba FlowDocumentPageViewer a FlowDocumentScrollViewer jsou pevné pro konkrétní režim zobrazení. FlowDocumentReaderPorovnejte se s funkcemi, které uživateli umožňují dynamicky vybírat mezi různými režimy zobrazení (jak je poskytuje FlowDocumentReaderViewingMode výčet), za cenu vyšší náročnosti prostředků než FlowDocumentPageViewer nebo FlowDocumentScrollViewer.

Ve výchozím nastavení se vždy zobrazí svislý posuvník a v případě potřeby se zobrazí vodorovný posuvník. Výchozí uživatelské rozhraní FlowDocumentScrollViewer neobsahuje panel nástrojů, IsToolBarVisible ale vlastnost lze použít k povolení integrovaného panelu nástrojů.

Text v uživatelském rozhraní

Kromě přidávání textu do dokumentů je možné text samozřejmě použít v uživatelském rozhraní aplikace, jako jsou formuláře. WPF obsahuje více ovládacích prvků pro kreslení textu na obrazovku. Každý ovládací prvek se zaměřuje na jiný scénář a má vlastní seznam funkcí a omezení. Obecně platí, že prvek by se měl použít v případě, TextBlock že je vyžadována omezená podpora textu, například stručná věta v uživatelském rozhraní. Label lze použít v případě, že je vyžadována minimální podpora textu. Další informace naleznete v tématu TextBlock – přehled.

Balení dokumentů

Rozhraní System.IO.Packaging API poskytují efektivní způsob uspořádání dat aplikací, obsahu dokumentů a souvisejících prostředků v jednom kontejneru, který je jednoduchý pro přístup, přenositelný a snadno distribuovatelný. Soubor ZIP je příkladem Package typu schopného držet více objektů jako jednu jednotku. Rozhraní API pro balení poskytují výchozí ZipPackage implementaci navrženou pomocí standardu Open Packaging Conventions s architekturou souborů XML a ZIP. Rozhraní API pro vytváření balíčků WPF usnadňují vytváření balíčků a ukládání a přístup k objektům v nich. Objekt uložený v objektu Package se označuje jako PackagePart ("část"). Balíčky mohou také obsahovat podepsané digitální certifikáty, které lze použít k identifikaci původce části a k ověření, že obsah balíčku nebyl změněn. Balíčky obsahují PackageRelationship také funkci, která umožňuje přidání dalších informací do balíčku nebo přidružené ke konkrétním částem bez skutečné úpravy obsahu existujících částí. Služby balíčků také podporují Microsoft Windows Rights Management (RM).

Architektura balíčku WPF slouží jako základ pro řadu klíčových technologií:

  • Dokumenty XPS odpovídající specifikaci DOKUMENTU XML (XPS).

  • systém Microsoft Office "12" dokumentů formátu OPEN XML (.docx).

  • Vlastní formáty úložiště pro vlastní návrh aplikace

Na základě rozhraní API XpsDocument pro balení je speciálně navržená pro ukládání dokumentů s pevným obsahem WPF. Je XpsDocument samostatně obsažený dokument, který lze otevřít v prohlížeči, zobrazit v ovládacím DocumentViewer prvku, směrovat do fondu tisku nebo výstupu přímo do tiskárny kompatibilní se systémem XPS.

Následující části obsahují další informace o PackageXpsDocument rozhraních API, která jsou součástí WPF.

Komponenty balíčků

Rozhraní API pro balení WPF umožňují uspořádání dat aplikací a dokumentů do jedné přenosné jednotky. Soubor ZIP je jedním z nejběžnějších typů balíčků a je výchozím typem balíčku, který je součástí WPF. Package je abstraktní třída, ze které ZipPackage je implementována pomocí open standard XML a ZIP soubor architektury. Metoda Open používá ZipPackage k vytváření a používání souborů ZIP ve výchozím nastavení. Balíček může obsahovat tři základní typy položek:

Item Popis
PackagePart Obsah aplikace, data, dokumenty a soubory prostředků
PackageDigitalSignature [Certifikát X.509] pro identifikaci, ověřování a ověřování.
PackageRelationship Přidání informací souvisejících s balíčkem nebo konkrétní částí

PackageParts

A PackagePart ("část") je abstraktní třída, která odkazuje na objekt uložený v objektu Package. V souboru ZIP části balíčku odpovídají jednotlivým souborům uloženým v souboru ZIP. ZipPackagePart poskytuje výchozí implementaci serializovatelných objektů uložených v objektu ZipPackage. Podobně jako systém souborů jsou části obsažené v balíčku uložené v hierarchickém adresáři nebo ve stylu složky. Pomocí rozhraní API pro balení WPF můžou aplikace zapisovat, ukládat a číst více PackagePart objektů pomocí jednoho kontejneru souborů ZIP.

PackageDigitalSignatures

V případě zabezpečení PackageDigitalSignature je možné k částem v balíčku přidružit (digitální podpis). A PackageDigitalSignature zahrnuje [509], který poskytuje dvě funkce:

  1. Identifikuje a ověřuje původce části.

  2. Ověří, že část nebyla změněna.

Digitální podpis nebrání úpravě části, ale ověření digitálního podpisu selže, pokud je část změněna jakýmkoli způsobem. Aplikace pak může provést odpovídající akci– například zablokovat otevření části nebo upozornit uživatele, že byla tato část upravena a není zabezpečená.

PackageRelationships

A PackageRelationship ("relationship") poskytuje mechanismus pro přidružení dalších informací k balíčku nebo části balíčku. Relace je zařízení na úrovni balíčku, které může přidružit další informace k části beze změny skutečného obsahu části. Vkládání nových dat přímo do části obsahu obvykle není v mnoha případech praktické:

  • Skutečný typ části a jeho schématu obsahu není znám.

  • I když je schéma obsahu známé, nemusí poskytovat prostředky pro přidání nových informací.

  • Tato část může být digitálně podepsaná nebo zašifrovaná a může obsahovat všechny úpravy.

Relace balíčků poskytují zjistitelné prostředky pro přidání a přidružení dalších informací k jednotlivým částem nebo k celému balíčku. Relace balíčků se používají pro dvě primární funkce:

  1. Definování vztahů závislostí z jedné části do jiné.

  2. Definování vztahů s informacemi, které přidávají poznámky nebo jiná data související s částí

Poskytuje PackageRelationship rychlé zjistitelné prostředky pro definování závislostí a přidání dalších informací přidružených k části balíčku nebo balíčku jako celku.

Relace závislostí

Relace závislostí se používají k popisu závislostí, které jedna část provádí v jiných částech. Balíček může například obsahovat část HTML, která obsahuje jednu nebo více <značek img> obrázků. Značky obrázků odkazují na obrázky, které jsou umístěné buď jako jiné části interní pro balíček, nebo externí pro balíček (například přístupné přes internet). Vytvoření přidruženého k PackageRelationship souboru HTML umožňuje rychlé a snadné zjišťování a přístup k závislým prostředkům. Aplikace prohlížeče nebo prohlížeče může přímo přistupovat k relacím částí a okamžitě zahájit sestavení závislých prostředků bez znalosti schématu nebo analýzy dokumentu.

Relace informací

Podobně jako u poznámky nebo poznámky PackageRelationship lze také použít k ukládání jiných typů informací, které se mají přidružit k části, aniž by bylo nutné skutečně upravovat samotný obsah části.

Dokumenty XPS

Dokument XPS (XML Paper Specification) je balíček, který obsahuje jeden nebo více pevných dokumentů spolu se všemi prostředky a informacemi potřebnými k vykreslování. XPS je také nativní formát tiskového fondu systému Windows Vista. Soubor XpsDocument je uložený ve standardní datové sadě ZIP a může obsahovat kombinaci XML a binárních komponent, jako jsou soubory obrázků a písem. PackageRelationships slouží k definování závislostí mezi obsahem a prostředky potřebnými k úplnému vykreslení dokumentu. Návrh XpsDocument poskytuje jedno vysoce věrné řešení dokumentů, které podporuje více použití:

  • Čtení, psaní a ukládání obsahu a prostředků s pevným dokumentem jako jednoho, přenosného a snadno distribuovatelného souboru

  • Zobrazení dokumentů pomocí aplikace XPS Viewer.

  • Výstup dokumentů ve výstupním formátu nativního tiskového fondu systému Windows Vista.

  • Směrujte dokumenty přímo na tiskárnu kompatibilní se systémem XPS.

Viz také