Utilizzo avanzato di documenti modificabili

introduzione

Se sei uno sviluppatore .NET che desidera migliorare le proprie capacità di modifica dei documenti, GroupDocs.Editor per .NET offre una potente suite di strumenti. Questa guida completa ti guiderà attraverso l’utilizzo avanzato di documenti modificabili utilizzando GroupDocs.Editor, analizzando ogni passaggio in dettaglio per assicurarti di poter sfruttare tutto il suo potenziale.

Prerequisiti

Prima di immergerti nelle funzionalità avanzate, assicurati di avere quanto segue:

  • Visual Studio installato nel computer di sviluppo.
  • .NET Framework compatibile con GroupDocs.Editor.
  • GroupDocs.Editor per la libreria .NET. Puoiscaricalo qui.
  • Una licenza GroupDocs.Editor valida. Puoi ottenere unprova gratuita o acquistare unlicenza temporanea.

Importa spazi dei nomi

Per iniziare, assicurati di importare gli spazi dei nomi necessari nel tuo progetto .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;

Passaggio 1: creazione di un’istanza di documento modificabile

Per prima cosa devi creare un’istanza diEditableDocument caricando e modificando un documento di input di un formato supportato.

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

In questo passaggio carichiamo il documento di input e lo prepariamo per la modifica.

Passaggio 2: estrazione delle risorse del documento

ILEditableDocument contiene varie risorse che possono essere estratte e manipolate. Analizziamoli:

Passaggio 2.1: estrarre l’intero documento come HTML

Puoi generare una singola stringa che contiene l’intero documento con tutte le sue risorse incorporate come HTML.

string allAsHtmlInsideOneString = beforeEdit.GetEmbeddedHtml();

Questa stringa sarà piuttosto grande poiché include fogli di stile, immagini e caratteri codificati in base64.

Passaggio 2.2: estrai tutte le immagini

Estrai tutte le immagini dal documento.

List<IImageResource> allImages = beforeEdit.Images;

Passaggio 2.3: Estrai tutti i caratteri

Estrai tutti i caratteri utilizzati nel documento.

List<FontResourceBase> allFonts = beforeEdit.Fonts;

Passaggio 2.4: estrazione di tutti i fogli di stile

Estrai tutti i fogli di stile in formato testuale.

List<CssText> allStylesheets = beforeEdit.Css;

Passaggio 2.5: raccogliere tutte le risorse

Raccogli tutte le risorse in un’unica chiamata.

List<IHtmlResource> allResources = beforeEdit.AllResources;

Ciò include immagini, caratteri e fogli di stile.

Passaggio 2.6: ottenere il markup HTML

Ottieni il markup HTML del documento senza risorse incorporate.

string htmlMarkup = beforeEdit.GetContent();

Passaggio 3: regolazione dei collegamenti esterni

A volte è necessario modificare i collegamenti esterni in modo che puntino a un gestore di risorse personalizzato. Ecco come farlo:

Passaggio 3.1: preparare prefissi personalizzati

Preparare i prefissi che anteporranno i collegamenti esterni originali.

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

Passaggio 3.2: generazione di markup HTML con prefisso

Genera markup HTML con collegamenti modificati.

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

Passaggio 3.3: ottenere contenuto HTML solo corpo

Alcuni editor WYSIWYG gestiscono solo markup HTML puro senza intestazioni.

string onlyBodyContent = beforeEdit.GetBodyContent();

Passaggio 3.4: contenuto solo corpo con prefisso

Genera contenuti solo per il corpo con prefissi di immagine personalizzati.

string prefixedBodyContent = beforeEdit.GetBodyContent(customImagesRequesthandlerUri);

Passaggio 3.5: estrazione dei fogli di stile

Estrai i fogli di stile utilizzati nel documento.

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

Passaggio 3.6: Fogli di stile con prefisso

Estrai fogli di stile con prefissi personalizzati.

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

Passaggio 4: salva il documento come HTML

Salva il documento modificato come file HTML, incluse le sue risorse.

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

Questo metodo crea una directory separata per risorse come fogli di stile, immagini e caratteri.

Passaggio 5: eliminazione di EditableDocument

Implementa EditableDocumentIDisposable e offre la possibilità di verificare se l’istanza è stata eliminata.

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

Passaggio 5.1 Gestione dell’evento di eliminazione

Puoi anche iscriverti all’evento di smaltimento.

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

Passaggio 6: creazione di un documento modificabile da HTML

Crea un’istanza di EditableDocument da un documento HTML.

Passaggio 6.1: dal file HTML

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

Passaggio 6.2: dal markup HTML

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

Queste istanze (afterEditFromFile e afterEditFromMarkup) sono identiche all’originale (beforeEdit).

Passaggio 7: smaltimento manuale

Elimina manualmente le tue istanze EditableDocument.

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

Ciò garantisce una corretta pulizia delle risorse.

Conclusione

GroupDocs.Editor per .NET fornisce strumenti robusti per la modifica dei documenti a livello di codice. Seguendo questa guida passo passo, puoi gestire in modo efficiente il contenuto dei documenti, le risorse e i formati di output. Che tu stia incorporando risorse, modificando collegamenti esterni o convertendo documenti in HTML, GroupDocs.Editor ti fornisce le funzionalità necessarie per la manipolazione avanzata dei documenti.

Domande frequenti

Quali formati supporta GroupDocs.Editor?

GroupDocs.Editor supporta vari formati tra cui DOCX, XLSX, PPTX e altri.

Posso utilizzare GroupDocs.Editor senza licenza?

Sì, puoi usarlo con aprova gratuita o alicenza temporanea.

Come posso estrarre risorse specifiche da un documento?

Puoi estrarre immagini, caratteri e fogli di stile utilizzando i metodi forniti comeImages, Fonts , ECss.

È possibile modificare i collegamenti nell’output HTML?

Sì, puoi modificare i collegamenti esterni specificando prefissi personalizzati per immagini, CSS e caratteri.

Come posso salvare un documento modificato come file HTML?

Usa ilSave metodo delEditableDocumentclass per salvare il documento come file HTML, incluse le sue risorse.