Geavanceerd gebruik van bewerkbare documenten

Invoering

Als u een .NET-ontwikkelaar bent en uw documentbewerkingsmogelijkheden wilt verbeteren, biedt GroupDocs.Editor voor .NET een krachtig pakket tools. Deze uitgebreide handleiding leidt u door het geavanceerde gebruik van bewerkbare documenten met GroupDocs.Editor, waarbij elke stap gedetailleerd wordt beschreven om ervoor te zorgen dat u het volledige potentieel ervan kunt benutten.

Vereisten

Voordat u in de geavanceerde functionaliteiten duikt, moet u ervoor zorgen dat u over het volgende beschikt:

Naamruimten importeren

Zorg er om te beginnen voor dat u de benodigde naamruimten in uw .NET-project importeert:

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;

Stap 1: Een EditableDocument-exemplaar maken

Eerst moet u een exemplaar maken vanEditableDocument door een invoerdocument van een ondersteund formaat te laden en te bewerken.

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

In deze stap laden we het invoerdocument en maken het gereed voor bewerking.

Stap 2: Documentbronnen extraheren

DeEditableDocument bevat verschillende bronnen die kunnen worden geëxtraheerd en gemanipuleerd. Laten we deze opsplitsen:

Stap 2.1: Pak het volledige document uit als HTML

U kunt één enkele tekenreeks genereren die het hele document bevat, met alle bronnen ingesloten als HTML.

string allAsHtmlInsideOneString = beforeEdit.GetEmbeddedHtml();

Deze tekenreeks zal behoorlijk groot zijn, omdat deze stylesheets, afbeeldingen en lettertypen bevat die zijn gecodeerd in base64.

Stap 2.2: Extraheer alle afbeeldingen

Extraheer alle afbeeldingen uit het document.

List<IImageResource> allImages = beforeEdit.Images;

Stap 2.3: Pak alle lettertypen uit

Pak alle lettertypen uit die in het document worden gebruikt.

List<FontResourceBase> allFonts = beforeEdit.Fonts;

Stap 2.4: Pak alle stylesheets uit

Pak alle stylesheets uit in een tekstformaat.

List<CssText> allStylesheets = beforeEdit.Css;

Stap 2.5: Verzamel alle bronnen

Verzamel alle bronnen in één gesprek.

List<IHtmlResource> allResources = beforeEdit.AllResources;

Dit omvat afbeeldingen, lettertypen en stylesheets.

Stap 2.6: Verkrijg HTML-markeringen

Haal de HTML-opmaak van het document op zonder ingesloten bronnen.

string htmlMarkup = beforeEdit.GetContent();

Soms moet u externe links aanpassen zodat ze naar een aangepaste resourcehandler verwijzen. Hier leest u hoe u het moet doen:

Stap 3.1: Aangepaste voorvoegsels voorbereiden

Bereid voorvoegsels voor die vóór originele externe links staan.

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

Stap 3.2: Genereer vooraf ingestelde HTML-opmaak

Genereer HTML-opmaak met aangepaste links.

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

Stap 3.3: Verkrijg HTML-inhoud die alleen in het hoofdgedeelte staat

Sommige WYSIWYG-editors verwerken alleen pure HTML-opmaak zonder headers.

string onlyBodyContent = beforeEdit.GetBodyContent();

Stap 3.4: Vooraf ingestelde alleen-inhoud

Genereer alleen inhoud met aangepaste afbeeldingsvoorvoegsels.

string prefixedBodyContent = beforeEdit.GetBodyContent(customImagesRequesthandlerUri);

Stap 3.5: Stylesheets extraheren

Extraheer stylesheets die in het document worden gebruikt.

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

Stap 3.6: Vooraf ingestelde stijlbladen

Extraheer stylesheets met aangepaste voorvoegsels.

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

Stap 4: Document opslaan als HTML

Sla het bewerkte document op als HTML-bestand, inclusief de bronnen.

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

Met deze methode wordt een aparte map gemaakt voor bronnen zoals stylesheets, afbeeldingen en lettertypen.

Stap 5: EditableDocument verwijderen

EditableDocument-implementenIDisposable en biedt de mogelijkheid om te controleren of de instantie is verwijderd.

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

Stap 5.1 Afhandeling van een afvoergebeurtenis

U kunt zich ook abonneren op het afvoerevenement.

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

Stap 6: Een bewerkbaar document maken van HTML

Maak een exemplaar van EditableDocument van een HTML-document.

Stap 6.1: Van HTML-bestand

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

Stap 6.2: Van HTML-opmaak

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

Deze exemplaren (afterEditFromFile en afterEditFromMarkup) zijn identiek aan het origineel (beforeEdit).

Stap 7: Handmatige verwijdering

Verwijder uw EditableDocument-exemplaren handmatig.

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

Dit zorgt voor een goede opruiming van hulpbronnen.

Conclusie

GroupDocs.Editor voor .NET biedt robuuste tools voor het programmatisch bewerken van documenten. Door deze stapsgewijze handleiding te volgen, kunt u de documentinhoud, bronnen en uitvoerformaten efficiënt beheren. Of u nu bronnen insluit, externe links aanpast of documenten naar HTML converteert, GroupDocs.Editor voorziet u van de functionaliteit die nodig is voor geavanceerde documentmanipulatie.

Veelgestelde vragen

Welke formaten ondersteunt GroupDocs.Editor?

GroupDocs.Editor ondersteunt verschillende formaten, waaronder DOCX, XLSX, PPTX en meer.

Kan ik GroupDocs.Editor zonder licentie gebruiken?

Ja, je kunt het gebruiken met eengratis proefperiode of eentijdelijke licentie.

Hoe haal ik specifieke bronnen uit een document?

U kunt afbeeldingen, lettertypen en stylesheets extraheren met behulp van de meegeleverde methoden, zoalsImages, Fonts , EnCss.

Ja, u kunt externe links aanpassen door aangepaste voorvoegsels op te geven voor afbeeldingen, CSS en lettertypen.

Hoe sla ik een bewerkt document op als HTML-bestand?

Gebruik deSave werkwijze van deEditableDocumentclass om het document op te slaan als een HTML-bestand, inclusief de bronnen.