برای وارد کردن عناصر سند از DocumentBuilder استفاده کنید

DocumentBuilder برای تغییر اسناد استفاده می شود. این مقاله نحوه انجام تعدادی از وظایف را توضیح می دهد و توضیح می دهد.

قرار دادن یک رشته متن

به سادگی رشته متن مورد نیاز برای وارد کردن در سند را به روش DocumentBuilder.write منتقل کنید. قالب بندی متن توسط ویژگی Font تعیین می شود. این شی شامل ویژگی های فونت مختلف (نام فونت، اندازه فونت، رنگ و غیره) است. برخی از ویژگی های مهم فونت نیز توسط ویژگی های DocumentBuilder نشان داده شده است تا به شما اجازه دسترسی مستقیم به آنها را بدهد. اینها خواص بولی Font.getBold، Font.getItalic و Font.getUnderline هستند.

مثال کد زیر متن فرمت شده را با استفاده از DocumentBuilder وارد می کند.

درج یک پاراگراف

DocumentBuilder.writeln یک رشته متن را نیز در سند قرار می دهد اما علاوه بر این، یک پاراگراف را اضافه می کند. قالب بندی فونت فعلی نیز توسط DocumentBuilder مشخص شده است.getFont ویژگی و قالب بندی پاراگراف فعلی توسط DocumentBuilder تعیین می شود.getParagraphFormat خاصیت.

مثال کد زیر نشان می دهد که چگونه یک پاراگراف را در سند وارد کنید.

قرار دادن یک جدول

الگوریتم اساسی برای ایجاد یک جدول با استفاده از DocumentBuilder ساده است:

  1. جدول را با استفاده از DocumentBuilder.startTable شروع کنید.
  2. یک سلول را با استفاده از DocumentBuilder.insertCell وارد کنید. این به طور خودکار یک ردیف جدید را شروع می کند. در صورت نیاز، از ویژگی DocumentBuilder.getCellFormat برای مشخص کردن قالب بندی سلول استفاده کنید.
  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 استفاده کنید.getCellFormat ویژگی برای مشخص کردن قالب بندی سلول. یک شی getCellFormat را باز می گرداند که تمام فرمت های یک سلول جدول را نشان می دهد.

پایان دادن به یک ردیف

تماس بگیرید 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 با عبور از یک پارامتر رشته ای
  • از یک جریان با عبور از یک پارامتر Stream
  • از یک شیء تصویر با عبور از یک پارامتر تصویر
  • از یک آرایه بایت با عبور از یک پارامتر آرایه بایت
  • و دیگران

برای هر یک از DocumentBuilder.insertImage روش ها، اضافه بار های بیشتری وجود دارد که به شما اجازه می دهد یک تصویر با گزینه های زیر را وارد کنید:

  • خطی یا شناور در یک موقعیت خاص
  • مقیاس درصد یا اندازه سفارشی

علاوه بر این، DocumentBuilder.insertImage روش یک شی Shape را باز می گرداند که تازه ایجاد شده و وارد شده است تا بتوانید خواص شکل را بیشتر تغییر دهید.

قرار دادن یک تصویر خطی

یک رشته ی واحد را که یک فایل را نشان می دهد که شامل تصویر است به DocumentBuilder منتقل کنید.insertImage برای وارد کردن تصویر به سند به عنوان یک گرافیک خطی. مثال کد زیر نشان می دهد که چگونه یک تصویر خطی را در موقعیت مکان نما در یک سند قرار دهید.

قرار دادن یک تصویر شناور (کاملا قرار گرفته)

این مثال یک تصویر شناور از یک فایل یا URL را در یک موقعیت و اندازه مشخص قرار می دهد.

وارد کردن یک نشانک

برای قرار دادن یک نشانه در سند، باید موارد زیر را انجام دهید:

  1. با ارسال نام دلخواه نشانک، با DocumentBuilder.startBookmark تماس بگیرید.
  2. متن نشانه گذاری را با استفاده از روش های DocumentBuilder وارد کنید.
  3. با DocumentBuilder.endBookmark تماس بگیرید و همان نامی را که با DocumentBuilder استفاده کرده اید، به آن بدهید.startBookmark.

نشانه ها می توانند همپوشانی داشته باشند و هر محدوده ای را پوشش دهند. برای ایجاد یک نشانه معتبر شما باید هر دو DocumentBuilder را فراخوانی کنید.startBookmark و DocumentBuilder.endBookmark با همان نام نشانه.

نشانه ها یا نشانه های بد شکل با نام های تکراری هنگام ذخیره سند نادیده گرفته می شوند.

مثال کد زیر نشان می دهد که چگونه یک نشانه را با استفاده از یک سازنده سند در یک سند وارد کنید.

قرار دادن یک فیلد

فیلد های موجود در اسناد Microsoft Word شامل یک کد فیلد و یک نتیجه فیلد است. کد فیلد مانند یک فرمول است و نتیجه فیلد همان مقدار است که فرمول تولید می کند. کد فیلد همچنین ممکن است شامل سوئیچ های فیلد باشد که دستورالعمل های اضافی برای انجام یک عمل خاص هستند. شما می توانید بین نمایش کدهای فیلد و نتایج در سند خود در Microsoft Word با استفاده از میانبر صفحه کلید Alt+F9 تغییر دهید. کد های میدان بین بریس های طنزی ({ }) ظاهر می شوند.برای ایجاد فیلد در سند از DocumentBuilder.insertField استفاده کنید. شما باید یک نوع فیلد، کد فیلد و مقدار فیلد را مشخص کنید. اگر در مورد نحو کد فیلد خاص مطمئن نیستید، ابتدا فیلد را در Microsoft Word ایجاد کنید و برای دیدن کد فیلد آن تغییر دهید. مثال کد زیر یک فیلد ادغام را با استفاده از DocumentBuilder در یک سند قرار می دهد.

وارد کردن فیلد Form

زمینه های فرم یک مورد خاص از زمینه های کلمه است که اجازه می دهد تا “تعامل” با کاربر. فیلد های فرم در Microsoft Word شامل textbox، Combobox و checkbox است.DocumentBuilder روش های خاصی را برای قرار دادن هر نوع فیلد فرم در سند فراهم می کند: DocumentBuilder.insertTextInput، DocumentBuilder.insertCheckBox و DocumentBuilder.insertComboBox. توجه داشته باشید که اگر شما یک نام برای فیلد فرم مشخص کنید، پس یک علامت گذاری به طور خودکار با همان نام ایجاد می شود.

وارد کردن ورودی متن

DocumentBuilder.insertTextInput برای قرار دادن یک جعبه متن در سند. مثال کد زیر نشان می دهد که چگونه یک فیلد فرم ورودی متن را در یک سند وارد کنید.

قرار دادن CheckBox

تماس بگیرید DocumentBuilder.insertCheckBox برای وارد کردن checkbox به سند. مثال کد زیر نشان می دهد که چگونه یک فیلد فرم checkbox را در یک سند وارد کنید.

قرار دادن یک جعبه دسته کوچک موسیقی جاز

تماس بگیرید DocumentBuilder.insertComboBox برای وارد کردن یک جعبه کامبو به سند. مثال کد زیر نشان می دهد که چگونه یک فیلد فرم جعبه کامبو را در یک سند وارد کنید.

وارد کردن محلی در سطح میدان

مشتریان می توانند محلی را در سطح میدان مشخص کنند و می توانند کنترل بهتری داشته باشند. شناسه های محلی را می توان با هر فیلد در داخل DocumentBuilder مرتبط کرد. نمونه های زیر نشان می دهد که چگونه از این گزینه استفاده کنید.

درج HTML

شما به راحتی می توانید یک رشته HTML را که شامل یک قطعه HTML یا کل HTML سند است در سند Word وارد کنید. فقط این رشته را به DocumentBuilder منتقل کنید.insertHtml روش. یکی از پیاده سازی های مفید این روش ذخیره یک رشته HTML در یک پایگاه داده و قرار دادن آن در سند در طول Mail Merge برای اضافه کردن محتوای فرمت شده به جای ساخت آن با استفاده از روش های مختلف سازنده سند است. مثال کد زیر نشان می دهد که HTML را با استفاده از DocumentBuilder در یک سند قرار می دهد.

درج هایپر لینک

استفاده کنید DocumentBuilder.insertHyperlink برای وارد کردن یک لینک به سند. این روش سه پارامتر را می پذیرد: متن لینک که در سند نمایش داده می شود، مقصد لینک (URL یا نام یک نشانه در داخل سند)، و یک پارامتر بولی که باید درست باشد اگر URL نام یک نشانه در داخل سند باشد.DocumentBuilder.insertHyperlink تماس های داخلی DocumentBuilder.insertField. این روش همیشه در ابتدای و پایان URL آراستروف اضافه می کند. توجه داشته باشید که شما باید قالب بندی فونت را برای متن نمایش لینک به طور صریح با استفاده از ویژگی Font مشخص کنید. مثال کد زیر یک لینک را با استفاده از DocumentBuilder در یک سند قرار می دهد.

وارد کردن جدول محتویات

شما می توانید یک فیلد TOC (جدول محتویات) را در سند در موقعیت فعلی با فراخوانی روش DocumentBuilder.insertTableOfContents وارد کنید. DocumentBuilder.روش insertTableOfContents فقط یک فیلد TOC را در سند قرار می دهد. برای ساخت جدول محتویات و نمایش آنها با توجه به شماره صفحات، هر دو روش Document.UpdateFieldsباید پس از قرار دادن فیلد فراخوانده شوند. مثال کد زیر نشان می دهد که چگونه یک فیلد جدول محتویات را در یک سند وارد کنید.

قرار دادن Ole شی

اگر می خواهید Ole تماس شی DocumentBuilder.insertOleObjectAsIcon.

تنظیم نام فایل و پسوند هنگام قرار دادن Ole Object

بسته OLE یک روش قدیمی و “غیر مستند” برای ذخیره اشیاء جاسازی شده است اگر کنترل کننده OLE ناشناخته باشد. نسخه های اولیه Windows مانند Windows 3.1، 95 و 98 دارای برنامه Packager.exe بودند که می توانستند برای جاسازی هر نوع داده در سند استفاده شوند. حالا، این برنامه از Windows حذف شده است اما MS Word و سایر برنامه ها هنوز از آن برای جاسازی داده ها استفاده می کنند اگر کنترل کننده OLE گم شده یا ناشناخته باشد. OlePackage کلاس اجازه دسترسی به ویژگی های OLE Package را می دهد.مثال کد زیر نشان می دهد که چگونه نام فایل، پسوند و نام نمایش را برای OLE Package تنظیم کنید.

دسترسی به داده های خام شی OLE

مثال کد زیر نشان می دهد که چگونه داده های خام شیء OLE را با استفاده از روش OleFormat.GetRawData() بدست آوریم.

قانون افقی را در سند قرار دهید

مثال کد زیر نشان می دهد که چگونه شکل قانون افقی را با استفاده از روش DocumentBuilder.InsertHorizontalRule در یک سند وارد کنید.

کار با اشکال

درج اشکال درون خطی و آزاد شناور

شما می توانید یک شکل خطی با یک نوع و اندازه مشخص شده و یک شکل شناور آزاد با موقعیت مشخص شده، اندازه و نوع بسته بندی متن را با استفاده از روش DocumentBuilder.InsertShape در یک سند قرار دهید. روش DocumentBuilder.InsertShape اجازه می دهد تا شکل DML را در مدل سند وارد کنید. سند باید در قالب ذخیره شود، که از اشکال DML پشتیبانی می کند، در غیر این صورت چنین گره هایی به شکل VML تبدیل می شوند، در حالی که ذخیره سند. مثال کد زیر نشان می دهد که چگونه این نوع اشکال را در سند وارد کنید.

ایجاد مستطیل گوشه Snip

شما می توانید یک مستطیل گوشه ای با استفاده از Aspose.Words ایجاد کنید. انواع شکل ها عبارتند از SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, و DiagonalCornersRounded. شکل DML با استفاده از روش DocumentBuilder.InsertShape با این نوع شکل ها ایجاد می شود. این نوع ها نمی توانند برای ایجاد شکل های VML استفاده شوند. تلاش برای ایجاد یک شکل با استفاده از سازنده عمومی کلاس “شکل” استثنا “NotSupportedException” را افزایش می دهد. مثال کد زیر نشان می دهد که چگونه این نوع اشکال را در سند وارد کنید.

وارد کردن اشکال با ریاضی XML به صورت شکل به DOM

شما می توانید از ویژگی LoadOptions.ConvertShapeToOfficeMath برای تبدیل اشکال با EquationXML به اشیاء ریاضی اداری استفاده کنید. مقدار پیش فرض این ویژگی با MS رفتار کلمه ای یعنی اشکال با معادله XML به اشیاء ریاضی اداری تبدیل نمی شوند.