Google Docs दस्तावेज़ का स्ट्रक्चर

Google Docs API का बेहतर तरीके से इस्तेमाल करने के लिए, आपको Google Docs के दस्तावेज़ का आर्किटेक्चर और ऐसे एलिमेंट जो मिलकर दस्तावेज़ बनाते हैं संबंध भी शामिल है. यह पेज, इन विषयों की पूरी जानकारी:

  • दस्तावेज़ के एलिमेंट का कॉन्सेप्चुअल मॉडल
  • Docs API इन एलिमेंट को कैसे दिखाता है
  • एलिमेंट की स्टाइलिंग प्रॉपर्टी

टॉप लेवल एलिमेंट

Google Docs का सबसे बाहरी कंटेनर एलिमेंट, दस्तावेज़ होता है. यह है जिसे Google Drive में सेव किया जा सकता है, दूसरे उपयोगकर्ताओं के साथ शेयर किया जा सकता है, और अपडेट किया जा सकता है टेक्स्ट और इमेज के साथ.

documents के टॉप-लेवल एलिमेंट संसाधन में Tab शामिल हैं, SuggestionsViewMode, और दूसरी विशेषताएं:

document: {
    title: ... ,
    revisionId: ... ,
    documentId: ... ,
    suggestionsViewMode: ... ,
    tabs: ...
}

टैब

किसी एक दस्तावेज़ में कई टैब हो सकते हैं, जिनमें टेक्स्ट के लेवल का अलग-अलग कॉन्टेंट हो. दस्तावेज़ की tabs प्रॉपर्टी Tab ऑब्जेक्ट का क्रम. Tab में ये फ़ील्ड होते हैं:

  • TabProperties: इसमें टैब के एट्रिब्यूट शामिल होते हैं, जैसे कि आईडी, टाइटल, और इंडेक्स.
  • childTabs: किसी टैब के चाइल्ड टैब (ऐसे टैब जिन्हें सीधे नेस्ट किया गया हो) दिखाता है होता है).
  • DocumentTab: यह टैब का टेक्स्ट कॉन्टेंट दिखाता है.
दस्तावेज़ के टैब का स्ट्रक्चर.
पहली इमेज. दस्तावेज़ के टैब का स्ट्रक्चर.

बाद के सेक्शन में, दस्तावेज़ के टैब की हैरारकी के बारे में खास जानकारी दी गई है; यह Tab JSON का इस्तेमाल भी किया जा सकता है से ज़्यादा जानकारी मिलती है. टैब के साथ काम करना देखें देखें.

Body कॉन्टेंट के बाहर, ग्लोबल दस्तावेज़ टैब की सुविधाओं में बदलाव करने के लिए, एक या ज़्यादा दस्तावेज़ टेम्प्लेट का उपयोग करना हमेशा बेहतर होता है, जिसे आप प्रोग्राम के हिसाब से नए दस्तावेज़ जनरेट करने का आधार. ज़्यादा जानकारी के लिए, यह देखें टेक्स्ट को किसी दस्तावेज़ में मर्ज करें.

मुख्य भाग की सामग्री

Body में आम तौर पर दस्तावेज़ के टैब का पूरा कॉन्टेंट होता है. ज़्यादातर ऐसे आइटम जो प्रोग्रामेटिक रूप से इस्तेमाल किए जा सकते हैं या किए जा सकते हैं. इनमें ये एलिमेंट शामिल हैं Body कॉन्टेंट:

शरीर की सामग्री का स्ट्रक्चर.
दूसरी इमेज. शरीर की सामग्री का स्ट्रक्चर.

स्ट्रक्चरल एलिमेंट

StructuralElement उस कॉन्टेंट के बारे में बताता है जो दस्तावेज़ का स्ट्रक्चर मुहैया कराता है. Body कॉन्टेंट StructuralElement ऑब्जेक्ट का क्रम. कॉन्टेंट एलिमेंट हर किसी को अपने हिसाब से बनाता है StructuralElement ऑब्जेक्ट, जैसा कि इस डायग्राम में दिखाया गया है:

स्ट्रक्चरल एलिमेंट.
तीसरी इमेज. स्ट्रक्चरल एलिमेंट.

स्ट्रक्चरल एलिमेंट और उनके कॉन्टेंट ऑब्जेक्ट में, सभी विज़ुअल कॉम्पोनेंट शामिल होते हैं डालें. इसमें टेक्स्ट, इनलाइन इमेज, और फ़ॉर्मैटिंग शामिल हैं.

पैराग्राफ़ स्ट्रक्चर

Paragraph StructuralElement पैराग्राफ़ को दर्शाता है. इस तरह का कॉन्टेंट एक न्यूलाइन वर्ण के साथ खत्म किया गया. यह इन ऑब्जेक्ट से बना होता है:

  • ParagraphElement: पैराग्राफ़ में मौजूद कॉन्टेंट के बारे में बताता है.
  • ParagraphStyle: एक वैकल्पिक एलिमेंट जो पैराग्राफ़ के लिए स्टाइल प्रॉपर्टी को साफ़ तौर पर सेट करता है.
  • Bullet: अगर पैराग्राफ़ सूची का हिस्सा है. यह एक वैकल्पिक एलिमेंट है, जो बुलेट पॉइंट में जानकारी देता है स्पेसिफ़िकेशन.

ParagraphElement, StructuralElement की तरह काम करता है. इसका एक सेट कॉन्टेंट एलिमेंट के टाइप (जैसे, ColumnBreak और Equation) अपना ParagraphElement, जैसा कि नीचे दिए डायग्राम में दिखाया गया है:

पैराग्राफ़ के एलिमेंट का स्ट्रक्चर.
चौथी इमेज. पैराग्राफ़ के एलिमेंट का स्ट्रक्चर.

पूरी दस्तावेज़ संरचना के उदाहरण के लिए, दस्तावेज़ उदाहरण के तौर पर दिया गया है. आउटपुट में ये काम किए जा सकते हैं इनमें मुख्य संरचना से जुड़े कई एलिमेंट और कॉन्टेंट एलिमेंट देखे जा सकते हैं. साथ ही, शुरुआती दौर में होने वाले बदलाव और आखिरी इंडेक्स का इस्तेमाल करें. इस बारे में नीचे दिए गए सेक्शन में बताया गया है.

टेक्स्ट चल रहा है

TextRun ParagraphElement जो समान टेक्स्ट स्टाइल वाले टेक्स्ट की लगातार स्ट्रिंग दिखाता है. ऐप्लिकेशन पैराग्राफ़ में एक से ज़्यादा टेक्स्ट रन किए जा सकते हैं, लेकिन टेक्स्ट रन करने से पहले क्रॉस पैराग्राफ़ नहीं होना चाहिए सीमाएं. अलग टेक्स्ट बनाने के लिए, कॉन्टेंट को नई लाइन के वर्ण के बाद बांट दिया जाता है दौड़ता है. उदाहरण के लिए, नीचे दिए गए दस्तावेज़ की तरह एक छोटा दस्तावेज़ देखें:

पैराग्राफ़ और बुलेट वाली सूची वाला छोटा दस्तावेज़.
पांचवीं इमेज. एक छोटा दस्तावेज़.

नीचे दिया गया डायग्राम, पैराग्राफ़ के क्रम को विज़ुअलाइज़ करने का तरीका दिखाता है पिछले दस्तावेज़ में, हर एक के अपने-अपने TextRun और वैकल्पिक Bullet हैं सेटिंग.

रन किए गए टेक्स्ट का स्ट्रक्चर.
छठी इमेज. रन किए गए टेक्स्ट का स्ट्रक्चर.

AutoText

AutoText ParagraphElement जो टेक्स्ट में डाइनैमिक रूप से बदला गया स्पॉट दिखाता है जिसमें समय के साथ बदलाव हो सकता है. Docs में इसका इस्तेमाल इन कामों के लिए किया जाता है पेज नंबर.

शुरुआती और आखिरी इंडेक्स

जब आप किसी दस्तावेज़ के टैब की सामग्री को अपडेट करते है, तो प्रत्येक अपडेट किसी जगह या दस्तावेज़ के रेंज में. इन जगहों पर और रेंज indexs का इस्तेमाल करके तय की जाती हैं, जो नतीजे के तौर पर दस्तावेज़ का सेगमेंट शामिल है. सेगमेंट, बॉडी, हेडर, फ़ुटर या फ़ुटनोट जिसमें स्ट्रक्चरल या कॉन्टेंट एलिमेंट शामिल हों. एलिमेंट के इंडेक्स सेगमेंट के बीच की चीज़ें उस सेगमेंट की शुरुआत के हिसाब से होती हैं.

मुख्य हिस्से के ज़्यादातर एलिमेंट में शून्य-आधारित startIndex और endIndex प्रॉपर्टी. ये एलिमेंट की शुरुआत के ऑफ़सेट के बारे में बताते हैं और खत्म होने का समय. Reader Revenue Manager को सेट अप करने के बारे में अपने बैच के लिए Docs API कॉल को ऑर्डर करने के तरीके के बारे में जानने के लिए, बैच देखें अपडेट.

इंडेक्स का आकलन, UTF-16 कोड यूनिट में किया जाता है. इसका मतलब है कि सरोगेट जोड़े उपभोग करते हैं दो इंडेक्स. उदाहरण के लिए, "GRINNING FACE" इमोजी, ## को इस तरह दिखाया जाता है \uD83D\uDE00 और यह दो इंडेक्स का इस्तेमाल करता है.

दस्तावेज़ के मुख्य हिस्से में मौजूद एलिमेंट के लिए, इंडेक्स शरीर की सामग्री की शुरुआत, जो "मूल" है एलिमेंट.

"मनमुताबिक बनाना" स्ट्रक्चर के लिए टाइप एलिमेंट—SectionBreak, TableOfContents, Table और Paragraph—ये इंडेक्स नहीं हैं, क्योंकि इन्हें शामिल किया गया है StructuralElement के पास ये फ़ील्ड हैं. यह बात लोगों को उनकी पसंद के हिसाब से ParagraphElement में मौजूद टाइप, जैसे कि TextRun, AutoText, और PageBreak.

ऐक्सेस एलिमेंट

कई एलिमेंट में documents.batchUpdate तरीका. उदाहरण के लिए, InsertTextRequest, तो आपके पास टेक्स्ट वाले किसी भी एलिमेंट का कॉन्टेंट बदलने का विकल्प होता है. इसी तरह, आपके पास ये विकल्प हैं इस्तेमाल UpdateTextStyleRequest का इस्तेमाल करें.

दस्तावेज़ के एलिमेंट पढ़ने के लिए, पाने का documents.get तरीका पूरे दस्तावेज़ का JSON डंप. इसके बाद, बनने वाले JSON को इस डेटा से पार्स किया जा सकता है अलग-अलग एलिमेंट की वैल्यू पता कर सकते हैं. ज़्यादा जानकारी के लिए, आउटपुट में देखें JSON फ़ॉर्मैट में दस्तावेज़ का कॉन्टेंट.

कॉन्टेंट को पार्स करने से, अलग-अलग कामों में मदद मिल सकती है. इसके लिए, उदाहरण के लिए, ऐप्लिकेशन की लिस्टिंग वाले दस्तावेज़ों का कैटलॉग बनाना. यह ऐप्लिकेशन किसी दस्तावेज़ के दस्तावेज़ का टाइटल, रिविज़न आईडी, और शुरुआती पेज नंबर एक्सट्रैक्ट कर सकता है जैसा कि नीचे दिखाया गया है:

दस्तावेज़ कैटलॉग का स्ट्रक्चर.
सातवीं इमेज. दस्तावेज़ कैटलॉग का स्ट्रक्चर.

इन सेटिंग को साफ़ तौर पर पढ़ने का कोई तरीका नहीं है. इसलिए, आपके ऐप्लिकेशन को का इस्तेमाल करें. इसके बाद, इन वैल्यू को एक्सट्रैक्ट करने के लिए, JSON को पार्स करें.

प्रॉपर्टी इनहेरिटेंस

StructuralElement अपने पैरंट ऑब्जेक्ट से प्रॉपर्टी को इनहेरिट कर सकता है. अगर आप ऑब्जेक्ट की प्रॉपर्टी. इनमें वे प्रॉपर्टी भी शामिल होती हैं जिन्हें वह तय करती है और इनहेरिट करती है, उसके विज़ुअल लुक को तय कर सकें.

टेक्स्ट कैरेक्टर की फ़ॉर्मैटिंग से यह तय होता है कि किसी दस्तावेज़ में टेक्स्ट कैसे रेंडर किया जाएगा. जैसे बोल्ड, इटैलिक, और अंडरलाइन. डिफ़ॉल्ट के तौर पर सेट की गई फ़ॉर्मैटिंग को बदल दिया जाता है फ़ॉर्मैटिंग को दिए गए पैराग्राफ़ से इनहेरिट किया गया है TextStyle. इसके उलट, कोई भी वर्ण जिसकी फ़ॉर्मैटिंग को आप सेट नहीं करते वे पैराग्राफ़ की शैलियां.

पैराग्राफ़ फ़ॉर्मैटिंग से यह तय होता है कि किसी दस्तावेज़ में टेक्स्ट के ब्लॉक कैसे रेंडर होंगे, जैसे कि अलाइनमेंट, बॉर्डर, और इंडेंट. वह फ़ॉर्मैटिंग जो आपने लागू की है मौजूदा ParagraphStyle से इनहेरिट की गई डिफ़ॉल्ट फ़ॉर्मैटिंग को बदल देती है. इसके उलट, फ़ॉर्मैट की ऐसी कोई भी सुविधा जिसे आपने सेट नहीं किया है वह पहले से ही मौजूद है .