Configuraciones de Formato

Opciones de renderizado completas por formato

Cada documento se abre con una implementación BaseConfig. Pase una a OpenDocumentAsync o deje que el catálogo de formatos cree su valor predeterminado. Todas las clases a continuación viven en el espacio de nombres Doconut.

csharp
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
    AllowSearch = true,
    AllowCopy   = true,
    ImageResolution = 150
});

Herencia y configuraciones PDF anidadas

Cada formato hereda las cinco propiedades BaseConfig. Los formatos que pueden redirigir a través de PDF exponen un PdfConfig anidado. En WordConfig, ExcelConfig y PptConfig, AllowSearch y AllowCopy son propiedades de conveniencia que leen y escriben el PdfConfig anidado.

DefaultRender = true selecciona el renderizador de formato nativo. En los formatos con una redirección PDF, false convierte primero a un PDF en memoria y luego usa el visor PDF. Esa ruta suele ser útil para la búsqueda por coordenadas de texto, pero implica una conversión adicional.

A menos que se indique lo contrario, las tablas muestran los valores predeterminados de constructores/propiedades. El catálogo de formatos automático sobrescribe deliberadamente dos de ellos: crea ExcelConfig con SplitWorksheets = true, y MhtConfig con DefaultRender = false.

BaseConfig

TipoPropiedadPredeterminadoComportamiento
intImageResolution00 usa el valor predeterminado del formato. El rango explícito válido es 25-300 DPI; las asignaciones inválidas se ignoran.
stringDocumentCulture""Configuración regional para fechas y números. Los valores no vacíos se recortan; las asignaciones en blanco se ignoran.
stringPassword""Contraseña de documento protegido. DocOptions.Password se copia aquí automáticamente.
boolShowUItruePropiedad de compatibilidad; el renderizador actual no la usa para controlar la barra de herramientas del navegador.
boolCachePagestrueAlmacena en caché las imágenes de página renderizadas para la sesión del documento.

PdfConfig

Formatos: PDF. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueInterruptor de compatibilidad. La fábrica actual usa el visor PDF nativo.
boolAllowSearchfalseConstruye/usa el índice de búsqueda de texto PDF. Requiere la capacidad de licencia Search para las solicitudes.
boolAllowCopyfalsePermite operaciones de selección/copia de texto.
boolExtractHyperlinksfalseExtrae rectángulos de enlaces para superposiciones del cliente.
intHyperlinksPageCount0Máximo de páginas escaneadas para enlaces; 0 significa todas las páginas.
boolCompressImagesfalseComprime imágenes incrustadas antes de renderizar.
intCompressQuality100Calidad JPEG usada cuando la compresión está habilitada.
boolResizeImagesfalseRedimensiona imágenes incrustadas antes de renderizar.
intResizeResolution300DPI objetivo para imágenes redimensionadas.
boolCompressFastfalsePrefiere la ruta de compresión más rápida y de menor calidad.
boolFixInvalidImagesfalseIntenta reparar imágenes incrustadas inválidas.
boolSplitSegmentsfalseReúne palabras divididas en segmentos de línea para mejorar la búsqueda/copia.

showHyperlinks en ViewerConfig controla la superposición del cliente, mientras que ExtractHyperlinks controla la extracción del servidor. Habilite ambos.

WordConfig

Formatos: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueRenderizado nativo de Word; false usa la redirección PDF.
PdfConfigPdfConfignueva instanciaConfiguraciones usadas por la ruta PDF/búsqueda.
DocPaperSizePaperSizeA4Tamaño de papel de salida. Use Custom con ancho/alto.
intPaperWidth595Ancho personalizado en puntos.
intPaperHeight841Altura personalizada en puntos.
boolRemovePaperMarginfalseElimina los márgenes de página del documento.
boolRenderPageColortruePreserva el color de página configurado en Word; false renderiza páginas blancas.
boolExportPdfAfalseUsa PDF/A archivístico en la ruta PDF.
Encoding?FileEncodingnullSobrescribe la codificación de origen.
stringFontInfo""Información de sustitución de fuentes.
string[]?FontFoldersnullDirectorios de fuentes adicionales, especialmente útiles en Linux/contenedores.
boolAllowSearchfalseDelegado a PdfConfig.AllowSearch.
boolAllowCopyfalseDelegado a PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents, o AutoFitToWindow.

ConfiguraciónExcel

Formatos: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueRenderizado nativo de hoja; false usa la redirección PDF.
PdfConfigPdfConfignueva instanciaConfiguración para la ruta PDF/búsqueda.
ExcelPaperSizePaperSizePaperA4Tamaño de papel de salida.
doublePaperMargins0.25Márgenes de página en pulgadas.
boolPaperLandscapetrueRenderizado de hoja en orientación horizontal.
boolAutoFitContentsfalseAjuste automático de alturas de filas y anchuras de columnas.
boolRemoveEmptyContenttrueAjustar salida excluyendo contenido vacío.
boolCalculateFormulatrueRecalcular fórmulas antes del renderizado.
boolShowRowColumnHeaderstrueIncluir encabezados de hoja de cálculo.
boolExportPdfAfalseUsar PDF/A en la ruta PDF.
boolSplitWorksheetsfalseMantener hojas de cálculo como grupos de páginas separados.
boolShowEmptyWorkSheetsfalseIncluir hojas de cálculo vacías.
boolExportLandscapefalseForzar exportación en orientación horizontal.
boolExportOnePagePerSheetfalseAjustar cada hoja a una página de salida.
boolMemoryOptimizationPreferencetrueReducir la memoria máxima, potencialmente a costa de algo de velocidad.
boolAutoTrimWorksheetRenderRangetrueRenderizar solo el rango usado visible cuando no existe un área de impresión explícita.
boolAutoTrimPreserveExistingPrintAreatrueConservar áreas de impresión definidas por el libro durante el recorte automático.
string?PrintAreanullRango explícito como "A1:Z100".
boolPrintGridlinesfalseImprimir líneas de cuadrícula de la hoja.
boolPrintHeadingsfalseImprimir encabezados de filas/columnas.
List<string>SheetNamesvacíoRestringir el renderizado a hojas de cálculo nombradas.
CustomStyleCell?CustomStylesnullSobrescrituras opcionales de formato de fecha/decimal/entero.
boolAllowSearchfalseDelegado a PdfConfig.AllowSearch.
boolAllowCopyfalseDelegado a PdfConfig.AllowCopy.

CustomStyleCell expone CustomStyleDateTime, CustomStyleNumberDecimal y CustomStyleNumberInteger, todas cadenas anulables.

new ExcelConfig() establece SplitWorksheets a false; abrir un archivo Excel sin una configuración explícita usa el catálogo de formatos, que lo establece a true.

ConfiguraciónPpt

Formatos: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueRenderizado nativo de diapositiva; false usa la redirección PDF.
boolFastLoadfalseEvitar renderizar la primera diapositiva al abrir; usar metadatos y renderizar bajo demanda.
PdfConfigPdfConfignueva instanciaConfiguración para el comportamiento PDF/búsqueda.
stringFontInfo""Información de sustitución de fuentes.
string[]?FontFoldersnullDirectorios de fuentes adicionales.
boolAllowSearchfalseDelegado a PdfConfig.AllowSearch.
boolAllowCopyfalseDelegado a PdfConfig.AllowCopy.

En Linux y macOS, el renderizado de presentaciones con el motor actual requiere libgdiplus y System.Drawing.EnableUnixSupport=true. Instale las fuentes usadas por la presentación o proporcione FontFolders.

ConfiguraciónCad

Formatos: DWG, DXF, DGN. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueRenderizado nativo CAD; false usa la redirección PDF.
PdfConfigPdfConfignueva instanciaConfiguración de ruta PDF.
boolExportPdfAfalseSalida PDF/A de archivo.
boolShowColortrueColor en lugar de monocromo.
boolWhiteBackgroundtrueFondo blanco en lugar de negro.
shortLineWidth25Ancho de trazo CAD.
boolShowLayoutsfalseRenderizar pestañas de diseño.
boolShowModeltrueRenderizar espacio de modelo.
boolCheck3DSolidtrueProcesar sólidos 3D.
boolExportAllLayoutsfalseExportar todos los diseños, sobrescribiendo la selección modelo/diseño.
boolLimitMinimumSizefalseAplicar MinimumSize.
intMinimumSize700Tamaño mínimo de salida en píxeles.
boolLimitMaximumSizefalseAplicar MaximumSize.
intMaximumSize700Tamaño máximo de salida en píxeles.
boolShowAllLayoutsDgnfalseIncluir todos los diseños DGN.
boolAutomaticLayoutScalingtrueEscalar automáticamente los diseños.
floatPdfMargins0.5Margen PDF en pulgadas.
RenderQualityQualityImageLowCalidad de trama: Low, Medium o High.
RenderQualityQualityTextMediumCalidad de texto: Low, Medium o High.

Configuración de correo electrónico

Formatos: EML, EMLX, MSG. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueRenderizado nativo de correo electrónico; false usa la redirección PDF.
PdfConfigPdfConfignueva instanciaConfiguración de ruta PDF.
Encoding?EmailEncodingnullSobrescribir la codificación del mensaje.
Encoding?SubjectEncodingnullSobrescribir la codificación del asunto.
Encoding?BodyEncodingnullSobrescribir la codificación del cuerpo.
boolSkipExternalImagesfalseNo cargar imágenes referenciadas remotamente. Recomendado para correo no confiable.
boolRemoveLastWhitePagefalseEliminar una página en blanco final.
boolUseAntiAliasingfalseHabilitar antialiasing.
boolUseHighQualityRenderingfalsePreferir renderizado más limpio y más lento.
TimeSpan?TimeZoneOffsetnullSobrescribir la zona horaria usada para fechas.
boolForcePageSizefalseForzar dimensiones de página fijas.

Configuración de Imagen, Configuración Tiff y Configuración Psd

ImageConfig cubre JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF y SVG. Su DPI predeterminado es 100.

ConfiguraciónPropiedadPredeterminadoComportamiento
ImageConfigMaxImagePixelSize3000Ancho/alto máximo. 0 significa ilimitado; los valores distintos de cero por debajo de 50 se ignoran.
ImageConfigTransparentPngtruePreservar la transparencia PNG; false usa un fondo blanco.
TiffConfigsin propiedades adicionalesDPI 200Usa solo BaseConfig; soporta TIFF multipágina.
PsdConfigMaxImagePixelSize3000Misma validación 0/mínimo-50 que ImageConfig; el DPI predeterminado es 100.

Configuración DICOM

Formatos: DCM, IMA. DPI efectivo predeterminado: 100. Requiere el complemento DICOM.

TipoPropiedadPredeterminadoComportamiento
intHorizontalResolution100 efectivoDPI horizontal explícito; de lo contrario ImageResolution, luego 100.
intVerticalResolution100 efectivoDPI vertical explícito; de lo contrario ImageResolution, luego 100.
intAnimationFrameDelayMs100Retardo de animación multiframe; el temporizador GIF usa unidades de 10 ms.
ushortLoopCount00 se repite indefinidamente; los valores positivos se detienen después de ese recuento.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly, o vista combinada más fotogramas estáticos.

Configuración de Texto

Formato: TXT. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
DocPaperSizePaperSizeA4Tamaño de papel de salida.
Encoding?FileEncodingnullnull usa UTF-8.
stringFontInformation""Información de fuente para renderizado de texto.

Utilice WordConfig cuando el texto plano necesite un comportamiento de diseño de página más rico.

Configuración de Proyecto

Formatos: MPP, MPPX, MPX. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueImagen Gantt nativa; false usa una ruta PDF basada en texto.
PdfConfigPdfConfignueva instanciaConfiguración de ruta PDF.
boolExportPdfAtrueSalida PDF/A de archivo.
MppPaperSizePaperSizeLedgerTamaño de papel de salida del proyecto.
MppTimeScaleTimeScaleMonthsDays o Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet, o TaskSheet.

Para búsqueda exacta de coordenadas de texto, use DefaultRender = false.

Configuración Visio

Formatos: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI predeterminado: 200.

TipoPropiedadPredeterminadoComportamiento
boolDefaultRendertrueRenderizado nativo de diagramas; false usa la redirección PDF.
PdfConfigPdfConfignueva instanciaConfiguración de ruta PDF.
boolExportPdfAtrueSalida PDF/A de archivo.

Configuración HTML, Configuración Epub, Configuración MHT y Configuración XPS

Los cuatro por defecto a DPI 200 y exponen un PdfConfig anidado.

ConfiguraciónFormatosDefaultRenderPropiedades/comportamiento adicionales
HtmlConfigHTML, HTMtrueRenderizado nativo; use false para una ruta de búsqueda PDF basada en texto.
EpubConfigEPUBtrueRenderizado nativo; false usa PDF.
MhtConfigMHT, MHTMLtrue en la clase; false en el catálogo automáticoLa apertura normal sin configuración usa la redirección PDF buscable. Una instancia predeterminada construida explícitamente se renderiza de forma nativa.
XpsConfigXPSfalseUsa la ruta PDF por defecto; establezca true para renderizado de imagen nativo.

Ejemplos de configuración por familia

csharp
BaseConfig[] configs =
[
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = ["/usr/share/fonts/truetype"],
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = ["/usr/share/fonts/truetype"],
        AllowSearch = true
    },
    new CadConfig
    {
        ShowColor = true,
        WhiteBackground = true,
        ShowModel = true,
        ShowLayouts = false,
        QualityText = CadConfig.RenderQuality.High
    },
    new EmailConfig
    {
        SkipExternalImages = true,
        RemoveLastWhitePage = true,
        TimeZoneOffset = TimeSpan.Zero
    },
    new ImageConfig
    {
        MaxImagePixelSize = 3000,
        TransparentPng = true
    },
    new DicomConfig
    {
        DisplayMode = DicomDisplayMode.AnimationAndFrames,
        AnimationFrameDelayMs = 100,
        LoopCount = 0
    }
];

Selección por extensión

csharp
static BaseConfig? ConfigForExtension(string extUpper) => extUpper switch
{
    ".DOC" or ".DOCX" or ".DOT" or ".DOTX" or ".ODT" => new WordConfig
    {
        AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
        PaperSize = DocPaperSize.Tabloid,
        PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
    },
    ".PDF" => new PdfConfig { AllowSearch = true, AllowCopy = true },
    ".XLS" or ".XLSX" or ".ODS" or ".CSV" => new ExcelConfig { AllowSearch = true, AllowCopy = true },
    ".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },
    // DefaultRender = false → redirección PDF → búsqueda de texto nativa con precisión de píxel
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // revertir a la configuración predeterminada del formato
};

¿Fue útil esta página?