C++ का उपयोग करके प्रस्तुतियों में फ़ॉन्ट प्रतिस्थापन कॉन्फ़िगर करें

अवलोकन

फ़ॉन्ट प्रतिस्थापन Aspose.Slides को रेंडरिंग या रूपांतरण के दौरान मूल प्रस्तुति फ़ॉन्ट उपलब्ध न होने पर एक अन्य फ़ॉन्ट उपयोग करने की अनुमति देता है। आप IFontsManager इंटरफ़ेस की GetSubstitutions मेथड का उपयोग करके देख सकते हैं कि कौन से फ़ॉन्ट प्रतिस्थापित किए गए थे।

Aspose.Slides आपको फ़ॉन्ट प्रतिस्थापन नियम भी परिभाषित करने की सुविधा देता है। उदाहरण के लिए, आप बता सकते हैं कि कोई अनुपलब्ध फ़ॉन्ट दूसरे उपलब्ध फ़ॉन्ट से बदल दिया जाए और फिर उन नियमों को प्रस्तुति के फ़ॉन्ट मैनेजर के माध्यम से लागू करें।

फ़ॉन्ट प्रतिस्थापन नियम सेट करें

Aspose.Slides आपको फ़ॉन्ट के लिए नियम सेट करने की सुविधा देता है जो कुछ स्थितियों में क्या किया जाना चाहिए, निर्धारित करता है (उदाहरण के लिए, जब फ़ॉन्ट तक पहुंच नहीं हो सकती), इस प्रकार:

  1. संबंधित प्रस्तुति लोड करें।
  2. उस फ़ॉन्ट को लोड करें जिसे बदलना है।
  3. नया फ़ॉन्ट लोड करें।
  4. प्रतिस्थापन के लिए एक नियम जोड़ें।
  5. नियम को प्रस्तुति फ़ॉन्ट प्रतिस्थापन नियम संग्रह में जोड़ें।
  6. प्रभाव देखने के लिए स्लाइड छवि बनाएं।

यह C++ कोड फ़ॉन्ट प्रतिस्थापन प्रक्रिया दर्शाता है:

// दस्तावेज़ निर्देशिका का पथ।
const String outPath = u"../out/RuleBasedFontsReplacement_out.pptx";
const String templatePath = u"../templates/DefaultFonts.pptx";


// प्रस्तुति लोड करता है
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

// वह फ़ॉन्ट परिभाषित करता है जिसे बदलना है और नया फ़ॉन्ट
SharedPtr<IFontData> sourceFont = MakeObject<FontData>(u"SomeRareFont");
SharedPtr<IFontData> destFont = MakeObject<FontData>(u"Arial");
	
// फ़ॉन्ट प्रतिस्थापन के लिए एक फ़ॉन्ट नियम जोड़ता है
SharedPtr<FontSubstRule> fontSubstRule = MakeObject<FontSubstRule>(sourceFont, destFont, FontSubstCondition::WhenInaccessible);

// नियम को फ़ॉन्ट प्रतिस्थापन नियम संग्रह में जोड़ता है
SharedPtr<FontSubstRuleCollection> fontSubstRuleCollection = MakeObject<FontSubstRuleCollection>();
fontSubstRuleCollection->Add(fontSubstRule);

// फ़ॉन्ट नियम संग्रह को नियम सूची में जोड़ता है
pres->get_FontsManager()->set_FontSubstRuleList ( fontSubstRuleCollection);


// PPTX को डिस्क में सहेजता है
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

गणित समीकरण फ़ॉन्ट्स की सीमाएँ

फ़ॉन्ट प्रतिस्थापन नियम रेंडरिंग और रूपांतरण के दौरान उपयोग किए जाने वाले मानक फ़ॉन्ट चयन प्रक्रिया में भाग लेते हैं। वे नियमित पाठ स्थितियों के लिए उपयुक्त हैं जहाँ Aspose.Slides कॉन्फ़िगर किए गए नियम के अनुसार अनुपलब्ध फ़ॉन्ट को किसी अन्य उपलब्ध फ़ॉन्ट से बदल सकता है।

हालाँकि, Office गणित समीकरणों में एक महत्वपूर्ण सीमा है। यदि कोई समीकरण Cambria Math से बनाया गया था, तो Aspose.Slides को समीकरण लेआउट को सही ढंग से गणना और रेंडर करने के लिए मूल Cambria Math फ़ॉन्ट अभी भी आवश्यक हो सकता है। इसी कारण Cambria Math को किसी अन्य गणित फ़ॉन्ट, जैसे STIX Two Math, से बदलना समीकरण रेंडरिंग के लिए समर्थित नहीं है और इससे यह अपवाद उत्पन्न हो सकता है कि Cambria Math आवश्यक है।

ऐसी प्रस्तुतियों को सफलतापूर्वक रूपांतरित करने के लिए, सुनिश्चित करें कि Cambria Math रनटाइम पर Aspose.Slides के लिए उपलब्ध हो। आप इस फ़ॉन्ट को ऑपरेटिंग सिस्टम में स्थापित कर सकते हैं या इसे एक बाहरी फ़ॉन्ट के रूप में प्रदान कर सकते हैं ताकि यह रेंडरिंग और रूपांतरण के दौरान सामान्य फ़ॉन्ट चयन प्रक्रिया में भाग ले सके।

यह सीमा विशेष रूप से समीकरण रेंडरिंग के लिए है। ऊपर वर्णित मानक फ़ॉन्ट प्रतिस्थापन नियम तब भी नियमित प्रस्तुति पाठ पर लागू होते हैं जब मूल फ़ॉन्ट अनुपलब्ध हो।

अक्सर पूछे जाने वाले प्रश्न

फ़ॉन्ट प्रतिस्थापन और फ़ॉन्ट प्रतिस्थापन नियम में क्या अंतर है?
प्रतिस्थापन एक मजबूर ओवरराइड है जहाँ पूरे प्रस्तुति में एक फ़ॉन्ट को दूसरे फ़ॉन्ट से बदला जाता है। प्रतिस्थापन नियम एक ऐसी शर्त के तहत ट्रिगर होता है, उदाहरण के लिए जब मूल फ़ॉन्ट उपलब्ध नहीं होता, और तब एक निर्दिष्ट बैकअप फ़ॉन्ट उपयोग किया जाता है।

वास्तव में प्रतिस्थापन नियम कब लागू होते हैं?
नियम मानक फ़ॉन्ट चयन क्रम में भाग लेते हैं जिसे लोडिंग, रेंडरिंग और रूपांतरण के दौरान मूल्यांकन किया जाता है; यदि चुना गया फ़ॉन्ट उपलब्ध नहीं है, तो प्रतिस्थापन या प्रतिस्थापन नियम लागू होते हैं।

यदि न तो प्रतिस्थापन और न ही प्रतिस्थापन नियम कॉन्फ़िगर किए गए हों और सिस्टम पर फ़ॉन्ट अनुपलब्ध हो तो डिफ़ॉल्ट व्यवहार क्या है?
लाइब्रेरी सबसे नज़दीकी उपलब्ध सिस्टम फ़ॉन्ट चुनने की कोशिश करेगी, ठीक वैसे ही जैसे PowerPoint करता है।

क्या मैं रनटाइम पर कस्टम बाहरी फ़ॉन्ट संलग्न करके प्रतिस्थापन से बच सकता हूँ?
हां। आप रनटाइम पर बाहरी फ़ॉन्ट जोड़ें सकते हैं ताकि लाइब्रेरी उन्हें चयन और रेंडरिंग के लिए विचार करे, जिसमें बाद के रूपांतरण भी शामिल हैं।

क्या Aspose लाइब्रेरी के साथ कोई फ़ॉन्ट वितरित करता है?
नहीं। Aspose न तो पेड फ़ॉन्ट और न ही मुफ्त फ़ॉन्ट वितरित करता है; आप फ़ॉन्ट स्वयं जोड़ते और उपयोग करते हैं, यह आपकी विवेक और ज़िम्मेदारी पर निर्भर है।

क्या Windows, Linux और macOS पर प्रतिस्थापन व्यवहार में अंतर है?
हां। फ़ॉन्ट खोज ऑपरेटिंग सिस्टम की फ़ॉन्ट डायरेक्टरी से शुरू होती है। डिफ़ॉल्ट उपलब्ध फ़ॉन्ट सेट और खोज पथ प्लेटफ़ॉर्म के अनुसार अलग होते हैं, जो उपलब्धता और प्रतिस्थापन की आवश्यकता को प्रभावित करते हैं।

बैच रूपांतरण के दौरान अनपेक्षित प्रतिस्थापन को कम करने के लिए पर्यावरण को कैसे तैयार करना चाहिए?
मशीनों या कंटेनरों के बीच फ़ॉन्ट सेट को सिंक्रनाइज़ करें, आउटपुट दस्तावेज़ों के लिए आवश्यक बाहरी फ़ॉन्ट जोड़ें, और जब संभव हो तो प्रस्तुति में फ़ॉन्ट एम्बेड करें ताकि चयन के समय चुने हुए फ़ॉन्ट उपलब्ध रहें।