استخدام `DocumentBuilder` to Modify a Document

الكشف عن الشكل

Font Formatting

الشكل البياني الحالي يمثله Font الجسم الذي أعاده DocumentBuilder.Font ملكية The Font الطبقة تحتوي على مجموعة واسعة من الخواص الفونتية Microsoft Word.

font-formatting-aspose-words-java
والمثال الرمزي التالي يبين كيفية وضع الشكل الخطي.

تركيب الخلايا

وتستخدم تركيب الخلايا أثناء بناء طاولة. ويمثله محام CellFormat الجسم الذي أعاده DocumentBuilder.CellFormat ملكية الخلايا تلخص مختلف خصائص الخلايا المنضدية مثل المستعارات أو التواؤم الرأسي.

cell-formatting-aspose-words-java
The following code example shows how to create a table that contains a single formatted cell.

Row Formatting

يُحدَّد شكل الصف الحالي من خلال RowFormat الجسم الذي يعيده DocumentBuilder.RowFormat ملكية الجسم يلخص المعلومات عن جميع صيغ الجدول

row-formatting-aspose-words-java
سيكونlow code وعلى سبيل المثال، يبيّن كيفية وضع جدول يحتوي على خلية واحدة ويطبق شكل الصف.

القائمة

Aspose.Words ويسمح بسهولة وضع القوائم عن طريق تطبيق صيغة القائمة. الوثائق تقدم DocumentBuilder.ListFormat الممتلكات التي تعود ListFormat هدف ولهذه الغاية عدة طرق لبدء ووضع حد للقائمة وزيادة/تخفيض الحوادث.

list-fformatting-aspose-words-java
هناك نوعان عامان من القوائم Microsoft Wordطلق ناري ومرقم

-للبدء بقائمة مُطلقة ListFormat.applyBulletDefault. -للبدأ بقائمة مرقمة ListFormat.applyNumberDefault.

تضاف الرصاصة أو العدد والشكل إلى الفقرة الحالية وجميع الفقرات الأخرى المنشأة باستخدام DocumentBuilder حتى ListFormat.removeNumbers يُدعى لإيقاف وضع قائمة مُطلقة.

وفي وثائق الكلمات، يمكن أن تتألف القوائم من ما يصل إلى تسعة مستويات. ويحدد شكل القائمة لكل مستوى ما يُستخدم من الرصاص أو الرقم، والثغرة اليسرى، والحيز بين الرصاصة والنص وما إلى ذلك.

وتُغيّر الأساليب مستوى القائمة وتطبق خصائص الشكل في المستوى الجديد.

ويبين المثال الرمزي التالي كيفية وضع قائمة متعددة المستويات.

تشكيل وقسم الصياغة

مجمّعة وممتلكات الأقسام PageSetup الجسم الذي يعيده DocumentBuilder.PageSetup ملكية ويشتمل الجسم على جميع صفات الصفحات المجهزة في قسم (الحافة الطفيفة، والهامش السفلي، والحجم الورقي، وما إلى ذلك) بوصفها خصائص.

section-formatting-aspose-words-java
ويبيّن المثال الرمزي التالي كيفية تحديد خصائص من قبيل حجم الصفحات وتوجيهها للقسم الحالي.

تطبيق نموذج

بعض الأشياء المشكله مثل أسلوب الدعم A single built-in or user-defined method is represented by a Style الجسم الذي يحتوي على خصائص النمط المناظرة مثل الاسم، وأسلوب القاعدة، ونسخة وصيغة الفقرة من الأسلوب، وهكذا.

(أ) Style الجسم ينص على Style.getStyleIdentifier الممتلكات التي تُعيد مُحدِّد للأسلوب المحلي المعتمد Style.StyleIdentifier قيمة العد المغزى هو أن اسماء الموضة في Microsoft Word تُحَوَّل لمختلف اللغات. وباستخدام جهاز تحديد هويّة، يمكنك إيجاد الأسلوب الصحيح بغض النظر عن لغة الوثيقة. قيم التعداد متطابقة مع Microsoft Word أساليب مبنية كالعادة، العنوان 1، العنوان 2 وما إلى ذلك تم تعيين جميع الأساليب المحددة للمستعملين مُحدّد هوية. قيمة المستعملين.

apply-style-aspose-words-java
ويبين المثال الرمزي التالي كيفية تطبيق أسلوب الفقرة.

الحدود والتقاسم

وتُمثل الحدود في مجلس الحدود. وهذه مجموعة من الأجسام الحدودية التي يتم الوصول إليها حسب الرقم القياسي أو حسب نوع الحدود. يُمثّل نوع الحدود BorderType العد وتنطبق بعض قيم التعداد على عدد من عناصر الوثيقة أو على عنصر واحد فقط. على سبيل المثال، BorderType.Bottom ينطبق على فقرة أو زنزانة طاولة في حين BorderType.DiagonalDown يحدد الحدود التشخيصية في خلية طاولة فقط

ولكل من مجموعة الحدود وكل حدود منفصلة خصائص مماثلة مثل اللون، وأسلوب الخط، واتباع خط، وبعد عن النص، والظل الاختياري. وهي ممثَّلة بممتلكات ذات الاسم. يمكنك تحقيق أنواع مختلفة من الحدود عن طريق الجمع بين قيم الملكية بالإضافة إلى ذلك، كلاهما BorderCollection و Border الأشياء تسمح لك بإعادة هذه القيم إلى التقصير عن طريق الاتصال Border.clearFormatting طريقة ويلاحظ أنه عندما تعاد ملكية الحدود إلى القيم الافتراضية، فإن الحدود غير مرئية.

set-borders-shading-aspose-words-java
The Shading ويتضمن الفصل سمات مظلة لعناصر الوثائق. يمكنك وضع النسيج المظلي المرغوب والألوان التي تُطبق على خلفية العنصر

النسيج المظل مع النص قيمة التعداد التي تسمح بتطبيق أنماط مختلفة على Shading هدف For example, to set a background color for a document element, use the TextureIndex.TextureSolid القيمة ووضع لون المظلة الأمامية حسب الاقتضاء

borders-and-shading-aspose-words-java
ويبين المثال الوارد أدناه كيفية تطبيق الحدود والظل على فقرة.

Snap to Grid

Aspose.Words توفير عقارين ParagraphFormat.SnapToGrid و Font.SnapToGrid للحصول على وضبط العقارات المفقودة للشبكة

ننتقل إلى كورسور

Detecting the Current Cursor Position

يمكنك الحصول على مكان معالج البناين في أي وقت The DocumentBuilder.getCurrentNode وتعيد الممتلكات العقد الذي يتم اختياره حاليا في هذا المبنى. العقد هو طفل مباشر للفقرة. أي عمليات تقوم بها DocumentBuilder يدرج قبل DocumentBuilder.CurrentNode. عندما تكون الفقرة الحالية فارغة أو يوضع الشعار قبل نهاية الفقرة مباشرة، DocumentBuilder.CurrentNode العودة لاغية

أيضا، يمكنك استخدام DocumentBuilder.getCurrentParagraph الممتلكات، التي تحصل على الفقرة التي يجري اختيارها حاليا في هذا الصدد DocumentBuilder. سيكونlow code وعلى سبيل المثال، يبيّن كيفية الوصول إلى العقد الحالي في مبني الوثائق.

الانتقال إلى أي نود (براغرافات وأطفالها)

إذا كان لديك وثيقة العقد، وهذا هو فقرة أو طفل مباشر من فقرة، يمكنك أن تشير فضيحة البنّاء إلى هذا العقد. استخدام DocumentBuilder.moveTo طريقة لفعل هذا ويبيّن المثال الرمزي التالي كيفية نقل موقف الضمائر إلى عقد محدد.

الانتقال إلى الوثيقة

إذا كنت بحاجة إلى الانتقال إلى بداية الوثيقة، الاتصال DocumentBuilder.moveToDocumentStart. إذا كنت بحاجة إلى الانتقال إلى نهاية الوثيقة، الاتصال DocumentBuilder.moveToDocumentEnd.

الانتقال إلى قسم

إذا كنت تعمل مع وثيقة تحتوي على أجزاء متعددة، يمكنك الانتقال إلى القسم المنشود باستخدام DocumentBuilder.moveToSection. وتنتقل هذه الطريقة إلى بداية قسم محدد وتقبل الرقم القياسي للقسم المطلوب. وعندما يكون الرقم القياسي للفرع أكبر من الرقم القياسي أو يساوي صفرا، فإنه يحدد مؤشرا من بداية الوثيقة مع عدم كونه القسم الأول. وعندما يكون الرقم القياسي للقسم أقل من صفر، فإنه يحدد الرقم القياسي من نهاية الوثيقة مع - 1 باعتباره الجزء الأخير. سيكونlow code وعلى سبيل المثال، يبيّن كيفية نقل موقف الضمائر إلى القسم المحدد. يمكنك تحميل ملف النموذج من هذا المثال هنا.

الانتقال إلى رئيس/مهر

عندما تحتاج إلى وضع بعض البيانات في رأس أو قدم، يجب أن تتحرك هناك أولا باستخدام DocumentBuilder.moveToHeaderFooter. The method accepts a HeaderFooterType enumeration value that identifies the type of header or footer to where the cursor should be moved.

إذا كنت تريد أن تخلق الرأس والأقدام مختلفة للصفحة الأولى، عليك أن تضع PageSetup.getDifferentFirstPageHeaderFooter الممتلكات إلى true. إذا كنت تريد أن تخلق الرعاة والأقدام مختلفة للصفحات المتساوية والغريبة PageSetup.getOddAndEvenPagesHeaderFooter إلى true.

إذا كنت بحاجة إلى العودة إلى القصة الرئيسية، استخدامDocumentBuilder.moveToSection للانتقال من الرأس أو القدم ويخلق المثال التالي رؤساء وأقدام في وثيقة تستخدم الوثيقة.

الانتقال إلى فقرة

الاستخدامDocumentBuilder.moveToParagraph نقل الشعار إلى فقرة مرغوبة في الفرع الحالي. وينبغي أن تجتازوا بارامترتين لهذه الطريقة: الفقرة " إندكس " (مؤشر الفقرة للانتقال إلى) ورقم " إندكس " (مؤشر الطابع الوارد في الفقرة).

وتُجرى الملاحة داخل القصة الحالية للقسم الحالي. ذلك، إذا حرّكتَ الكاسرَ إلى الرئيسِ الرئيسيِ للقسمِ الأولِ، ثمّ الفقرةِ Index تُحدّدُ فهرسَ الفقرةِ داخل ذلك رئيسِ ذلك القسمِ.

وعندما تكون الفقرة " إندكس " أكبر من أو تساوي صفراً، فإنها تحدد مؤشراً من بداية الباب، مع كون الفقرة الأولى صفراً. وعندما تكون الفقرة " إندكس " أقل من صفر، فإنها تحدد رقما قياسيا من نهاية الفرع، مع - 1 باعتباره الفقرة الأخيرة. ولا يمكن حالياً تحديد الرقم القياسي للطابع إلا على أنه صفر للانتقال إلى بداية الفقرة أو - 1 للانتقال إلى نهاية الفقرة. ويبيّن المثال الرمزي التالي كيفية نقل موقف الضمائر إلى الفقرة المحددة. يمكنك تحميل ملف النموذج من هذا المثال هنا.

الانتقال إلى خلية الجدول

الاستخدام DocumentBuilder.moveToCell إذا كنت بحاجة لنقل الكاسر إلى خلية طاولة في القسم الحالي تقبل هذه الطريقة أربعة بارامترات:

-المائدة - فهرس الطاولة للانتقال

  • فهرس الصف على الطاولة
  • العمود - فهرس العمود في الجدول. -الشخصية (إندكس) فهرس الشخصية داخل الزنزانة

وتجرى الملاحة داخل القصة الحالية للقسم الحالي.

وفيما يتعلق بارامترات الرقم القياسي، فإنه عندما يكون المؤشر أكبر من الرقم القياسي أو يساوي صفرا، يحدد الرقم القياسي من البداية مع كون صفر العنصر الأول. وعندما يكون الرقم القياسي أقل من صفر، يحدد الرقم القياسي من النهاية - 1 بوصفه العنصر الأخير.

Also, note that characterIndex currently can only specify 0 to move to the beginning of the cell or -1 to move to the end of the cell. The following code example shows how to move a cursor position to the specified table cell. يمكنك تحميل ملف النموذج من هذا المثال هنا.

الانتقال إلى علامة الكتاب

وتُستخدم العلامات الكتابية في كثير من الأحيان لتحديد أماكن معينة في الوثيقة التي تُدرج فيها عناصر جديدة. للانتقال إلى علامة الكتاب، استخدام DocumentBuilder.moveToBookmark. هذه الطريقة بها حمولة زائدة أبسط شخص لا يقبل شيء سوى اسم العلامة الكتابية المثال الرمزي التالي يُظهر كيف يُحرّكُ موقعاً كسوراً إلى علامة كتاب.

هذه الحمولة الزائدة تُنقل الشعار إلى موقع بعد بداية علامة الكتاب بالاسم المحدد تحميل إضافي آخر DocumentBuilder.moveToBookmark يُحرّكُ الشعار إلى a علامة كتاب بدقّة أكبر. وهي تقبل بارامترين إضافيين هما:

-هل (ستارت) يقرر ما إذا كان سينقل الستار إلى البداية أو إلى نهاية العلامة الكتابية -هل يقرر (آفتر) ما إذا كان سينقل الـ (كلورس) إلى مكانه بعد أن تبدأ علامة الكتاب أو تنتهي، أو أن يحرك الـ (كاسور) ليكون قبل أن تبدأ علامة الكتاب أو تنتهي

المثال الرمزي التالي يُظهر كيف يُحرّكُ موقفاً مُسَاعِداً إلى بعد نهاية الكتاب

ولا يحل نص جديد بهذه الطريقة محل النص الحالي للعلامة الكتابية. Note that some bookmarks in the document are assigned to form fields. والانتقال إلى هذه العلامة الكتابية وإدراج النص فيها يُدرج النص في شكل مدونة ميدانية. وعلى الرغم من أن هذا لن يبطل مجال الشكل، فإن النص المضاف لن يكون مرئيا لأنه يصبح جزءا من القانون الميداني.

الانتقال إلى Merge الميدان

في بعض الأحيان قد تحتاج إلى أداء “معتاد” mail merge استخدام DocumentBuilder أو ملئ حقل الدمج بطريقة خاصة داخل mail merge معالج الحدث ذلك عندما DocumentBuilder.moveToMergeField قد يكون مفيداً الطريقة تقبل اسم الحقل المدمج ينتقل الستار إلى مكان ما بعد الحقل المدمج المحدد ويزيل الحقل المدمج ويوضح المثال الرمزي التالي كيفية نقل الضمائر إلى موقع يتجاوز مجال الدمج المحدد.

كيفية تجنب ما بين وحدات القياس

معظم ممتلكات الجسم المنصوص عليها في Aspose.Words API وهذا يمثل بعض القياسات (الرصاص/الطول، والهامش، والمسافات المختلفة) التي تقبل القيم في نقاط (بوصة واحدة تساوي 72 نقطة). أحياناً هذا ليس ملائماً لذا هناك ConvertUtil درجة توفر وظائف المساعدين للتحول بين مختلف وحدات القياس. ويسمح بتحويل بوصات إلى نقاط، ويشير إلى بوصات، وإلى بيكسلز إلى نقاط، ويشير إلى بيكسلز. وعندما تُحوَّل البيكسلزات إلى نقاط والعكس بالعكس، يمكن أن تُنفَّذ بـ 96 قراراً (في كل بوصة) أو بقرار صادر في الوثيقة المحددة.

ConvertUtil وهو مفيد جداً عند تحديد خصائص مختلفة للصفحات لأن الشطرنج مثلاً هي وحدات قياس أكثر اعتيادية من النقاط. ويبين المثال التالي كيفية وضع خصائص الصفحات في بوصات.

The following code example shows how to specify page properties inches.