CssSavingArgs

CssSavingArgs class

Proporciona datos para elCssSaving evento.

Para obtener más información, visite elGuardar un documento artículo de documentación.

public class CssSavingArgs

Propiedades

NombreDescripción
CssStream { get; set; }Permite especificar la secuencia donde se guardará la información CSS.
Document { get; }Obtiene el objeto del documento que se está guardando actualmente.
IsExportNeeded { get; set; }Permite especificar si el CSS se exportará a un archivo y se incrustará en un documento HTML. El valor predeterminado esverdadero . Cuando esta propiedad esFALSO , la información CSS no se guardará en un archivo CSS y no se incrustará en el documento HTML.
KeepCssStreamOpen { get; set; }Especifica si Aspose.Words debe mantener la secuencia abierta o cerrarla después de guardar una información CSS.

Observaciones

De forma predeterminada, cuando Aspose.Words guarda un documento en HTML, guarda la información CSS inline (como un valor delestilo atributo en cada elemento).

CssSavingArgspermite guardar información CSS en un archivo proporcionando su propio objeto de flujo.

Para guardar CSS en la secuencia, use elCssStream propiedad.

Para evitar guardar CSS en un archivo e incrustarlo en un documento HTML, utilice elIsExportNeeded propiedad.

Ejemplos

Muestra cómo trabajar con hojas de estilo CSS que crea una conversión HTML.

public void ExternalCssFilenames()
{
    Document doc = new Document(MyDir + "Rendering.docx");

    // Crea un objeto "HtmlFixedSaveOptions", que podemos pasar al método "Guardar" del documento
    // para modificar cómo convertimos el documento a HTML.
    HtmlSaveOptions options = new HtmlSaveOptions();

    // Establece la propiedad "CssStylesheetType" en "CssStyleSheetType.External" para
    // acompaña un documento HTML guardado con un archivo de hoja de estilo CSS externo.
    options.CssStyleSheetType = CssStyleSheetType.External;

    // A continuación se muestran dos formas de especificar directorios y nombres de archivos para las hojas de estilo CSS de salida.
    // 1 - Usa la propiedad "CssStyleSheetFileName" para asignar un nombre de archivo a nuestra hoja de estilo:
    options.CssStyleSheetFileName = ArtifactsDir + "SavingCallback.ExternalCssFilenames.css";

    // 2 - Usa una devolución de llamada personalizada para nombrar nuestra hoja de estilo:
    options.CssSavingCallback =
        new CustomCssSavingCallback(ArtifactsDir + "SavingCallback.ExternalCssFilenames.css", true, false);

    doc.Save(ArtifactsDir + "SavingCallback.ExternalCssFilenames.html", options);
}

/// <summary>
/// Establece un nombre de archivo personalizado, junto con otros parámetros para una hoja de estilo CSS externa.
/// </summary>
private class CustomCssSavingCallback : ICssSavingCallback
{
    public CustomCssSavingCallback(string cssDocFilename, bool isExportNeeded, bool keepCssStreamOpen)
    {
        mCssTextFileName = cssDocFilename;
        mIsExportNeeded = isExportNeeded;
        mKeepCssStreamOpen = keepCssStreamOpen;
    }

    public void CssSaving(CssSavingArgs args)
    {
        // Podemos acceder al documento fuente completo a través de la propiedad "Documento".
        Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));

        args.CssStream = new FileStream(mCssTextFileName, FileMode.Create);
        args.IsExportNeeded = mIsExportNeeded;
        args.KeepCssStreamOpen = mKeepCssStreamOpen;

        Assert.True(args.CssStream.CanWrite);
    }

    private readonly string mCssTextFileName;
    private readonly bool mIsExportNeeded;
    private readonly bool mKeepCssStreamOpen;
}

Ver también