API Univer Docs
Univer Docs offre des fonctionnalités professionnelles de mise en page de documents, fondées sur des concepts proches de ceux de Microsoft Word.
Importation
import '@univerjs/docs/facade'import '@univerjs/docs-ui/facade'Manipuler des documents
Pour les unités de document, unitId correspond à l’identifiant unique du document. Les documents ne possèdent pas de subUnitId.
Le contenu textuel du document est stocké dans la chaîne body.dataStream, qui ne contient aucune information de style.
Les informations de style sont stockées séparément dans une autre structure de données et associées au contenu textuel au moyen de références d’index.
Les éléments tels que les sauts de ligne, les sauts de page, les sections, les paragraphes et les tableaux sont représentés dans le contenu textuel par différents caractères spéciaux. Lors du rendu, ces caractères spéciaux sont convertis dans les éléments correspondants.
Vous souhaitez en savoir plus sur la conception des structures de données des documents ? Nous vous recommandons de lire Univer Document Architecture and Module Design et An Initial Exploration of Univer Document Typesetting Design.
Créer un document
Utilisez univerAPI.createDocument(data) pour créer un document et obtenir son objet wrapper de façade FDocument.
Le paramètre est un objet de données de document facultatif qui contient les données initiales du document. Si vous transmettez {}, un document vide est créé.
Si vous utilisez directement l’instance univer sous-jacente plutôt que l’API Facade, utilisez univer.createUnit(UniverInstanceType.UNIVER_DOC, data).
const doc = univerAPI.createDocument(data)Obtenir le unitId d’un document
const doc = univerAPI.getActiveDocument()const unitId = doc?.getId()Obtenir les données d’un document
const doc = univerAPI.getActiveDocument()const saveData = doc.save()Supprimer un document
Lorsque le document n’est plus nécessaire, vous pouvez appeler la méthode dispose de l’instance Univer pour détruire celle-ci.
univer.dispose()Manipuler du texte
Modifiez les éléments textuels dans la zone de texte enrichi.
Insérer du texte
Ajoutez le texte indiqué à la fin de cette zone de texte.
const doc = univerAPI.getActiveDocument()doc?.insertText(0, 'Univer')Supprimer du texte
Supprimez du texte à partir des décalages dans le document.
const doc = univerAPI.getActiveDocument()doc?.deleteRange({ startOffset: 0, endOffset: 1 })Modifier le style
Définissez le style du texte dans un paragraphe.
const doc = univerAPI.getActiveDocument()const paragraph = doc?.getParagraphs()[0]paragraph?.setStyle({ textStyle: { cl: { rgb: '#FF0000', }, },})Insérer un saut de page
Le caractère \f représente un saut de page et permet d’en insérer un dans le document.
const doc = univerAPI.getActiveDocument()doc?.insertText(0, '\f')Statistiques du document
Utilisez le DocumentDataModel sous-jacent pour calculer les statistiques du document entier ou de plages sélectionnées.
const doc = univerAPI.getActiveDocument()if (!doc) throw new Error('No active document')const statistics = await doc.getDocumentDataModel().getStatistics({ locale: univerAPI.Enum.LocaleType.FR_FR,})console.log(statistics.words, statistics.charactersWithSpaces, statistics.paragraphs)getStatistics() renvoie le nombre de mots, de caractères et de paragraphes. Utilisez ranges pour limiter le comptage au texte sélectionné et signal pour annuler un calcul devenu inutile.
Que pensez-vous de ce guide ?