Utilisation avancée des documents modifiables

Introduction

Si vous êtes un développeur .NET cherchant à améliorer vos capacités d’édition de documents, GroupDocs.Editor for .NET propose une puissante suite d’outils. Ce guide complet vous guidera dans l’utilisation avancée des documents modifiables à l’aide de GroupDocs.Editor, en décomposant chaque étape en détail pour vous assurer que vous pouvez exploiter tout son potentiel.

Conditions préalables

Avant de plonger dans les fonctionnalités avancées, assurez-vous de disposer des éléments suivants :

  • Visual Studio installé sur votre machine de développement.
  • .NET Framework compatible avec GroupDocs.Editor.
  • GroupDocs.Editor pour la bibliothèque .NET. Tu peuxTélécharger les ici.
  • Une licence GroupDocs.Editor valide. Vous pouvez obtenir unessai gratuit ou acheter unpermis temporaire.

Importer des espaces de noms

Pour commencer, assurez-vous d’importer les espaces de noms nécessaires dans votre projet .NET :

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Editor.HtmlCss.Resources;
using GroupDocs.Editor.HtmlCss.Resources.Fonts;
using GroupDocs.Editor.HtmlCss.Resources.Images;
using GroupDocs.Editor.HtmlCss.Resources.Textual;
using GroupDocs.Editor.Options;

Étape 1 : Création d’une instance EditableDocument

Tout d’abord, vous devez créer une instance deEditableDocument en chargeant et en éditant un document d’entrée d’un format pris en charge.

string inputFilePath = "YourSampleDocument.docx";
Editor editor = new Editor(inputFilePath, delegate { return new WordProcessingLoadOptions(); });
EditableDocument beforeEdit = editor.Edit(new WordProcessingEditOptions());

Dans cette étape, nous chargeons le document d’entrée et le préparons pour l’édition.

Étape 2 : Extraction des ressources documentaires

LeEditableDocument contient diverses ressources qui peuvent être extraites et manipulées. Décomposons-les :

Étape 2.1 : extraire l’intégralité du document au format HTML

Vous pouvez générer une seule chaîne contenant l’intégralité du document avec toutes ses ressources intégrées au format HTML.

string allAsHtmlInsideOneString = beforeEdit.GetEmbeddedHtml();

Cette chaîne sera assez volumineuse car elle comprend des feuilles de style, des images et des polices codées en base64.

Étape 2.2 : Extraire toutes les images

Extrayez toutes les images du document.

List<IImageResource> allImages = beforeEdit.Images;

Étape 2.3 : Extraire toutes les polices

Extrayez toutes les polices utilisées dans le document.

List<FontResourceBase> allFonts = beforeEdit.Fonts;

Étape 2.4 : Extraire toutes les feuilles de style

Extrayez toutes les feuilles de style dans un format textuel.

List<CssText> allStylesheets = beforeEdit.Css;

Étape 2.5 : Rassemblez toutes les ressources

Rassemblez toutes les ressources en un seul appel.

List<IHtmlResource> allResources = beforeEdit.AllResources;

Cela inclut les images, les polices et les feuilles de style.

Étape 2.6 : Obtenir le balisage HTML

Obtenez le balisage HTML du document sans ressources intégrées.

string htmlMarkup = beforeEdit.GetContent();

Étape 3 : Ajustement des liens externes

Parfois, vous devez ajuster les liens externes pour pointer vers un gestionnaire de ressources personnalisé. Voici comment procéder :

Étape 3.1 : Préparer des préfixes personnalisés

Préparez des préfixes qui ajouteront les liens externes d’origine.

string customImagesRequesthandlerUri = "http://exemple.com/ImagesHandler/id=";
string customCssRequesthandlerUri = "http://example.com/CssHandler/id=";
string customFontsRequesthandlerUri = "http://example.com/FontsHandler/id=";

Étape 3.2 : Générer un balisage HTML préfixé

Générez un balisage HTML avec des liens ajustés.

string prefixedHtmlMarkup = beforeEdit.GetContent(customImagesRequesthandlerUri, customCssRequesthandlerUri);

Étape 3.3 : Obtenir du contenu HTML contenant uniquement le corps

Certains éditeurs WYSIWYG ne gèrent que le balisage HTML pur sans en-têtes.

string onlyBodyContent = beforeEdit.GetBodyContent();

Étape 3.4 : Contenu préfixé réservé au corps

Générez du contenu composé uniquement de corps avec des préfixes d’image personnalisés.

string prefixedBodyContent = beforeEdit.GetBodyContent(customImagesRequesthandlerUri);

Étape 3.5 : Extraire les feuilles de style

Extrayez les feuilles de style utilisées dans le document.

List<string> stylesheets = beforeEdit.GetCssContent();

Étape 3.6 : Feuilles de style préfixées

Extrayez les feuilles de style avec des préfixes personnalisés.

List<string> prefixedStylesheets = beforeEdit.GetCssContent(customImagesRequesthandlerUri, customFontsRequesthandlerUri);

Étape 4 : Enregistrer le document au format HTML

Enregistrez le document modifié sous forme de fichier HTML, y compris ses ressources.

string htmlFilePath = Path.Combine("output", Path.GetFileNameWithoutExtension(inputFilePath) + ".html");
beforeEdit.Save(htmlFilePath);

Cette méthode crée un répertoire distinct pour les ressources telles que les feuilles de style, les images et les polices.

Étape 5 : élimination du document modifiable

Implémentations de EditableDocumentIDisposable et offre la possibilité de vérifier si l’instance est supprimée.

Console.WriteLine("EditableDocument is {0} disposed", !beforeEdit.IsDisposed ? "not" : "already");

Étape 5.1 Gestion de l’événement Dispose

Vous pouvez également vous inscrire à l’événement de disposition.

EventHandler someMethod = delegate { Console.WriteLine("Disposing event was spotted!"); };
beforeEdit.Disposed += someMethod;

Étape 6 : Création d’un document modifiable à partir de HTML

Créez une instance de EditableDocument à partir d’un document HTML.

Étape 6.1 : À partir d’un fichier HTML

EditableDocument afterEditFromFile = EditableDocument.FromFile(htmlFilePath, null);

Étape 6.2 : à partir du balisage HTML

EditableDocument afterEditFromMarkup = EditableDocument.FromMarkup(htmlMarkup, allResources);

Ces instances (afterEditFromFile et afterEditFromMarkup) sont identiques à l’original (beforeEdit).

Étape 7 : Élimination manuelle

Supprimez manuellement vos instances EditableDocument.

beforeEdit.Dispose();
afterEditFromFile.Dispose();
afterEditFromMarkup.Dispose();
editor.Dispose();

Cela garantit un nettoyage approprié des ressources.

Conclusion

GroupDocs.Editor pour .NET fournit des outils robustes pour éditer des documents par programmation. En suivant ce guide étape par étape, vous pouvez gérer efficacement le contenu, les ressources et les formats de sortie des documents. Que vous intégriez des ressources, ajustiez des liens externes ou convertissiez des documents au format HTML, GroupDocs.Editor vous offre les fonctionnalités nécessaires à la manipulation avancée de documents.

FAQ

Quels formats GroupDocs.Editor prend-il en charge ?

GroupDocs.Editor prend en charge divers formats, notamment DOCX, XLSX, PPTX, etc.

Puis-je utiliser GroupDocs.Editor sans licence ?

Oui, vous pouvez l’utiliser avec unessai gratuit ou unpermis temporaire.

Comment extraire des ressources spécifiques d’un document ?

Vous pouvez extraire des images, des polices et des feuilles de style à l’aide des méthodes fournies telles queImages, Fonts , etCss.

Est-il possible d’ajuster les liens dans la sortie HTML ?

Oui, vous pouvez ajuster les liens externes en spécifiant des préfixes personnalisés pour les images, CSS et polices.

Comment enregistrer un document modifié sous forme de fichier HTML ?

Utilisez leSave méthode duEditableDocumentclasse pour enregistrer le document sous forme de fichier HTML, y compris ses ressources.