بهینه‌سازی جایگزینی قلم در ارائه‌ها با استفاده از С++

بررسی کلی

Aspose.Slides به شما امکان می‌دهد یک قلم را در سراسر یک ارائه با قلم دیگری جایگزین کنید. هنگامی که قلم جایگزین می‌شود، تمام موارد قلم اصلی به قلم جدید تغییر می‌کند.

برای انجام جایگزینی قلم، ارائه را بارگذاری کنید، قلم مبدا و قلم جایگزین را تعریف کنید، متد جایگزینی قلم را فراخوانی کنید و ارائه اصلاح‌شده را به‌عنوان یک فایل PPTX ذخیره کنید. این روش زمانی مفید است که عمداً بخواهید کل ارائه را از یک خانواده قلم به خانواده‌ای دیگر تغییر دهید.

جایگزینی قلم‌ها

اگر نظر خود را در استفاده از یک قلم تغییر دهید، می‌توانید آن قلم را با قلم دیگری جایگزین کنید. تمام موارد قلم قبلی توسط قلم جدید جایگزین می‌شوند.

Aspose.Slides به شما امکان می‌دهد یک قلم را به این صورت جایگزین کنید:

  1. ارائه مربوطه را بارگذاری کنید.
  2. قلمی که قرار است جایگزین شود را بارگذاری کنید.
  3. قلم جدید را بارگذاری کنید.
  4. قلم را جایگزین کنید.
  5. ارائه اصلاح‌شده را به‌عنوان یک فایل PPTX بنویسید.

این کد C++ جایگزینی قلم را نشان می‌دهد:

// یک ارائه را بارگذاری می‌کند
auto presentation = System::MakeObject<Presentation>(u"Fonts.pptx");

// قلم منبعی که جایگزین خواهد شد را بارگذاری می‌کند
auto sourceFont = System::MakeObject<FontData>(u"Arial");

// قلم جدید را بارگذاری می‌کند
auto destFont = System::MakeObject<FontData>(u"Times New Roman");

// قلم‌ها را جایگزین می‌کند
presentation->get_FontsManager()->ReplaceFont(sourceFont, destFont);

// ارائه را ذخیره می‌کند
presentation->Save(u"UpdatedFont_out.pptx", SaveFormat::Pptx);

سؤالات متداول

تفاوت بین «font replacement»، «font substitution» و «fallback fonts» چیست؟
جایگزینی یک تغییر عمدی از یک خانواده به خانواده‌ای دیگر در سراسر سند است. Substitution قاعده‌ای است مانند «اگر قلم در دسترس نیست، از X استفاده کن». Fallback به صورت جراحی برای گلیف‌های فردی که قلم پایه نصب شده است اما کاراکترهای مورد نیاز را ندارد، اعمال می‌شود.

آیا جایگزینی بر اسلایدهای اصلی، طرح‌ها، یادداشت‌ها و نظرات اعمال می‌شود؟
بله. جایگزینی بر تمام اشیای ارائه‌ای که از قلم اصلی استفاده می‌کنند تأثیر می‌دهد، از جمله اسلایدهای اصلی و یادداشت‌ها؛ نظرات نیز بخشی از سند هستند و توسط موتور قلم در نظر گرفته می‌شوند.

آیا قلم داخل اشیای OLE جاسازی‌شده (مثلاً Excel) تغییر خواهد کرد؟
خیر. OLE content توسط برنامه خودش کنترل می‌شود. جایگزینی در ارائه داده‌های داخلی OLE را قالب‌بندی مجدد نمی‌کند؛ ممکن است به‌عنوان تصویر یا محتوای قابل ویرایش خارجی نمایش داده شود.

آیا می‌توانم قلم را فقط در بخشی از ارائه (براساس اسلایدها یا نواحی) جایگزین کنم؟
جایگزینی هدفمند امکان‌پذیر است اگر قلم را در سطح اشیاء/محدوده‌های مورد نیاز تغییر دهید به‌جای اعمال جایگزینی سراسری بر کل سند. منطق کلی انتخاب قلم در حین رندر همچنان همان است.

چگونه می‌توانم پیشاپیش تعیین کنم که ارائه از چه قلم‌هایی استفاده می‌کند؟
از مدیر قلم استفاده کنید: این ابزار فهرستی از خانواده‌های مورد استفاده و اطلاعاتی درباره جایگزین‌ها/“نامشخص” قلم‌ها ارائه می‌دهد که در برنامه‌ریزی جایگزینی کمک می‌کند.

آیا جایگزینی قلم هنگام تبدیل به PDF/تصاویر کار می‌کند؟
بله. هنگام خروجی، Aspose.Slides همان دنبالهٔ انتخاب/جایگزینی قلم را اعمال می‌کند، بنابراین جایگزینی انجام‌شده پیشاپیش در هنگام تبدیل لحاظ می‌شود.

آیا لازم است قلم هدف را در سیستم نصب کنم یا می‌توانم پوشه‌ای حاوی قلم‌ها را پیوست کنم؟
نیازی به نصب نیست: کتابخانه امکان بارگذاری قلم‌های خارجی را از پوشه‌های کاربر برای استفاده در هنگام رندر و خروجی فراهم می‌کند.

آیا جایگزینی مشکل «توفو» (مربعات) به‌جای کاراکترها را رفع می‌کند؟
فقط در صورتی که قلم هدف واقعاً گلیف‌های مورد نیاز را داشته باشد این مشکل برطرف می‌شود. در غیر این صورت، برای پوشش کاراکترهای گمشده fallback را پیکربندی کنید.