المستندات فى WPF

Windows Presentation Foundation (WPF) يقدم لك نطاق واسع من ميزات المستند التي تمكن من إنشاء محتوى بدقة عالية تم تصميمه ليكون الوصول إليه و قراءته أكثر سهولة عن الأجيال السابقة منWindows. بالإضافة إلى قدرات وجودة محسنة WPF يوفر لك أيضا خدمات متكاملة لعرض المستند, التحزيم, و الأمان. يوفر هذا الموضوع مقدمة إلى أنواع مستندات و تحزيم مستندات WPF .

يشتمل هذا الموضوع على الأقسام التالية.

  • أنواع المستندات
  • عناصر تحكم المستند وتخطيط النص
  • تحزيم المستند
  • مستندات XPS
  • موضوعات ذات صلة

أنواع المستندات

WPF يقسم المستندات إلى فئتين واسعتين استناداً إلى استخدامهم المنتظر ; يتم تسمية هاتان فئتان المستند "المستندات الثابتة" و "مستندات التدفق."

المستندات الثابتة مخصصة للتطبيقات التي تتطلب عرض تقديمى "ما تراه هو ما تحصل عليه" (WYSIWYG) دقيق, بشكل مستقل عن العرض أو أجهزة الطابعة المستخدمة. استخدامات نموذجية للمستندات الثابت تتضمن النشر المكتبي، و معالجة الكلمات، و تخطيط النموذج، حيث الثبات على تصميم الصفحة الأصلية ضروري . كجزء من تخطيطها,يحافظ المستند ثابت على الموضع الدقيق لموضعية عناصر المحتوى مستقلة عن العرض أو جهاز الطباعة قيد الاستخدام. على سبيل المثال، صفحة مستند ثابت تم عرضها على شاشة عرض 96 نقطة في البوصة ستظهر تماماً كما هى عندما يكون مخرجة إلى إحدى طابعات ليزر 600 نقطة في البوصة أو عندما يكون مخرجة إلى phototypesetter ذو 4800 نقطة في البوصة. يظل تخطيط الصفحة كما هو في كافة الحالات, بينما تزيد جودة المستند الى قدرات كل جهاز.

بالمقارنة، مستندات التدفق مصممة لمثالية العرض و قابلية القراءة و تستخدم الإستخدام الأمثل عندما تكون سهولة القراءة هى سيناريو استهلاك المستند الأساسي. بدلاً من أن يتم تعيينها بتخطيط واحد معرّف مسبقاً ، فإن مستندات التدفق تضبط و تعيد تدفق محتوياتها بشكل حيوي استناداً إلى متغيرات وقت التشغيل مثل حجم النافذة و دقة الجهاز وتفضيلات المستخدم الاختيارية. صفحة ويب هى مثال بسيط لمستند تدفق حيث يتم تنسيق محتوى الصفحة بشكل حيوي لكى يلاءم النافذة الحالية. مستندات التدفق تحسن خبرة العرض و القراءة عند المستخدم, استناداً إلى بيئة وقت التشغيل. على سبيل المثال، سيتم تهيئة نفس مستند التدفق بشكل حيوي لقابلية القراءة الأمثل على إما عارضة ذات الدقة العالية 19 بوصة أو شاشة PDA صغيرة 2x3 بوصة. بالإضافة إلى ذلك، تحتوي مستندات التدفق على عدداً من الميزات المضمنة بما في ذلك البحث ، أوضاع العرض التى تؤدى إلي أمثلية قابلية القراءة والقدرة على تغيير حجم الخطوط ومظهرها. راجع نظرة عامة على مستند التدفق للتوضيحات, الأمثلة والمعلومات التفصيلية على مستندات التدفق.

عناصر تحكم المستند وتخطيط النص

NET Framewor. توفر مجموعة من عناصر التحكم التي تم إنشاؤها بشكل مسبق التى تقوم بتبسيط استخدام المستندات الثابتة,المستندات المتدفقة و النص العام داخل تطبيقك. يتم اعتماد عرض محتوى المستند الثابت باستخدام عنصر تحكم DocumentViewer . يتم دعم عرض محتوى مستند التدفق من قبل ثلاثة عناصر تحكم مختلفة: FlowDocumentReader ،FlowDocumentPageViewer ، وFlowDocumentScrollViewer و التى تقابل سيناريوهات مستخدم مختلف (راجع المقاطع أدناه). توفر عناصر تحكم WPF الأخرى تخطيط مبسط لدعم إستخدامات نص عام (راجع النص في واجهة المستخدم ، أدناه).

عنصر تحكم المستند الثابت - DocumentViewer

عنصر التحكم DocumentViewer تم تصميمه لعرض محتوى FixedDocument . عنصر التحكم DocumentViewer يوفر واجهة مستخدم بديهية توفر دعمًا مضمنًا بالنسبة للعمليات العامة بما في ذلك طباعة الخارج ، نسخ إلى الحافظة ، التكبير/التصغير و ميزات بحث النص. عنصر التحكم يوفر الوصول الى صفحات المحتوى خلال آلية تمرير مألوفة. مثل كافة عناصر تحكم WPF ، يدعم DocumentViewer إعادة تصميم كاملة أو جزئية، والذي يمكّن عنصر التحكم من أن يتكامل بشكل مرئي مع أي تطبيق أو بيئة تقريبا.

تم تصميم DocumentViewer ليعرض المحتوى بطريقة للقراءة فقط; تحرير أو تعديل المحتوى الغير متوفر و الغير معتمد.

عناصر تحكم مستند التدفق

ملاحظة: للحصول على معلومات مفصّلة أكثر حول ميزات مستند التدفق وكيفية إنشائها, راجع نظرة عامة على مستند التدفق.

يتم دعم عرض محتوى مستند التدفق من قبل ثلاثة عناصر: FlowDocumentReader ، FlowDocumentPageViewer و FlowDocumentScrollViewer

FlowDocumentReader

يتضمّن FlowDocumentReader ميزات تمكن المستخدم بشكل حيوي من الاختيار بين أوضاع العرض المختلفة, بما فيها وضع عرض صفحة واحدة (صفحة - فى -كل - مرة)، وضع عرض اثنين - صفحة - في -كل - مرة (كتاب تنسيق القراءة) ،و وضع عرض التمرير المستمر (بلا أسفل) . لمزيد من المعلومات حول أوضاع العرض هذه راجع FlowDocumentReaderViewingMode. إذا لم تكن بحاجة إلى القدرة على التبديل بين أوضاع العرض المختلفة بشكل حيوي، يوفر FlowDocumentPageViewer و FlowDocumentScrollViewer عارضي محتوى تدفق أخف وزناً التي تم تثبيتها على وضع عرض معين.

FlowDocumentPageViewer و FlowDocumentScrollViewer

يعرض FlowDocumentPageViewer المحتوى في وضع عرض صفحة-فى-كل-مرة، بينما FlowDocumentScrollViewer يظهر المحتوى في وضع التمرير المستمر. كلاFlowDocumentPageViewer و FlowDocumentScrollViewer تم تثبيتهما على وضع عرض معين. مقارنة ب FlowDocumentReader ، الذي يتضمن ميزات تمكّن المستخدم من الاختيار بشكل حيوي بين أوضاع العرض المختلفة (كما تم توفيره من قبل التعداد FlowDocumentReaderViewingMode ) ، على حساب كونه من مورد كبير اكثر من FlowDocumentPageViewer أو FlowDocumentScrollViewer.

بشكل افتراضي، يتم دائماً إظهار شريط تمرير عمودي، و شريط تمرير أفقي يصبح مرئي إذا لزم الأمر. ال واجهة المستخدم الافتراضي لـ FlowDocumentScrollViewer لا يحتوى على شريط أدوات; ومع ذلك، الخاصية IsToolBarVisible يمكن استخدامها لتمكين الأدوات المضمنة.

النص في واجهة المستخدم

بالإضافة إلى إضافة نص إلى مستندات، يمكن obviously استخدام نص في تطبيق واجهة المستخدم مثل كـ النماذج. WPF يحتوي على عناصر تحكم متعددة لرسم النص على الشاشة. كل عنصر تحكم يستهدف سيناريو مختلف و له قائمة الميزات والقيود الخاصة به. بشكل عام، TextBlockيجب أن يكون عنصر نص دعم محدود للاستخدام عند هو المطلوبة، مثل جملة مختصرة في واجهة المستخدم (UI). Labelيمكن استخدامها عند اعتماد نص أدنى هو المطلوبة. لمزيد من المعلومات، راجع نظرة عامة على الكتله النصيه.

تحزيم المستند

يوفر System.IO.Packaging واجهات API أساليب كفء لتنظيم بيانات التطبيق، محتوى المستند و الموارد المتعلقة في حاوية بسيطة الوصول إليها، محمولة، و سهلة التوزيع. الملف المضغوط من نوع Zip مثالاً لنوع Package قادر على حمل كائنات متعددة كوحدة واحدة . "الحزم واجهات API يوفر تطبيق ZipPackage افتراضى تم تصميمه باستخدام "اصطلاحات التحزيم فتح" القياسية ببنية الملف XML و ZIP. حزم WPF واجهات API يجعل إنشاء حزم أمر بسيط، بالإضافة إلى تخزين والوصول الى كائنات داخلها. أى كائن مخزن فى Package يشار إليه على أنه PackagePart ("جزء"). يمكن أن تتضمن الحزم أيضا شهادات رقمية موقعة و التي يمكن استخدامها لتعريف منشئ جزء و للتحقق من أنه لم يتم تعديل محتويات حزمة. تتضمن الحزم أيضاً ميزة PackageRelationship التى تسمح بإضافة معلومات إضافية الى حزمة أو بإقترانها بأجزاء معينة دون تعديل محتوى الأجزاء الموجودة بالفعل. خدمات الحزم تدعم أيضاً Microsoft Windows Rights Management.

هيكل الحزم WPF يخدم كالأساس لعدد من تقنيات المفتاح:

  • مستندات XPS المطابقة الى تصميم مستندات XML (XPS).

  • مستنداتMicrosoft Office "12" تنسيق XML المفتوح (.docx).

  • تنسيقات التخزين المخصصة الخاصة بتصميم التطبيق الخاص بك.

استناداً إلى التحزيم APIs، يصمم خصيصاً XpsDocument لتخزين مستندات WPF ثابتة المحتوى . XpsDocument هو مستند مُضمن يمكن فتحه في عارض، يعرض في عنصر التحكم DocumentViewer ، يوجه الى التخزين المؤقت للطباعة، أو الإخراج مباشرة الى طابعة XPS- متوافقة.

توفر المقاطع التالية معلومات إضافية على Package و XpsDocument واجهات API موفر مع WPF .

مكونات الحزم

حزم APIs WPF تسمح بتنظيم بيانات ومستندات التطبيق الى وحدة واحدة محمولة. ملف المنطقة واحد الأكثر شيوعاً أنواع من ونوع الحزمة الافتراضية الموفرة مع WPF. Packageنفسه هو فئة مجردة منهاZipPackageهو المطبقة باستخدام عنصر مفتوح القياسية XML و ZIP ملف هندسة. الأسلوب Open يستخدم ZipPackage لإنشاء و استخدام ملفات من نوع ZIP بشكل افتراضي. يمكن أن تحتوي الحزمة على ثلاثة أنواع أساسية من العناصر:

PackagePart

ملفات موارد، محتوى و ملفات بيانات تطبيق WPF

PackageDigitalSignature

شهادة X.509 للتعريف، المصادقة و التحقق من الصحة.

PackageRelationship

معلومات مضافة تتعلق بالحزمة أو جزء محدد.

PackageParts

PackagePart ("الجزء") هى فئة مجردة تشير إلى كائن مخزن في Package. في ملف ZIP، أجزاء الحزمة تتوافق مع إلى الملفات الفردية sإلىred داخل الملف البريدي. ZipPackagePartيوفر تطبيق الافتراضي لكائنات قابل للتسلسل مخزنة فيZipPackage. مثل نظام الملفات، يتم تخزين النظام، الأجزاء الموجودة في الحزمة يتم تخزينها في دليل متسلسل هرمياً أو مؤسسة "نمط المجلد". استخدام حزم WPF APIs ، التطبيقات يمكنها كتابة، تخزين و قراءة كائنات PackagePart متعددة باستخدام حاوية ملف ZIP واحدة.

PackageDigitalSignatures

من أجل الأمان, PackageDigitalSignature ("توقيع رقمى") يمكن إقرانها بأجزاء ضمن حزمة. PackageDigitalSignature يدمج 509 الذى يوفر ميزتين:

  1. يعرّف ويصادق منشئ الجزء.

  2. يتحقق من صحة أن الجزء لم يتم تعديله.

لا يمنع التوقيع الرقمي جزء من كونه معدل ، لكن التحقق من الصحة مقابل التوقيع الرقمي سيفشل إذا تم تعديل الجزء بأي طريقة. يمكن بعد ذلك للتطبيق اتخاذ الإجراء المناسب — على سبيل المثال، حظر فتح الجزء أو إعلام المستخدم أن الجزء تم تعديله و هو غير آمن.

PackageRelationships

("العلاقة") PackageRelationship توفر آلية لأقتران معلومات إضافية مع الحزمة أو جزء داخل الحزمة. العلاقة هى تسهيل على مستوى الحزمة يمكنها إقران معلومات إضافية بجزء دون تعديل محتوى جزء الحقيقى. إدراج بيانات جديدة مباشرة الى محتوى الجزء ليس عملي عادةً في العديد من الحالات:

  • نوع الجزء الفعلي و مخطط محتواه غير معروف.

  • حتى لو أنه معروف ، قد لا يوفر مخطط المحتوى وسيلة لإضافة معلومات جديدة.

  • قد يكون الجزء موقع رقمياً أو مشفر، مانعاً أي تعديل.

علاقات الحزمة توفر وسيلة يمكن اكتشافها لإضافة و اقتران معلومات إضافية بأجزاء فردية أو بالحزمة بالكامل. يتم استخدام علاقات الحزمة لوظيفتين رئيسيتين:

  1. تعريف علاقات التبعية من جزء لآخر.

  2. تعريف علاقات المعلومات التى تضيف ملاحظات أو بيانات أخرى متعلقة بالجزء.

يوفر PackageRelationship وسيلة سريعة قابلة للاكتشاف لتعريف تبعيات وإضافة معلومات أخرى مقترنة بجزء من الحزمة أو الحزمة كـكل.

علاقات التبعية

يتم استخدام علاقات التبعية لوصف التبعيات التى يجعلها جزء واحد إلى أجزاء أخرى. على سبيل المثال، قد تحتوي حزمة على جزء HTML الذي يتضمن واحدة أو أكثر من علامات الصورة < img > . تشير علامات الصورة الى الصور التي يتم وضعها إما مثل الأجزاء الأخرى الداخلية للحزمة أو الخارجية للحزمة (مثل التى يمكن الوصول إليها عبر الإنترنت). إنشاء PackageRelationship مقترنة مع ملف HTML يجعل اكتشاف والوصول إلى الموارد التابعة سهل وسريع. العارض أو تطبيق المستعرض يمكنهم الوصول مباشرةً إلى علاقات الجزء ثم البدء على الفور فى تجميع الموارد التابعة دون معرفة المخطط أو تحليل المستند.

علاقات المعلومات

مثل الملاحظة أو التعليق التوضيحي، PackageRelationship يمكن أيضاً أن تستخدم لتخزين أنواع أخرى من المعلومات كي يتم اقترانها مع جزء دون الحاجة إلى تعديل محتوى الجزء نفسه بالفعل.

مستندات XPS

تصميم مستندات XML (XPS)مستند هو حزمة تحتوي على واحد أو أكثر ثابتة-مستندات بالإضافة إلى الجميع موارد و المعلومات المطلوبة للتقديم. XPSهو الأصلي أيضاWindows Vistaالتخزين المؤقت للطباعة ملف تنسيق. XpsDocument مخزن في مجموعة البيانات ZIP القياسية، ويمكن أن يتضمن مجموعة من XML و مكونات ثنائية، مثل ملفات الصورة والخط.PackageRelationships تستخدم لتعريف التبعيات بين المحتوى و الموارد المطلوبة لتقديم المستند بشكل كامل. تصميم XpsDocument يوفر حل مستند واحد ، عالي الدقة يدعم استخدامات متعددة:

  • قراءة، كتابة و تخزين محتوى المستند الثابت والموارد كملف مفرد محمول و سهل التوزيع.

  • عرض المستندات باستخدام تطبيق عارض XPS.

  • يتم إخراج المستندات فيتنسيق الإخراج للتخزين المؤقت للطباعة الأصلي Windows Vista.

  • توجيه المستندات مباشرة الى طابعة متوافقة XPS.

راجع أيضًا:

المرجع

FixedDocument

FlowDocument

XpsDocument

ZipPackage

ZipPackagePart

PackageRelationship

DocumentViewer

المبادئ

أمثلية الأداء: Text

نظرة عامة على مستند التدفق

نظرة عامة حول الطباعة

تسلسل المستند و التخزين