Szerkeszthető tartományok használata

Szerkeszthető tartományok használata

A szerkeszthető tartományok kezelése

Ez az útmutató bemutatja, hogyan lehet ellenőrizni és eltávolítani a szerkeszthető tartományokat – azokat a területeket, amelyeket a Word “Restrict Editing” funkciója kivételesként kezel a dokumentum általános szerkesztési korlátozásából, opcionálisan egy adott felhasználóra vagy csoportra korlátozva – a Aspose.Words FOSS a .NET számára. Egy szerkeszthető tartományt a dokumentumfában egy pár jelzőcsomópont határol, EditableRangeStart and EditableRangeEnd, és teljes egészében a EditableRange facade osztály.


Szerkeszthető tartományok keresése egy dokumentumban

Nincs egyetlen gyűjtemény tulajdonság a szerkeszthető tartományokhoz; megtalálhatók a csomópontfa bejárásával. CompositeNode.GetChildNodes(nodeType, isDeep) NodeType.EditableRangeStart minden EditableRangeStart csomópontot visszaad a dokumentumban (vagy egy részfában, ha egy Document-től eltérő csomóponton hívják). Minden EditableRangeStart.EditableRange tulajdonság ezután a megfelelő EditableRange felület objektumot adja vissza.


A EditableRange felület

EditableRange egyetlen szerkeszthető tartományt ír le egészként: Id azonosítja, SingleUser opcionálisan megnevezi a konkrét felhasználót, akinek engedélyezett a szerkesztés, és EditorGroup (egy EditorType érték) helyette opcionálisan egy szerkesztőcsoportot nevez meg. EditableRangeStart és EditableRangeEnd visszaadják a dokumentumban a tartományt határoló marker csomópontok párját. EditableRange.Remove() eltávolítja a szerkeszthető tartományt – feloldva a szerkesztési korlátozás kivételét azon a területen, a tartalom dokumentumban marad meg.


A marker csomópontok: EditableRangeStart és EditableRangeEnd

EditableRangeStart és EditableRangeEnd lezárt Node alosztályok, amelyek a tartomány határait jelölik a dokumentum tartalmi folyamatában. EditableRangeStart.Id és EditableRangeEnd.Id azonosítják a tartományt; EditableRangeStart.EditableRange közvetlenül eléri a facade objektumot, és EditableRangeEnd.EditableRangeStart visszanyúlik a megfelelő kezdőjelzőhöz. Mivel egyszerű csomópontok, mindkettő támogatja a szabványos Node tagokat – ParentNode, Document, PreviousSibling, NextSibling és Remove() az egyes jelzők törléséhez.


Hozzáférés korlátozása EditorType segítségével

EditorType felsorolja azokat a szerkesztőcsoportokat, amelyeket egy EditableRange.EditorGroup hivatkozhat: Administrators, Contributors, Editors, Owners, Everyone, Current, None és Unspecified (szintén elérhető Default néven, amely a Unspecified szinonimája).


Tippek és legjobb gyakorlatok

  • Használd a GetChildNodes(NodeType.EditableRangeStart, true) a isDeep: true segítségével, hogy szerkeszthető tartományokat találj a dokumentum bármely részén, nem csak egy csomópont közvetlen gyermekeinél.
  • Olvasd el együtt a EditableRange.SingleUser és a EditorGroup dokumentumokat, hogy meghatározd, kire korlátozódik egy tartomány – egy tartomány egy konkrét felhasználóra, egy szerkesztőcsoportra vagy egyikre sem korlátozható.
  • Hívd meg a EditableRange.Remove() (a facade-on) ahelyett, hogy egyenként eltávolítanád a EditableRangeStart és EditableRangeEnd jelzőcsomópontokat, így a tartomány mindkét vége konzisztensen lesz megtisztítva.

Gyakori problémák

ProblémaOkJavítás
Nem találhatók szerkeszthető tartományok, annak ellenére, hogy a dokumentum korlátozott szerkesztéssel rendelkezik.A keresés az alapértelmezett (sekély) GetChildNodes hívást használta.Add meg isDeep: true-t, hogy a keresés az egész dokumentum alstruktúrájára kiterjedjen.
Egy szerkeszthető tartomány eltávolítása nem távolítja el a benne lévő szöveget.EditableRange.Remove() csak a tartományjelölőket és a szerkesztési mentességet távolítja el, nem a közöttük lévő tartalmat.Ez várható – töröld a tartalmat külön, ha azt is el kell távolítani.
EditorGroup úgy jelenik meg, mint Unspecified, annak ellenére, hogy a Word egy névvel ellátott csoportot mutat.A tartomány szerkesztőcsoportja a forrásdokumentumban EditorType.Unspecified/Default értékre térképeződik, a névvel ellátott csoportok egyik értéke helyett.Ellenőrizze a(z) SingleUser is – a tartomány helyett egy egyéni felhasználóra is korlátozható

FAQ

Hogyan találom meg a dokumentumban az összes szerkeszthető tartományt?

Hívja a Document.GetChildNodes(NodeType.EditableRangeStart, true) függvényt, majd olvassa el a EditableRange tulajdonságot minden visszaadott EditableRangeStart csomóponton.

Hogyan tudom megállapítani, hogy ki szerkesztheti a megadott tartományt?

Olvassa el a EditableRange.SingleUser (egy konkrét felhasználó) és a EditableRange.EditorGroup (egy EditorType szerkesztőcsoport) értékeket a felületobjektumon.

Hogyan távolíthatok el egy szerkesztési korlátozást a dokumentum egy részéből?

Hívja a Remove() függvényt a EditableRange felületobjektumon azon a tartománynál.

Mi a különbség a EditableRangeStart.EditableRange és a EditableRangeEnd.EditableRangeStart között?

EditableRangeStart.EditableRange közvetlenül eléri a teljes tartományt leíró felület objektumot. EditableRangeEnd.EditableRangeStart visszanyúlik a megfelelő kezdőjelző csomópontra, amelyről EditableRange ezután elérhető.


API Reference összegzés

Osztály / EnumLeírás
EditableRangeFasada egy szerkeszthető tartományhoz: Id, SingleUser, EditorGroup, Remove()
EditableRangeStartCsomópont, amely jelöli egy tartomány kezdetét; Id, EditableRange
EditableRangeEndCsomópont, amely jelöli egy tartomány végét; Id, EditableRangeStart
EditorTypeA szerkesztői csoportok enumja: Administrators, Contributors, Editors, Owners, Everyone, Current, None, Unspecified/Default

Lásd még:

 Magyar