استخدم `DocumentBuilder` لإدراج عناصر المستند

يتم استخدام DocumentBuilder لتعديل المستندات. تشرح هذه المقالة وتصف كيفية تنفيذ عدد من المهام:

إدراج سلسلة من النص

ما عليك سوى تمرير سلسلة النص التي تحتاج إلى إدراجها في المستند إلى طريقة DocumentBuilder.Write. يتم تحديد تنسيق النص بواسطة خاصية Font. يحتوي هذا الكائن على سمات خط مختلفة (اسم الخط وحجم الخط واللون وما إلى ذلك). يتم تمثيل بعض سمات الخط المهمة أيضا بخصائص DocumentBuilder للسماح لك بالوصول إليها مباشرة. هذه خصائص منطقية Font.Bold و Font.Italic و Font.Underline.

لاحظ أن تنسيق الأحرف الذي قمت بتعيينه سيتم تطبيقه على كل النص المدرج من الموضع الحالي في المستند فصاعدا.

أدناه المثال إدراج نص منسق باستخدام DocumentBuilder.

إدراج فقرة

DocumentBuilder.Writeln يدرج سلسلة من النص في المستند أيضا ولكن بالإضافة إلى ذلك، فإنه يضيف فاصل فقرة. يتم تحديد تنسيق الخط الحالي أيضا بواسطة خاصية DocumentBuilder.Font ويتم تحديد تنسيق الفقرة الحالي بواسطة خاصية DocumentBuilder.ParagraphFormat. يوضح المثال أدناه كيفية إدراج فقرة في المستند.

إدراج جدول

الخوارزمية الأساسية لإنشاء جدول باستخدام DocumentBuilder بسيطة:

  1. ابدأ الجدول باستخدام DocumentBuilder.StartTable.
  2. أدخل خلية باستخدام DocumentBuilder.InsertCell. هذا يبدأ تلقائيا صف جديد. إذا لزم الأمر، استخدم الخاصية DocumentBuilder.CellFormat لتحديد تنسيق الخلية.
  3. أدخل محتويات الخلية باستخدام طرق DocumentBuilder.
  4. كرر الخطوتين 2 و 3 حتى يكتمل الصف.
  5. اتصل DocumentBuilder.EndRow لإنهاء الصف الحالي. إذا لزم الأمر، استخدم خاصية DocumentBuilder.RowFormat لتحديد تنسيق الصف.
  6. كرر الخطوات 2 - 5 حتى يكتمل الجدول.
  7. اتصل DocumentBuilder.EndTable لإنهاء بناء الجدول. يتم وصف طرق إنشاء الجدول DocumentBuilder المناسبة أدناه.

بدء جدول

استدعاء DocumentBuilder.StartTable هو الخطوة الأولى في بناء جدول. يمكن أن يطلق عليه أيضا داخل خلية، وفي هذه الحالة يبدأ جدول متداخل. الطريقة التالية للاتصال هي DocumentBuilder.InsertCell.

إدخال خلية

بعد استدعاء DocumentBuilder->InsertCell، يتم إنشاء خلية جديدة وسيتم إضافة أي محتوى تضيفه باستخدام طرق أخرى من فئة DocumentBuilder إلى الخلية الحالية. لبدء خلية جديدة في نفس الصف، اتصل DocumentBuilder->InsertCell مرة أخرى. استخدم الخاصية DocumentBuilder.CellFormat لتحديد تنسيق الخلية. يقوم بإرجاع كائن CellFormat يمثل كل التنسيق لخلية جدول.

إنهاء صف

اتصل DocumentBuilder.EndRow لإنهاء الصف الحالي. إذا اتصلت DocumentBuilder->InsertCell بعد ذلك مباشرة، فسيستمر الجدول في صف جديد.

استخدم الخاصية DocumentBuilder.RowFormat لتحديد تنسيق الصف. يقوم بإرجاع كائن RowFormat يمثل كل التنسيق لصف جدول.

إنهاء الجدول

اتصل DocumentBuilder.EndTable لإنهاء الجدول الحالي. يجب استدعاء هذه الطريقة مرة واحدة فقط بعد استدعاء DocumentBuilder->EndRow. عند الاتصال ،DocumentBuilder.EndTable يحرك المؤشر خارج الخلية الحالية إلى موضع بعد الجدول مباشرة. يوضح المثال التالي كيفية إنشاء جدول منسق يحتوي على 2 صفوف و 2 أعمدة.

إدخال استراحة

إذا كنت تريد بدء سطر أو فقرة أو عمود أو قسم أو صفحة جديدة بشكل صريح، فاتصل DocumentBuilder.InsertBreak. مرر إلى هذه الطريقة نوع الفاصل الذي تحتاج إلى إدراجه والذي يمثله BreakType تعداد. يوضح المثال أدناه كيفية إدراج فواصل الصفحات في مستند.

إدراج صورة

DocumentBuilder يوفر العديد من الأحمال الزائدة لطريقة DocumentBuilder->InsertImage التي تسمح لك بإدراج صورة مضمنة أو عائمة. إذا كانت الصورة ملف تعريف EMF أو WMF، فسيتم إدراجها في المستند بتنسيق ملف التعريف. سيتم تخزين جميع الصور الأخرى بتنسيق PNG. يمكن لطريقة DocumentBuilder->InsertImage استخدام الصور من مصادر مختلفة:

  • من ملف أو URL عن طريق تمرير معلمة سلسلة DocumentBuilder->InsertImage.
  • من تيار عن طريق تمرير Stream المعلمة DocumentBuilder->InsertImage.
  • من كائن صورة عن طريق تمرير معلمة صورة DocumentBuilder->InsertImage.
  • من صفيف بايت عن طريق تمرير معلمة صفيف بايت DocumentBuilder.InsertImage.لكل من طرق DocumentBuilder->InsertImage، هناك المزيد من الأحمال الزائدة التي تسمح لك بإدراج صورة بالخيارات التالية:
  • مضمنة أو عائمة في موضع معين، على سبيل المثال، DocumentBuilder->InsertImage.
  • مقياس النسبة المئوية أو الحجم المخصص، على سبيل المثال، DocumentBuilder.InsertImage. علاوة على ذلك، تقوم طريقة DocumentBuilder->InsertImage بإرجاع كائن Shape تم إنشاؤه وإدراجه للتو حتى تتمكن من تعديل خصائص الشكل بشكل أكبر.

إدراج صورة مضمنة

قم بتمرير سلسلة واحدة تمثل ملفا يحتوي على الصورة إلى DocumentBuilder->InsertImage لإدراج الصورة في المستند كرسومات مضمنة. يوضح المثال أدناه كيفية إدراج صورة مضمنة في موضع المؤشر في مستند.

إدراج صورة عائمة (موضوعة تماما)

يقوم هذا المثال بإدراج صورة عائمة من ملف أو URL في موضع وحجم محددين.

إدراج إشارة مرجعية

لإدراج إشارة مرجعية في المستند، يجب عليك القيام بما يلي:

  1. استدعاء DocumentBuilder->StartBookmark تمريرها الاسم المطلوب من الإشارة المرجعية.
  2. أدخل نص الإشارة المرجعية باستخدام طرق DocumentBuilder.
  3. اتصل DocumentBuilder.EndBookmark بتمريرها بنفس الاسم الذي استخدمته مع DocumentBuilder->StartBookmark.
  4. يمكن أن تتداخل الإشارات المرجعية وتمتد إلى أي نطاق. لإنشاء إشارة مرجعية صالحة، تحتاج إلى الاتصال بكل من DocumentBuilder->StartBookmark و DocumentBuilder->EndBookmark بنفس اسم الإشارة المرجعية.

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

إدخال حقل Form

حقول النموذج هي حالة معينة من حقول الكلمات التي تسمح “بالتفاعل” مع المستخدم. تتضمن حقول النموذج في Microsoft Word مربع نص ومربع تحرير وسرد ومربع اختيار.DocumentBuilder يوفر طرقا خاصة لإدراج كل نوع من حقول النموذج في المستند: DocumentBuilder.InsertTextInput و DocumentBuilder->InsertCheckBox و DocumentBuilder.InsertComboBox. لاحظ أنه إذا قمت بتحديد اسم لحقل النموذج، فسيتم إنشاء إشارة مرجعية تلقائيا بنفس الاسم.

إدخال إدخال نص

DocumentBuilder.InsertTextInput لإدراج مربع نص في المستند. يوضح المثال أدناه كيفية إدراج حقل نموذج إدخال نص في مستند.

إدراج خانة الاختيار

اتصل DocumentBuilder.InsertCheckBox لإدراج مربع اختيار في المستند. يوضح المثال أدناه كيفية إدراج حقل نموذج مربع الاختيار في مستند.

إدراج مربع التحرير والسرد

اتصل DocumentBuilder.InsertComboBox لإدراج مربع التحرير والسرد في المستند. يوضح المثال أدناه كيفية إدراج حقل نموذج مربع التحرير والسرد في مستند.

إدراج اللغة على المستوى الميداني

يمكن للعملاء تحديد اللغة على المستوى الميداني الآن ويمكنهم تحقيق تحكم أفضل. يمكن ربط معرفات اللغة مع كل حقل داخل DocumentBuilder. توضح الأمثلة أدناه كيفية الاستفادة من هذا الخيار.

إدراج ارتباط تشعبي

استخدم DocumentBuilder.InsertHyperlink لإدراج ارتباط تشعبي في المستند. تقبل هذه الطريقة ثلاث معلمات: نص الرابط المراد عرضه في المستند، ووجهة الارتباط (URL أو اسم إشارة مرجعية داخل المستند)، ومعلمة منطقية يجب أن تكون صحيحة إذا كان URL هو اسم إشارة مرجعية داخل المستند.DocumentBuilder.InsertHyperlink يدعو داخليا DocumentBuilder.InsertField.تضيف الطريقة دائما الفواصل العليا في بداية ونهاية URL. لاحظ أنك تحتاج إلى تحديد تنسيق الخط لنص عرض الارتباط التشعبي بشكل صريح باستخدام الخاصية Font. المثال أدناه إدراج ارتباط تشعبي في مستند باستخدام DocumentBuilder.

إدراج كائن أولي

إذا كنت تريد استدعاء كائن أولي DocumentBuilder.InsertOleObject. مرر إلى هذه الطريقة ProgId صراحة مع معلمات أخرى. يوضح المثال أدناه كيفية إدراج كائن أولي في مستند.

تعيين اسم الملف والامتداد عند إدراج كائن أولي

حزمة OLE هي طريقة قديمة و" غير موثقة " لتخزين الكائن المضمن إذا كان معالج OLE غير معروف. كانت الإصدارات المبكرة Windows مثل Windows 3.1 و 95 و 98 تحتوي على حزم.تطبيق إكس التي يمكن استخدامها لتضمين أي نوع من البيانات في المستند. الآن، يتم استبعاد هذا التطبيق من Windows ولكن MS كلمة وغيرها من التطبيقات لا تزال تستخدم لتضمين البيانات إذا OLE معالج مفقود أو غير معروف. OlePackage فئة يسمح للوصول إلى OLE خصائص الحزمة. يوضح المثال أدناه كيفية تعيين اسم الملف والملحق واسم العرض لحزمة OLE.

إدراج HTML

يمكنك بسهولة إدراج سلسلة HTML تحتوي على جزء HTML أو مستند HTML كامل في مستند الكلمة. مجرد تمرير هذه السلسلة إلى طريقة DocumentBuilder->InsertHtml. أحد التطبيقات المفيدة للطريقة هو تخزين سلسلة HTML في قاعدة بيانات وإدراجها في المستند أثناء mail merge لإضافة المحتوى المنسق بدلا من بنائه باستخدام طرق مختلفة لمنشئ المستندات. يوضح المثال أدناه الإدخالات HTML في مستند باستخدام DocumentBuilder.

أدخل قاعدة أفقية في المستند

كنlow code يوضح المثال كيفية إدراج شكل القاعدة الأفقي في مستند باستخدام طريقة DocumentBuilder->InsertHorizontalRule.