Enums के साथ काम करना

Enums के साथ काम करना

Enums के साथ काम करना

Aspose.PDF FOSS for .NET अपने API में दस्तावेज़ व्यवहार, पृष्ठ स्वरूप, और रूपांतरण फ़ॉर्मेट को कॉन्फ़िगर करने के लिए पूरी तरह टाइप्ड एनम्स का उपयोग करता है। जादुई स्ट्रिंग्स या इंटीजर्स के बजाय, अधिकांश कॉन्फ़िगरेशन सतहें — जैसे कि PDF व्यूअर फ़ाइल कैसे खोलता है से लेकर किस फ़ॉर्मेट में वह सहेजा जाता है — एनम मानों के रूप में व्यक्त की जाती हैं। Document के रूप में सहेजा जाता है — एनम मानों के रूप में व्यक्त की जाती हैं। यह पृष्ठ उन एनम प्रकारों को प्रस्तुत करता है जिनसे आप लाइब्रेरी के साथ काम करते समय सबसे अधिक मिलेंगे। यह एक चयनित परिचय है, न कि एक व्यापक सूची; सभी एनम प्रकारों और प्रत्येक सदस्य मान की पूरी सूची के लिए, देखें। API Reference.


पृष्ठ प्रदर्शन और लेआउट

PageMode और PageLayout Document पर प्रॉपर्टीज़ हैं जो नियंत्रित करती हैं कि PDF व्यूअर दस्तावेज़ को पहली बार खोलते समय कैसे प्रस्तुत करता है — चाहे वह रूपरेखाएँ, थंबनेल्स, या किसी विशिष्ट कॉलम लेआउट को दिखाए।

using var doc = Document.Open("input.pdf");

// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;

// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;

doc.Save("output.pdf");

पृष्ठ रंग मॉडल

ColorType पृष्ठ के रंग मॉडल का वर्णन करता है — RGB, CMYK, ग्रेस्केल, आदि। यह Page और Color दोनों पर उपलब्ध है, जिससे आप इस आधार पर लॉजिक को शाखा कर सकते हैं कि पृष्ठ पर सामग्री वास्तव में कैसे रेंडर की गई है।

using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];

if (page.ColorType == ColorType.Grayscale)
{
    // Apply grayscale-specific handling, e.g. skip color-profile conversion
}

Alignment

कई क्लासें पृष्ठ पर सामग्री की स्थिति निर्धारित करने के लिए HorizontalAlignment और VerticalAlignment को उजागर करती हैं, जबकि एनोटेशन क्लासें बॉक्स के भीतर टेक्स्ट-विशिष्ट संरेखण के लिए TextAlignment और Justification जोड़ती हैं। उदाहरण के तौर पर, Table दोनों संरेखण अक्षों को सीधे उजागर करता है।

var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;

page.Paragraphs.Add(table);

FreeTextAnnotation (और Annotation बेस टाइप) अतिरिक्त रूप से एनोटेशन के भीतर के टेक्स्ट के लिए Justification और TextAlignment को उजागर करता है:

if (page.Annotations[1] is FreeTextAnnotation freeText)
{
    freeText.Justification = Justification.Center;
    freeText.Alignment = TextAlignment.Right;
}

लोड और सहेजने के फ़ॉर्मेट

LoadFormat एक LoadOptions सबक्लास के पीछे स्रोत फ़ॉर्मेट की पहचान करता है (उदाहरण के लिए, HtmlLoadOptions.LoadFormat हमेशा LoadFormat.HTML होता है), जबकि SaveFormat Document.Save को कॉल करने पर आउटपुट फ़ॉर्मेट चुनता है।

var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);

doc.Save("output.html", SaveFormat.Html);

पृष्ठ घूर्णन

Rotation पृष्ठ के घूर्णन कोण का वर्णन करता है और Page.Rotate के माध्यम से उजागर किया जाता है।

var page = doc.Pages[1];
page.Rotate = Rotation.on90;

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

  • जहाँ दोनों उपलब्ध हों, स्ट्रिंग- या इंट-आधारित ओवरलोड की तुलना में एनीम ओवरलोड को प्राथमिकता दें — वे कंपाइल समय पर अमान्य मानों को पकड़ लेते हैं।
  • SaveFormat को उस फ़ाइल एक्सटेंशन से मिलाएँ जो आप Document.Save को पास करते हैं; असंगति से ऐसी फ़ाइल बनती है जिसमें भ्रामक सामग्री या अनुपयोगी एक्सटेंशन होता है।
  • केवल फ़ॉर्मेट ऑटो-डिटेक्शन पर निर्भर रहने के बजाय, अपने स्रोत फ़ॉर्मेट से मेल खाने वाले LoadOptions सबक्लास का उपयोग करें (उदाहरण के लिए, HTML के लिए HtmlLoadOptions)।
  • टेबल या पैराग्राफ की स्थिति निर्धारण करते समय HorizontalAlignment और VerticalAlignment दोनों को साथ में सेट करें — किसी एक को उसके डिफ़ॉल्ट पर छोड़ने से अप्रत्याशित प्लेसमेंट हो सकता है।
  • ColorType को वर्णनात्मक मानें, अनिवार्य नहीं: यह रिपोर्ट करता है कि पृष्ठ की रंग सामग्री वर्तमान में कैसे मॉडल की गई है, न कि कोई सेटिंग जिसे आप रंग स्थान बदलने के लिए टॉगल करते हैं।

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

IssueCauseसुधारें
सहेजी गई फ़ाइल की सामग्री उसके एक्सटेंशन के लिए गलत हैगलत SaveFormat मान Document.Save को पास किया गयालक्षित फ़ाइल एक्सटेंशन से मेल खाने वाला SaveFormat मान पास करें
लोड किया गया HTML/XML/etc. सामग्री गलत तरीके से रेंडर होती हैफ़ॉर्मेट-विशिष्ट सबक्लास की जगह सामान्य LoadOptions का उपयोग किया गया हैस्रोत फ़ॉर्मेट से मेल खाने वाला सबक्लास उपयोग करें, उदाहरण के तौर पर HtmlLoadOptions
पृष्ठ पर तालिका या एनोटेशन गलत संरेखित दिख रहा हैHorizontalAlignment/VerticalAlignment को उनके डिफ़ॉल्ट पर ही छोड़ दिया गयाऑब्जेक्ट को Paragraphs में जोड़ने से पहले दोनों प्रॉपर्टीज़ को स्पष्ट रूप से सेट करें
PDF अप्रत्याशित व्यूअर व्यवहार के साथ खुलता है (कोई आउटलाइन पैनल नहीं, गलत कॉलम लेआउट)Document.PageMode/Document.PageLayout कभी सेट नहीं किया गयादोनों प्रॉपर्टीज़ को Document.Save को कॉल करने से पहले सेट करें

FAQ

PageMode और PageLayout में क्या अंतर है?

PageMode खोलने पर व्यूअर UI स्थिति को नियंत्रित करता है (उदाहरण के लिए, क्या आउटलाइन या थंबनेल पैनल दिख रहा है), जबकि PageLayout पृष्ठों की व्यवस्था को नियंत्रित करता है (सिंगल पेज, एक कॉलम, दो कॉलम, आदि)।

मैं कैसे जानूँ कि कौन सा SaveFormat मान उपयोग करना है?

अपनी इच्छित आउटपुट फ़ाइल प्रकार से मेल खाने वाला SaveFormat मान चुनें — उदाहरण के लिए, SaveFormat.Html HTML आउटपुट के लिए या SaveFormat.Pdf PDF के रूप में पुनः सहेजने के लिए।

क्या मैं एक ही ऑब्जेक्ट पर दोनों HorizontalAlignment और VerticalAlignment सेट कर सकता हूँ?

हाँ। Table जैसी क्लासेस दोनों प्रॉपर्टीज़ को स्वतंत्र रूप से उजागर करती हैं, इसलिए आप उन्हें मिलाकर सामग्री को किसी भी अक्ष पर स्थित कर सकते हैं।

क्या ColorType मुझे पेज के कलर स्पेस को बदलने देता है?

नहीं। ColorType पेज या कलर वैल्यू से वर्तमान में जुड़े कलर मॉडल की रिपोर्ट करता है; यह परिवर्तन नहीं करता।

मैं हर enum और हर value कहाँ पा सकता हूँ?

यह पृष्ठ सबसे अधिक उपयोग किए जाने वाले एनम्स को कवर करता है। पूर्ण सेट के लिए, जिसमें प्रत्येक सदस्य मान शामिल है, देखें API Reference.


API Reference सारांश

Enumविवरण
PageModePDF व्यूअर दस्तावेज़ को खोलने पर कैसे प्रदर्शित करता है (आउटलाइन, थंबनेल, फुल-स्क्रीन, आदि)
PageLayoutदस्तावेज़ प्रदर्शित होने पर उपयोग किया गया पृष्ठ लेआउट (सिंगल पेज, कॉलम, आदि)।
ColorTypeपृष्ठ का रंग मॉडल या रंग मान (RGB, CMYK, ग्रेस्केल, आदि)।
HorizontalAlignmentपैराग्राफ़, तालिकाओं या एनोटेशन का क्षैतिज संरेखण
VerticalAlignmentपैराग्राफ़, तालिकाओं या एनोटेशन का लंबवत संरेखण
TextAlignmentएनोटेशन टेक्स्ट बॉक्स के लिए क्षैतिज पाठ संरेखण
Justificationफ़्री-टेक्स्ट एनोटेशन की सामग्री का जस्टिफिकेशन
LoadFormatLoadOptions सबक्लासेज़ द्वारा उपयोग किया गया स्रोत फ़ॉर्मेट चयनकर्ता
SaveFormatDocument.Save द्वारा उपयोग किया गया आउटपुट फ़ॉर्मेट चयनकर्ता
Rotationपृष्ठ घूर्णन कोण, Page.Rotate के माध्यम से उजागर किया गया

यह भी देखें

 हिन्दी