چگونه با تنظیمات سند در .NET کار کنیم
این راهنما نشان میدهد چگونه با تنظیمات سند در سطح برنامه در Aspose.Words FOSS برای .NET کار کنید: سوئیچهای سازگاری قدیمی، تنظیمات جداسازی واژهها، پیکربندی ذخیرهشدهٔ ادغام نامه، گزینههای نمایش و حفاظت از نوشتن. Aspose.Words FOSS برای .NET از طریق NuGet یا با ساخت از منبع در دسترس است.
راهنمای گام به گام
مرحله ۱: دریافت کتابخانه
مخزن را کلون کنید و بسازید Aspose.Words.sln در پیکربندی Release، سپس یک مرجع پروژه به Aspose.Words.csproj از پروژه .NET خود، همانطور که در راهنمای نصب. اضافه کنید using Aspose.Words; and using Aspose.Words.Settings; در بالای هر فایلی که تنظیمات سند را میخواند یا مینویسد.
مرحله ۲: تنظیم گزینههای سازگاری قدیمی
Document.CompatibilityOptions (یک نمونهٔ CompatibilityOptions) شامل دهها سوئیچ بولی است که رفتارهای خاص چیدمان و فاصلهگذاری نسخههای قدیمی Word را بازتولید میکند — برای مثال GrowAutofit، UseWord2010TableStyleRules، AdjustLineHeightInTable، AlignTablesRowByRow، NoExtraLineSpacing، SuppressSpacingAtTopOfPage و SpacingInWholePoints. ویژگیهای فردی مورد نیاز خود را مستقیم تنظیم کنید؛ OptimizeFor(MsWordVersion) در کلاس موجود است اما در این ساخت NotImplementedException را پرتاب میکند، بنابراین هیچ میانبری وجود ندارد که یک پروفایل نسخهٔ کامل را یکباره اعمال کند.
مرحله ۳: پیکربندی تنظیمات هایفنگذاری
Document.HyphenationOptions (یک نمونه HyphenationOptions) تنظیمات هایفنگذاری Word را برای سند ذخیره میکند: AutoHyphenation، ConsecutiveHyphenLimit، HyphenateCaps و HyphenationZone. این ویژگیها درخواست را در فایل ذخیرهشده دور میزنند؛ چون این نسخه موتور چینش صفحه ندارد، شکستهای هایفنگذاری خود توسط Word هنگام باز کردن و صفحهبندی فایل محاسبه میشوند، نه توسط Aspose.Words FOSS.
مرحله ۴: خواندن و نوشتن پیکربندی ادغام نامه
Document.MailMergeSettings (یک نمونه MailMergeSettings) پیکربندی ادغام نامهای ثبتشده در سند را ذخیره میکند — MainDocumentType، CheckErrors، Destination، DataSource، DataType، Query، ConnectString، MailSubject، MailAsAttachment، ActiveRecord و ViewMergedData — بهعلاوه Clear() و Clone(). برای منبع داده خارجی که از طریق سازوکار Office Data Source Object مایکروسافت ورد متصل میشود، MailMergeSettings.Odso یک نمونه Odso را نمایان میکند (DataSource، DataSourceType، TableName، ColumnDelimiter، FirstRowContainsColumnNames) که مجموعههای FieldMapDatas و RecipientDatas آن نگاشت فیلدها و فهرست دریافتکنندگان را توصیف میکنند. خواندن و نوشتن این پیکربندی ذخیرهشده در این نسخه متنباز موجود است؛ اجرای خود ادغام علیه منبع داده زنده یک مسأله جداگانه است که خارج از دامنهٔ این صفحه میباشد.
مرحله ۵: پیکربندی تنظیمات نمایش سند
Document.ViewOptions (یک نمونه ViewOptions) نحوهٔ نمایش فایل توسط Word را پس از باز شدن کنترل میکند: ViewType، ZoomType، ZoomPercent، DisplayBackgroundShape، DoNotDisplayPageBoundaries و FormsDesign. این ویژگیها ترجیحات ذخیرهشدهای هستند که تنها بر نمایش سند توسط Word اثر میگذارند — آنها هیچ تأثیری بر نحوهٔ پردازش Aspose.Words FOSS ندارند.
مرحله ۶: اعمال حفاظت نوشتاری
Document.WriteProtection (یک نمونه WriteProtection) IsWriteProtected و ReadOnlyRecommended را در دسترس میگذارد، بههمراه SetPassword() برای تعیین یک رمز عبور حفاظت و ValidatePassword() برای بررسی یک رمز عبور پیشنهادی نسبت به آن. قبل از تنظیم IsWriteProtected = true، SetPassword() را فراخوانی کنید، و بهجای ذخیره یا مقایسهٔ رشتهٔ رمز عبور بهصورت خام، از ValidatePassword() استفاده کنید.
مشکلات رایج و راهحلها
CompatibilityOptions.OptimizeFor() throws NotImplementedException. این متد در این ساخت پیادهسازی نشده است. ویژگیهای فردی CompatibilityOptions ویژگیهای boolean مورد نیاز خود را بهصورت مستقیم تنظیم کنید.
Changing ViewOptions.ZoomPercent هیچ تأثیر قابل مشاهدهای بر خروجی تولید شده ندارد. ViewOptions یک تنظیم نمایش ذخیرهشده است که توسط Word خوانده میشود، نه چیزی که Aspose.Words FOSS خود در طول پردازش اعمال کند. نیازی به رفع مشکل نیست — این رفتار طبیعی است.
WriteProtection.ValidatePassword() بهطور غیرمنتظرهای برمیگرداند false. SetPassword() هرگز فراخوانی نشده است، یا رمز عبور متفاوتی تنظیم شده است. فراخوانی کنید SetPassword() ابتدا برای تعیین رمز عبور محافظتشده پیش از اعتبارسنجی.
پیکربندی ادغام نامه ذخیره میشود اما ادغام اجرا نمیشود. MailMergeSettings and Odso فقط پیکربندی ادغام را ذخیره میکند؛ این نسخه متنباز خود ادغام را اجرا نمیکند. پیکربندی ذخیرهشده را بخوانید و منطق پرکردن فیلدهای خود را بر پایه آن پیادهسازی کنید.
سوالات متداول
آیا CompatibilityOptions.OptimizeFor() کار میکند؟
نه — در این نسخه NotImplementedException میاندازد. ویژگیهای CompatibilityOptions مورد نیاز خود را بهصورت مستقیم تنظیم کنید.
چگونه میتوانم یک سند را با رمز عبور در برابر ویرایشها محافظت کنم؟
متد WriteProtection.SetPassword() را روی Document.WriteProtection فراخوانی کنید، سپس IsWriteProtected را برای فعالسازی حفاظت تنظیم کنید.
آیا HyphenationOptions و ViewOptions نحوه نمایش سند را وقتی Aspose.Words FOSS آن را پردازش میکند، تغییر میدهند؟
نه. هر دو تنظیمات ذخیرهشدهای هستند که خود Word هنگام باز کردن و نمایش فایل اعمال میکند؛ این نسخه موتور صفحهبندی برای اعمال مستقیم آنها ندارد.
پیکربندی منبع دادهٔ ادغام نامه برای منبع دادهٔ خارجی را از کجا میتوانم پیدا کنم؟
MailMergeSettings.Odso — مجموعههای FieldMapDatas و RecipientDatas آن، نقشهبرداری ستونها و وضعیت شامل شدن گیرندگان را توصیف میکنند.
تفاوت بین Document.CompatibilityOptions و Document.ViewOptions چیست؟
CompatibilityOptions سوئیچها چیدمان و ناهنجاریهای فاصلهگذاری نسخههای قدیمی Word را بازتولید میکنند؛ ViewOptions کنترل میکند که رابط کاربری Word چگونه فایل را نمایش دهد (زوم، علامتهای قالببندی). هیچکدام توسط Aspose.Words FOSS بهطور خودکار محاسبه نمیشوند.