Google Dokümanlar dokümanının yapısı

Google Dokümanlar API'sını etkili bir şekilde kullanmak için mimarisini oluşturan öğeler ve bir belgeyi oluşturan ve bunlar arasındaki ilişkiyi de göz önünde bulundurabilirsiniz. Bu sayfa size ayrıntılı bir genel bakış sunan bir sonuç alırsınız:

  • Belge öğelerinin kavramsal modeli
  • Docs API bu öğeleri nasıl temsil eder?
  • Öğelerin stil özellikleri

Üst düzey öğeler

Google Dokümanlar'daki en dıştaki kapsayıcı öğe bir dokümandır. Bu, Google Drive'a kaydedilebilecek, diğer kullanıcılarla paylaşılabilecek ve güncellenebilecek birim en iyi uygulamaları paylaşacağız.

documents öğesinin üst düzey öğeleri kaynağın Tab, SuggestionsViewMode, ve diğer özellikler:

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

Sekmeler

Tek bir dokümanda birden fazla sekme olabilir. metin düzeyinde farklı içeriklere sahip. Dokümanın tabs özelliği bir Tab nesne dizisi. Tab aşağıdaki alanlardan oluşur:

  • TabProperties: Sekmenin kimlik, başlık ve dizin gibi özelliklerini içerir.
  • childTabs: Bir sekmenin alt sekmelerini (doğrudan iç içe yerleştirilmiş sekmeler) gösterir tıklayın).
  • DocumentTab: Bir sekmenin metin içeriğini temsil eder.
Bir belgedeki sekmelerin yapısı.
Şekil 1. Bir belgedeki sekmelerin yapısı.

Sonraki bölümlerde belge sekmesi hiyerarşisine kısa bir genel bakış verilmektedir; "the" Sekme JSON gösterimi de daha ayrıntılı bilgi sağlar. Sekmelerle çalışma başlıklı makaleyi inceleyin. ziyaret edin.

Global doküman sekmesi özelliklerini Body içeriğinin dışında değiştirmek için bir veya daha fazla doküman şablonu kullanmak neredeyse her zaman daha iyidir; programlı olarak yeni dokümanlar oluşturmak için bir temel oluşturur. Daha fazla bilgi için bkz. Metni bir dokümanda birleştirin.

Gövde içeriği

Body, genellikle bir doküman sekmesinin tüm içeriğini barındırır. Çoğu programlı olarak kullanabileceğiniz ya da kullanmak isteyebileceğiniz öğeler, Body içeriği:

Vücut içeriğinin yapısı.
Şekil 2. Vücut içeriğinin yapısı.

Yapısal öğe

StructuralElement dokümanın yapısını sağlayan içerikleri açıklar. Body içeriği StructuralElement nesneden oluşan bir dizi. İçerik öğesi her birini kişiselleştirir StructuralElement nesnesi gösterilir:

Yapısal öğeler.
Şekil 3. Yapısal öğeler.

Yapısal öğeler ve içerik nesneleri tüm görsel bileşenleri içerir bir metin görürsünüz. Buna metin, satır içi resimler ve biçimlendirme dahildir.

Paragraf yapısı

Paragraph, bir Paragrafı temsil eden StructuralElement. Çok geniş bir yelpazede yeni satır karakteriyle sonlandırılır. Aşağıdaki nesnelerden oluşur:

  • ParagraphElement: Bir paragraftaki içeriği açıklar.
  • ParagraphStyle: Bir paragraf için stil özelliklerini açıkça ayarlayan isteğe bağlı bir öğedir.
  • Bullet: Paragrafın madde işareti sağlayan isteğe bağlı bir öğe olan listenin parçasıdır bakın.

ParagraphElement, StructuralElement gibi çalışır. Bir dizi içerik öğesi türleri (örneğin, ColumnBreak ve Equation), kişiselleştirmesini sağlayan aşağıdaki şemada gösterildiği gibi kendi ParagraphElement:

Paragraf öğelerinin yapısı.
Şekil 4. Paragraf öğelerinin yapısı.

Eksiksiz bir belge yapısı örneği için örneğin JSON biçimindedir. Çıkışta şunları yapabilirsiniz: ve ilk gösterimin başlangıcını belirlemenin yanı sıra, ve bitiş dizinlerini aşağıdaki bölümde açıklandığı şekilde inceleyin.

Metin çalışıyor

TextRun, bir ParagraphElement oluşan, tamamen aynı metin stiline sahip bitişik bir metin dizesini temsil eder. CEVAP paragraf birden fazla metin yayını içerebilir, ancak metin hiçbir zaman paragrafla çakışamaz sınırlar. İçerikler, yeni satır karakterinden sonra ayrı bir metin oluşturmak için bölünüyor koşar. Örneğin, aşağıdaki gibi küçük bir dokümanı ele alalım:

Paragraflar ve madde işaretli liste içeren küçük doküman.
Şekil 5. Küçük bir doküman.

Aşağıdaki şemada, paragrafların sırasını nasıl görselleştirebileceğiniz gösterilmiştir Önceki dokümanda her biri kendi TextRun ve isteğe bağlı Bullet öğesine sahip Ayarlar'da devre dışı bırakabilirsiniz.

Bir metin çalışmasının yapısı.
Şekil 6. Bir metin çalışmasının yapısı.

AutoText

AutoText bir Metinde dinamik olarak değiştirilen bir noktayı temsil eden ParagraphElement zamanla değişebilen içerikle ilgilidir. Dokümanlar'da bu dosya sayfa numaraları.

Başlangıç ve bitiş dizinleri

Bir dokümanın sekmesinin içeriğinde güncelleme yaptığınızda her güncelleme bir konuma veya belgenin bir aralığına yerleştirilebilir. Bu konumlar ve aralıklar, dizinler kullanılarak belirtilir. Bu dizinler, segmenti içeren bir belge seçin. Segment; gövde, üstbilgi, altbilgi veya içerik öğeleri içeren bir dipnot olmalıdır. Elementlerin dizinleri başlangıcıyla göreceli olarak değişebilir.

Gövde içeriğindeki çoğu öğede sıfır tabanlı startIndex ve endIndex mülk. Bunlar, bir öğenin başlangıcının ofsetini gösterir ve başlangıcına göre sonu. Okuyucu Gelirleri Yöneticisi'ni Dokümanlar API'si toplu çağrılarınızı sıralama hakkında daha fazla bilgi için Toplu güncellemelerine bakın.

Dizinler, UTF-16 kod birimleriyle ölçülür. Bu, vekil çiftleri, anlamına gelir. Örneğin, "GRINEN SATIL" emoji, 😄, şu şekilde gösterilir: \uD83D\uDE00 ve iki dizin tüketir.

Belge gövdesindeki öğeler için dizinler, "kök" olan, gövde içeriğinin başlangıcı öğesine dokunun.

"Kişiselleştirme" yapısal türler öğeler - SectionBreak, TableOfContents, Table ve Paragraph—içerdiği için bu dizinlere sahip değildir StructuralElement bu alanlar içeriyor. Bu durum kişiselleştirme için de geçerlidir. ParagraphElement içinde yer alan TextRun, AutoText ve PageBreak.

Erişim öğeleri

Birçok öğe, documents.batchUpdate yöntemidir. Örneğin, InsertTextRequest, metin içeren tüm öğelerin içeriğini değiştirebilirsiniz. Benzer şekilde kullan UpdateTextStyleRequest değerini girin.

Belgenin öğelerini okumak için documents.get yöntemini kullanarak Dokümanın tamamının JSON dökümü. Daha sonra, elde edilen JSON dosyasını şu şekilde ayrıştırabilirsiniz: bağımsız öğelerin değerlerini bulabilirsiniz. Daha fazla bilgi için Çıkış JSON olarak dışa aktarabilirsiniz.

İçeriğin ayrıştırılması çeşitli kullanım alanlarında faydalı olabilir. Örneğin, bulduğu belgeleri listeleyen bir doküman kataloğu oluşturabilirsiniz. Bu uygulama bir dokümanın başlığını, düzeltme kimliğini ve başlangıç sayfası numarasını aşağıdaki şemada gösterildiği gibi:

Belge kataloğunun yapısı.
Şekil 7. Belge kataloğunun yapısı.

Bu ayarları açıkça okumak için kullanabileceğiniz bir yöntem olmadığından, uygulamanızın sonra bu değerleri ayıklamak için JSON dosyasını ayrıştırın.

Mülkü devralma

StructuralElement, mülkleri üst nesnelerinden devralabilir. tanımladıkları ve devraldıkları özellikler de dahil olmak üzere nesnenin özelliklerini belirler. son görsel görünümüne karar verir.

Metin karakter biçimlendirmesi, metnin bir dokümanda nasıl oluşturulduğunu belirler: kalın, italik ve altı çizili. Uyguladığınız biçimlendirme, varsayılan değeri geçersiz kılar arka plandaki paragraftan devralınan biçimlendirme TextStyle. Öte yandan, biçimlendirmesi ayarlamadığınız karakterler, değiştirebilirsiniz.

Paragraf biçimlendirmesi, metin bloklarının bir dokümanda nasıl oluşturulacağını belirler. gibi alt başlıklara eklenebilecek öğeler de kullanabilirsiniz. Uyguladığınız biçimlendirme temel ParagraphStyle öğesinden devralınan varsayılan biçimlendirmeyi geçersiz kılar. Bununla birlikte, ayarlamadığınız tüm biçimlendirme özellikleri paragraf stilini de değiştirebilirsiniz.