اعمال قالب بندی
هر عنصر یک جدول را می توان با قالب بندی های مختلف اعمال کرد. به عنوان مثال، قالب بندی جدول به کل جدول، قالب بندی ردیف فقط به ردیف های خاص، قالب بندی سلول فقط به سلول های خاص اعمال می شود.
Aspose.Words یک API غنی برای بازیابی و اعمال قالب بندی به یک جدول فراهم می کند. شما می توانید از گره های Table، RowFormat و CellFormat برای تنظیم قالب بندی استفاده کنید.
در این مقاله، ما در مورد نحوه اعمال قالب بندی به گره های مختلف جدول و اینکه چه تنظیمات قالب بندی جدول Aspose.Words پشتیبانی می کند صحبت خواهیم کرد.
اعمال قالب بندی به گره های مختلف
در این بخش، ما به استفاده از قالب بندی برای گره های مختلف جدول نگاه خواهیم کرد.
قالب بندی سطح جدول
برای اعمال قالب بندی به یک جدول، می توانید از ویژگی های موجود در گره Table مربوطه با استفاده از کلاس های Table، PreferredWidth و TableCollection استفاده کنید.
تصاویر زیر نشان دهنده ویژگی های قالب بندی Table در Microsoft Word و خواص مربوطه آنها در Aspose.Words است.
مثال کد زیر نشان می دهد که چگونه یک مرز طرح را به یک جدول اعمال کنید:
مثال کد زیر نشان می دهد که چگونه یک جدول با تمام مرزهای فعال (شبکه)ایجاد کنید:
قالب بندی سطح ردیف
سطح ردیف
تصاویر زیر نشان دهنده ویژگی های قالب بندی Row در Microsoft Word و خواص مربوطه آنها در Aspose.Words است.
مثال کد زیر نشان می دهد که چگونه قالب بندی ردیف جدول را تغییر دهید:
قالب بندی سطح سلول
فرمت سطح سلولی توسط کلاس های Cell، CellFormat و CellCollection کنترل می شود.
توجه داشته باشید که یک Cell فقط می تواند یک گره کودک از یک Row باشد. در عین حال، باید حداقل یک Paragraph در Cell وجود داشته باشد تا قالب بندی روی آن اعمال شود.
علاوه بر Paragraph، شما همچنین می توانید یک Table را به یک Cell وارد کنید.
تصاویر زیر نشان دهنده ویژگی های قالب بندی Cell در Microsoft Word و خواص مربوطه آنها در Aspose.Words است.
مثال کد زیر نشان می دهد که چگونه قالب بندی یک سلول جدول را تغییر دهید:
مثال کد زیر نشان می دهد که چگونه مقدار فضای (در نقاط) را برای اضافه کردن به سمت چپ/بالا/راست/پایین محتویات سلول تنظیم کنید:
ارتفاعات ردیف را مشخص کنید
ساده ترین راه برای تنظیم ارتفاع ردیف استفاده از DocumentBuilder است. با استفاده از ویژگی های مناسب RowFormat، می توانید تنظیمات ارتفاع پیش فرض را تنظیم کنید یا ارتفاع متفاوتی را برای هر ردیف در جدول اعمال کنید.
در Aspose.Words، ارتفاع ردیف جدول توسط:
- ویژگی ارتفاع ردیف - Height
- خاصیت قانون ارتفاع برای ردیف داده شده - HeightRule
در عین حال، ارتفاع متفاوتی را می توان برای هر ردیف تنظیم کرد – این به شما امکان می دهد تنظیمات جدول را به طور گسترده ای کنترل کنید.
مثال کد زیر نشان می دهد که چگونه یک جدول که شامل یک سلول واحد است ایجاد کنید و قالب بندی ردیف را اعمال کنید:
مشخص کردن جدول و عرض سلولی
یک جدول در یک سند Microsoft Word چندین روش مختلف برای تغییر اندازه جدول و سلول های فردی را فراهم می کند. این خواص اجازه کنترل قابل توجهی بر ظاهر و رفتار جدول را می دهد، به طوری که Aspose.Words از رفتار جداول پشتیبانی می کند، همانطور که در Microsoft Word است.
مهم است که بدانیم عناصر جدول چندین ویژگی مختلف را ارائه می دهند که می تواند بر نحوه محاسبه عرض جدول کلی و همچنین سلول های فردی تأثیر بگذارد:
- عرض دلخواه روی میز
- عرض ترجیح داده شده در سلول های فردی
- اجازه دادن به autofit روی میز
این مقاله جزئیات نحوه کار ویژگی های مختلف محاسبه عرض جدول و نحوه کنترل کامل بر محاسبه عرض جدول را ارائه می دهد. این به خصوص مفید است که در مواردی که طرح جدول به نظر نمی رسد به عنوان انتظار می رود.
در بیشتر موارد، سلول ترجیح داده شده نسبت به عرض جدول توصیه می شود. عرض سلول ترجیح داده شده بیشتر با مشخصات فرمت DOCX و همچنین مدل Aspose.Words مطابقت دارد.
عرض سلول در واقع یک مقدار محاسبه شده برای فرمت DOCX است. عرض واقعی سلول می تواند به چیزهای زیادی بستگی داشته باشد. به عنوان مثال، تغییر حاشیه صفحه یا عرض جدول ترجیح داده شده می تواند بر عرض واقعی سلول تأثیر بگذارد.
عرض سلول مورد علاقه یک ویژگی سلولی است که در سند ذخیره می شود. این به هیچ چیز بستگی ندارد و هنگام تغییر جدول یا سایر خواص سلول تغییر نمی کند.
نحوه استفاده از عرض دلخواه
عرض مطلوب یک جدول یا سلول های فردی از طریق ویژگی عرض ترجیح داده شده تعریف می شود، که اندازه ای است که یک عنصر تلاش می کند تا متناسب باشد. یعنی عرض دلخواه را می توان برای کل جدول یا سلول های جداگانه مشخص کرد. در برخی شرایط ممکن است دقیقا متناسب با این عرض نباشد، اما عرض واقعی در بیشتر موارد به این مقدار نزدیک خواهد بود.
نوع عرض و مقدار مناسب ترجیح داده شده با استفاده از روش های کلاس PreferredWidth تنظیم می شود:
- روش Auto برای مشخص کردن خودکار یا"بدون عرض ترجیح داده شده"
- روش FromPercent برای مشخص کردن عرض درصد
- روش FromPoints برای مشخص کردن عرض در نقاط
تصاویر زیر نمایانگر preferred width setting features در Microsoft Word و خواص مربوطه آنها در Aspose.Words است.
نمونه ای از نحوه اعمال این گزینه ها به یک جدول واقعی در یک سند را می توان در تصویر زیر مشاهده کرد.
جدول یا عرض سلول مورد نظر را مشخص کنید
در Aspose.Words، جدول و عرض سلول با استفاده از ویژگی Table.PreferredWidth و ویژگی CellFormat.PreferredWidth تنظیم می شود، با گزینه های موجود در شمارش PreferredWidthType:
- Auto که معادل بدون مجموعه عرض ترجیح داده شده است
- Percent که با عنصر نسبت به فضای موجود در پنجره یا اندازه ظرف مطابقت دارد و وقتی عرض موجود تغییر می کند، مقدار را دوباره محاسبه می کند
- Points که با یک عنصر از عرض مشخص شده در نقاط مطابقت دارد
با استفاده از ویژگی Table.PreferredWidth عرض مورد علاقه خود را نسبت به ظرف خود تنظیم می کند: صفحه، ستون متن یا سلول جدول خارجی اگر یک جدول آشیانه ای باشد.
مثال کد زیر نشان می دهد که چگونه جدول را به طور خودکار به 50 ٪ از عرض صفحه تنظیم کنید:
با استفاده از ویژگی CellFormat.PreferredWidth در یک سلول داده شده عرض مورد علاقه خود را تنظیم می کند.
مثال کد زیر نشان می دهد که چگونه تنظیمات عرض ترجیحی مختلف را تنظیم کنید:
نوع عرض و مقدار مورد علاقه را پیدا کنید
شما می توانید از ویژگی های Type و Value برای پیدا کردن جزئیات عرض مورد نظر جدول یا سلول مورد نظر استفاده کنید.
مثال کد زیر نشان می دهد که چگونه نوع عرض ترجیح داده شده یک سلول جدول را بازیابی کنیم:
نحوه تنظیم Autofit
ویژگی AllowAutoFit به سلول های یک جدول اجازه می دهد تا با توجه به یک معیار انتخاب شده رشد و کوچک شوند. به عنوان مثال، می توانید از گزینه AutoFit to Window برای متناسب کردن جدول با عرض صفحه و گزینه AutoFit to Content برای اجازه دادن به رشد یا کوچک شدن هر سلول با توجه به محتوای آن استفاده کنید.
به طور پیش فرض ،Aspose.Words یک جدول جدید با استفاده از AutoFit to Window وارد می کند. جدول با توجه به عرض صفحه موجود اندازه خواهد شد. برای تغییر اندازه یک جدول، می توانید روش AutoFit را فراخوانی کنید. این روش یک AutoFitBehavior را می پذیرد که مشخص می کند چه نوع autofit به جدول اعمال می شود.
مهم است بدانید که روش autofit در واقع یک میانبر است که همزمان خواص مختلفی را به جدول اعمال می کند. این ها ویژگی هایی هستند که در واقع رفتار مشاهده شده را به جدول می دهند. ما در مورد این خواص برای هر گزینه autofit بحث خواهیم کرد.
مثال کد زیر نشان می دهد که چگونه یک جدول را برای کوچک کردن یا رشد هر سلول با توجه به محتویات آن تنظیم کنید:
AutoFit جدول به پنجره
هنگامی که نصب خودکار به یک پنجره به یک جدول اعمال می شود، عملیات زیر در واقع در پشت صحنه انجام می شود:
- ویژگی Table.AllowAutoFit برای تغییر اندازه ستون ها به طور خودکار با استفاده از مقدار Table.PreferredWidth 100 فعال شده است%
- CellFormat.PreferredWidth از تمام سلول های جدول حذف می شود
توجه داشته باشید که این کمی متفاوت از رفتار Microsoft Word است، جایی که عرض ترجیح داده شده هر سلول بر اساس اندازه و محتوای فعلی آنها به مقادیر مناسب تنظیم شده است. Aspose.Words عرض مورد علاقه را به روز نمی کند بنابراین آنها فقط پاک می شوند.
- عرض ستون ها برای محتوای جدول فعلی محاسبه می شود-نتیجه نهایی یک جدول است که کل عرض موجود را اشغال می کند
- عرض ستون ها در جدول با ویرایش متن توسط کاربر به طور خودکار تغییر می کند
مثال کد زیر نشان می دهد که چگونه یک جدول را به عرض صفحه متصل کنیم:
AutoFit جدول به محتوا
وقتی جدول به صورت خودکار محتوا را نصب می کند، مراحل زیر در واقع در پشت صحنه انجام می شود:
-
ویژگی Table.AllowAutoFit برای تغییر اندازه خودکار هر سلول با توجه به محتوای آن فعال شده است
-
عرض جدول ترجیح داده شده از Table.PreferredWidth حذف می شود، CellFormat.PreferredWidth برای هر سلول جدول حذف می شود
توجه داشته باشید که این گزینه autofit عرض مورد نظر را از سلول ها حذف می کند، درست مانند Microsoft Word. اگر می خواهید اندازه ستون ها را حفظ کنید و ستون ها را برای متناسب کردن با محتوا افزایش یا کاهش دهید، باید ویژگی Table.AllowAutoFit را به جای استفاده از میانبر autofit به تنهایی به True تنظیم کنید. -
عرض ستون برای محتوای جدول فعلی محاسبه می شود-نتیجه نهایی یک جدول است که در آن عرض ستون و عرض کل جدول به طور خودکار تغییر اندازه داده می شود تا به بهترین وجه با محتوای ویرایش شده توسط کاربر مطابقت داشته باشد
مثال کد زیر نشان می دهد که چگونه یک جدول را به محتوای آن متصل کنیم:
غیر فعال کردن AutoFit در جدول و استفاده از عرض ستون ثابت
اگر یک جدول دارای autofit غیرفعال باشد و در عوض از عرض ستون ثابت استفاده شود، مراحل زیر انجام می شود:
- Table.AllowAutoFit ویژگی غیرفعال است بنابراین ستون ها به محتوای خود رشد یا کوچک نمی شوند
- عرض ترجیح داده شده کل جدول از Table.PreferredWidth حذف می شود، CellFormat.PreferredWidth از تمام سلول های جدول حذف می شود
- نتیجه نهایی یک جدول است که عرض ستون آن توسط ویژگی CellFormat.Width تعیین می شود و ستون های آن به طور خودکار تغییر اندازه نمی دهند وقتی کاربر متن را وارد می کند یا زمانی که صفحه تغییر اندازه می دهد
مثال کد زیر نشان می دهد که چگونه autofit را غیرفعال کنید و عرض ثابت را برای جدول مشخص شده فعال کنید:
ترتیب اولویت هنگام محاسبه عرض سلول
Aspose.Words به کاربران اجازه می دهد تا عرض یک جدول یا سلول را از طریق چندین شی تعریف کنند، از جمله CellFormat – ویژگی Width آن عمدتا از نسخه های قبلی باقی مانده است، با این حال، هنوز هم برای ساده سازی تنظیم عرض سلول مفید است.
مهم است که بدانیم که ویژگی CellFormat.Width بسته به اینکه کدام یک از ویژگی های عرض دیگر در جدول وجود دارد، متفاوت کار می کند.
Aspose.Words از ترتیب زیر برای محاسبه عرض سلول استفاده می کند:
سفارش | ملک | توضیحات |
---|---|---|
AllowAutoFit مشخص می شود | اگر AutoFit فعال باشد: - جدول ممکن است از عرض ترجیح داده شده برای جای دادن به محتوا عبور کند-معمولا زیر عرض ترجیح داده شده کوچک نمی شود - هر تغییری در مقدار CellFormat.Width نادیده گرفته می شود و سلول به جای آن با محتویات آن مطابقت خواهد داشت |
|
PreferredWidthType با مقدار Points یا Percent | CellFormat.Width نادیده گرفته می شود | |
PreferredWidthType با مقدار Auto | مقدار از CellFormat.Width کپی شده و به عرض مورد علاقه سلول (در نقاط) تبدیل می شود |
اجازه فاصله بین سلول ها را بدهید
شما می توانید هر فضای اضافی بین سلول های جدول مشابه گزینه “فاصله سلول” را در Microsoft Word دریافت یا تنظیم کنید. این کار را می توان با استفاده از ویژگی AllowCellSpacing انجام داد.
نمونه ای از نحوه اعمال این گزینه ها به یک جدول واقعی در یک سند را می توان در تصویر زیر مشاهده کرد.
مثال کد زیر نشان می دهد که چگونه فاصله بین سلول ها را تنظیم کنیم:
مرزها و سایه ها را اعمال کنید
مرزها و سایه ها را می توان به کل جدول با استفاده از Table.SetBorder، Table.SetBorders و Table.SetShading یا فقط به سلول های خاص با استفاده از CellFormat.Borders و CellFormat.Shading اعمال کرد. علاوه بر این، مرزهای ردیف را می توان با استفاده از RowFormat.Borders تنظیم کرد، با این حال سایه را نمی توان به این روش اعمال کرد.
تصاویر زیر تنظیمات مرز و سایه را در Microsoft Word و خواص مربوطه آنها را در Aspose.Words نشان می دهد.
مثال کد زیر نشان می دهد که چگونه یک جدول و سلول را با مرزهای مختلف و سایه ها فرمت کنید: