आकार और वॉटरमार्क बनाना

आकार और वॉटरमार्क बनाना

आकृतियों का ड्रॉइंग और वॉटरमार्क

Word दस्तावेज़ AutoShapes, चित्र, टेक्स्ट बॉक्स, और OLE ऑब्जेक्ट्स को एक अलग ड्रॉइंग लेयर में रखते हैं, जो पैराग्राफ/रन टेक्स्ट प्रवाह से अलग होती है। Aspose.Words FOSS for .NET इस लेयर को Shape क्लास (वास्तविक ड्रॉइंग ऑब्जेक्ट्स) और उसकी एब्स्ट्रैक्ट बेस ShapeBase के साथ मॉडल करता है, दोनों Aspose.Words.Drawing नेमस्पेस का हिस्सा हैं। यह गाइड शैप मॉडल, चित्रों और AutoShapes को सम्मिलित करना, पोजिशनिंग और रैपिंग, फ़िल्स और इफ़ेक्ट्स, ग्रुपिंग, और वॉटरमार्क को कवर करता है।


Shape और ShapeBase मॉडल

Shape — सील्ड, और वह प्रकार जिसे आप सीधे उपयोग करते हैं — ड्रॉइंग लेयर में एक AutoShape, टेक्स्ट बॉक्स, फ्रीफ़ॉर्म, OLE ऑब्जेक्ट, ActiveX कंट्रोल, या चित्र का प्रतिनिधित्व करता है। यह एब्स्ट्रैक्ट ShapeBase से व्युत्पन्न है, जो प्रत्येक ड्रॉइंग ऑब्जेक्ट द्वारा साझा की गई प्रॉपर्टीज़ प्रदान करता है: पोज़िशन (Left, Top, Width, Height, Rotation), ShapeType एन्‍युम मान, और फ़ॉर्मेटिंग सब-ऑब्जेक्ट्स जैसे Fill, Stroke, ShadowFormat, Glow, और Reflection। GroupShape (जो एक ShapeBase भी है) आकारों के एक समूह को एक इकाई के रूप में दर्शाता है। एक स्टैंडअलोन आकार सीधे new Shape(doc, shapeType) से बनाएँ, जहाँ shapeType एक ShapeType मान है जैसे Rectangle, Ellipse, Star, या TextBox, फिर इसे DocumentBuilder.InsertNode(node) के साथ ट्री में डालें।


चित्रों और AutoShapes को DocumentBuilder के साथ सम्मिलित करना

विशेष रूप से चित्रों के लिए, DocumentBuilder.InsertImage अधिक प्रत्यक्ष मार्ग है: ओवरलोड्स एक Image, फ़ाइल पाथ, एक Stream, या एक कच्चा बाइट ऐरे स्वीकार करते हैं, तथा आगे के ओवरलोड्स स्पष्ट width/height या पूर्ण पोज़िशनिंग (horzPos, left, vertPos, top, width, height, wrapType) सेट करते हैं। परिणामी Shape अपने चित्र डेटा को ImageData प्रॉपर्टी के माध्यम से उजागर करता है — चित्र को बदलने के लिए ImageData.SetImage(...), साथ ही मूलभूत समायोजन के लिए CropTop/CropBottom/CropLeft/CropRight, Brightness, Contrast, और GrayScale। GroupShape इंस्टेंसेज़ DocumentBuilder.InsertGroupShape(shapes) के साथ बनाई जाती हैं।


पोज़िशनिंग और टेक्स्ट रैपिंग

एक आकार की पृष्ठ के सापेक्ष स्थिति RelativeHorizontalPosition और RelativeVerticalPosition द्वारा नियंत्रित होती है (प्रत्येक Page, Margin, Column या समान एंकर के सापेक्ष), साथ ही Left/Top ऑफसेट गुणों के साथ। HorizontalAlignment और VerticalAlignment सरल सापेक्ष संरेखण को संभालते हैं। आस-पास का पाठ आकार के चारों ओर कैसे बहता है, यह WrapType से निर्धारित होता है और पक्ष-विशिष्ट लपेटन के लिए WrapSide उपयोग किया जाता है। IsInline रिपोर्ट करता है कि आकार पाठ के साथ (इनलाइन) प्रवाहित होता है या स्वतंत्र रूप से तैरता है।


फ़िल, स्ट्रोक, और इफ़ेक्ट्स

Shape.Fill (एक Fill वस्तु) नियंत्रित करता है कि आकार का अंदरूनी भाग कैसे रंगा जाता है: Fill.Solid(color) सपाट रंग के लिए, Fill.OneColorGradient(...) / Fill.TwoColorGradient(...) ग्रेडिएंट के लिए, Fill.Patterned(patternType) पैटर्न के लिए, और Fill.SetImage(...) चित्र फ़िल के लिए; FillType रिपोर्ट करता है कि इनमें से कौन सा सक्रिय है। रूपरेखा Stroke गुण के माध्यम से नियंत्रित होती है, और दृश्य इफ़ेक्ट्स अलग फ़ॉर्मेटिंग वस्तुओं के रूप में उपलब्ध हैं — ShadowFormat, Glow (GlowFormat), Reflection (ReflectionFormat), और SoftEdge (SoftEdgeFormat) — प्रत्येक के पास प्रभाव को साफ़ करने के लिए अपना Remove() विधि है।


आकारों और टेक्स्ट बॉक्सों का समूह बनाना

एकाधिक आकारों को GroupShape में जोड़ा जा सकता है, जो स्वयं एकल ShapeBase के रूप में व्यवहार करता है और अपनी स्वयं की Fill, ShadowFormat, Glow, और Reflection रखता है। टेक्स्ट वाले आकार के लिए, Shape.TextBox (एक TextBox वस्तु) टेक्स्ट-विशिष्ट लेआउट को उजागर करती है: पैडिंग के लिए InternalMarginLeft/Right/Top/Bottom, आकार को स्वतः आकार देने के लिए FitShapeToText, टेक्स्ट दिशा के लिए LayoutFlow, और आकार के भीतर ऊर्ध्वाधर टेक्स्ट संरेखण के लिए VerticalAnchor।


Watermarks

Document.Watermark (एक Watermark वस्तु) दस्तावेज़-व्यापी वॉटरमार्क को प्रबंधित करती है जो किसी भी एकल आकार से स्वतंत्र होता है। टेक्स्ट वॉटरमार्क के लिए Watermark.SetText(text) या SetText(text, options) को कॉल करें, या चित्र वॉटरमार्क के लिए SetImage(...), और इसे साफ़ करने के लिए Watermark.Remove() का उपयोग करें। Watermark.Type वर्तमान WatermarkType (Text, Image, या None) रिपोर्ट करता है। TextWatermarkOptions FontFamily, FontSize, Color, और Layout (WatermarkLayout.Horizontal या Diagonal) को नियंत्रित करता है; ImageWatermarkOptions Scale और IsWashout को नियंत्रित करता है।


टिप्स और सर्वोत्तम प्रथाएँ

  • जब कोड लिख रहे हों जो एकल Shape और GroupShape दोनों उदाहरणों पर काम करे, तो ShapeBase का उपयोग करें; जब आपको चित्र- या AutoShape-विशिष्ट सदस्य जैसे ImageData या Chart की आवश्यकता हो, तो सीधे Shape का उपयोग करें।
  • जब किसी आकार को फ़्लोट कर रहे हों, तो RelativeHorizontalPosition / RelativeVerticalPosition को WrapType के साथ सेट करें — एक इनलाइन आकार (जो InsertImage के लिए डिफ़ॉल्ट है) तब तक स्थितिक गुणों को अनदेखा करता है जब तक आप इसे फ़्लोट नहीं बनाते।
  • पूरे दस्तावेज़ में एकल वॉटरमार्क के लिए Document.Watermark को प्राथमिकता दें, बजाय इसके कि आप मैन्युअली Shape को टेक्स्ट के पीछे डालें और स्थित करें।
  • व्यक्तिगत गुणों को शून्य सेट करने के बजाय, उसके ऑब्जेक्ट की Remove() मेथड (ShadowFormat.Remove(), ReflectionFormat.Remove()) का उपयोग करके प्रभाव को साफ़ करें।
  • ImageData, Chart या समूह-विशिष्ट सदस्यों तक पहुँचने से पहले Shape.HasImage, Shape.HasChart, या Shape.IsGroup की जाँच करें, क्योंकि एक Shape कई ड्राइंग ऑब्जेक्ट प्रकारों में से किसी एक को दर्शा सकता है।

सामान्य समस्याएँ

समस्याकारणसमाधान
एक आकार पर Left/Top सेट करने पर कोई दृश्यमान प्रभाव नहीं पड़ताआकार अभी भी इनलाइन है (IsInline == true)WrapType को फ्लोटिंग मान पर सेट करें और RelativeHorizontalPosition/RelativeVerticalPosition सेट करें ताकि स्थिति गुण प्रभावी हों
Shape.ImageData त्रुटि देता है या खाली हैआकार एक चित्र आकार नहीं हैपढ़ने से पहले Shape.HasImage की जाँच करें ImageData
Watermark टेक्स्ट अनुरोधित फ़ॉन्ट से मेल नहीं खाता हैकोई TextWatermarkOptions प्रदान नहीं किया गयाएक TextWatermarkOptions इंस्टेंस पास करें जिसमें FontFamily को Watermark.SetText(text, options) पर सेट किया गया हो
एक समूह के चाइल्ड शैप्स एक साथ नहीं चलतेचाइल्ड्स को सीधे पुनःस्थित किया गया, समूह के माध्यम से नहींस्वयं GroupShape को ले जाएँ या आकार बदलें ताकि उसका कोऑर्डिनेट ट्रांसफ़ॉर्म सभी चाइल्ड्स पर लागू हो

FAQ

Shape और ShapeBase में क्या अंतर है?

ShapeBase वह एब्स्ट्रैक्ट बेस क्लास है जो Shape और GroupShape द्वारा साझा की जाती है। ऐसे कोड में ShapeBase का उपयोग करें जो दोनों प्रकार को समान रूप से संभालना चाहिए; जब आपको किसी एक ड्रॉइंग ऑब्जेक्ट के विशिष्ट सदस्य चाहिए हों, जैसे ImageData या Chart, तो Shape का उपयोग करें।

मैं दस्तावेज़ में चित्र कैसे जोड़ूँ?

उपलब्ध DocumentBuilder.InsertImage ओवरलोड में से एक का उपयोग करें — एक Image, फ़ाइल पाथ, एक Stream, या बाइट एरे पास करें, वैकल्पिक रूप से width/height या पूर्ण पोजिशनिंग आर्ग्यूमेंट्स के साथ।

मैं शेप को टेक्स्ट के साथ इनलाइन रहने के बजाय फ्लोट कैसे बनाऊँ?

उसके WrapType को एक नॉन-इनलाइन मान पर सेट करें और RelativeHorizontalPosition / RelativeVerticalPosition को इस प्रकार सेट करें कि शेप के Left/Top ऑफ़सेट पेज, मार्जिन, या कॉलम के सापेक्ष व्याख्यायित हों।

क्या मैं टेक्स्ट और इमेज दोनों वॉटरमार्क जोड़ सकता हूँ?

Document.Watermark.Type वर्तमान वॉटरमार्क प्रकार को दर्शाता है; SetText या SetImage के साथ नया वॉटरमार्क सेट करने से पहले वाला प्रतिस्थापित हो जाता है, इसलिए किसी दस्तावेज़ में एक समय में अधिकतम एक सक्रिय वॉटरमार्क हो सकता है।

मैं शेप से शैडो या रिफ्लेक्शन कैसे हटाऊँ?

संबंधित फ़ॉर्मेटिंग ऑब्जेक्ट पर Remove() को कॉल करें — Shape.ShadowFormat.Remove() या Shape.Reflection.Remove()।


API Reference सारांश

क्लास/मेथडविवरण
Shapeएकल ड्राइंग-लेयर वस्तु — AutoShape, चित्र, टेक्स्ट बॉक्स, या OLE वस्तु।
ShapeBaseएब्स्ट्रैक्ट बेस क्लास जो Shape और GroupShape द्वारा साझा किया गया है।
GroupShapeआकारों का एक समूह जिसे एक ड्राइंग ऑब्जेक्ट के रूप में माना जाता है।
DocumentBuilder.InsertImageकर्सर पर एक पिक्चर शेप डालता है, वैकल्पिक आकार और पोजिशनिंग के साथ।
ImageDataएक Shape पर चित्र डेटा और इमेज समायोजन (क्रॉप, ब्राइटनेस, कंट्रास्ट)।
Fillइंटीरियर फ़िल फ़ॉर्मेटिंग — सॉलिड, ग्रेडिएंट, पैटर्न, या पिक्चर।
RelativeHorizontalPosition / RelativeVerticalPositionफ़्लोटिंग आकार की स्थिति किसके सापेक्ष मापी जाती है।
WrapType / WrapSideआसपास का टेक्स्ट आकार के चारों ओर कैसे लपेटता है।
TextBoxटेक्स्ट युक्त आकार के लिए टेक्स्ट लेआउट सेटिंग्स।
Document.Watermarkदस्तावेज़ के टेक्स्ट या इमेज वाटरमार्क का प्रबंधन करता है।
TextWatermarkOptions / ImageWatermarkOptionsटेक्स्ट या इमेज वाटरमार्क की उपस्थिति को कॉन्फ़िगर करें।

यह भी देखें

 हिन्दी