Domanda

Sto sviluppando una soluzione che consente alle persone di caricare un file DOCX come modello. Questo modello viene utilizzato per generare documenti Word con informazioni sul database.

Quello che vorrei fare è una volta che un modello viene caricato, per verificarlo per errori. (Non voglio che il mio parser si blocchi durante l'uso di un modello.)

Ho visto la domanda su controllo di una firma di un modello di Word, ma ciò non è sufficiente per convalidare l'integrità del file. Ovviamente è possibile provare a decomprimere il file, convalidare l'XML e così via, ma questo è piuttosto impegnativo per la CPU e mi piacerebbe un approccio diverso se ce n'è uno.

Esistono soluzioni che fanno parte di Open XML SDK o altri approcci standard a questo? Tutte le idee sono apprezzate.

È stato utile?

Soluzione

in C # al di fuori del sito MSDN

public static bool IsDocumentValid(WordprocessingDocument mydoc)
{
    OpenXmlValidator validator = new OpenXmlValidator();
    var errors = validator.Validate(mydoc);
    foreach (ValidationErrorInfo error in errors)
        Debug.Write(error.Description);
    return (errors.Count() == 0);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top