Configuraciones de Formato
Opciones completas de renderizado por formato
Cada documento se abre con una implementación de BaseConfig. Pase una a OpenDocumentAsync o permita que el catálogo de formatos cree su valor predeterminado. Todas las clases a continuación pertenecen al espacio de nombres Doconut.
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 de BaseConfig. Los formatos que pueden redirigirse 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 nativo del formato. En los formatos con una redirección a PDF, false convierte primero a un PDF en memoria y luego utiliza el visor de 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 automático de formatos sobrescribe deliberadamente dos de ellos: crea ExcelConfig con SplitWorksheets = true, y MhtConfig con DefaultRender = false.
BaseConfig
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
int | ImageResolution | 0 | 0 usa el valor predeterminado del formato. El rango explícito válido es 25-300 DPI; las asignaciones inválidas se ignoran. |
string | DocumentCulture | "" | Configuración regional para fechas y números. Los valores no vacíos se recortan; las asignaciones en blanco se ignoran. |
string | Password | "" | Contraseña del documento protegido. DocOptions.Password se copia aquí automáticamente. |
bool | ShowUI | true | Propiedad de compatibilidad; el renderizador actual no la usa para controlar la barra de herramientas del navegador. |
bool | CachePages | true | Almacena en caché las imágenes de página renderizadas para la sesión del documento. |
PdfConfig
Formatos: PDF. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Interruptor de compatibilidad. La fábrica actual usa el visor PDF nativo. |
bool | AllowSearch | false | Construir/utilizar el índice de búsqueda de texto PDF. Requiere la capacidad de licencia Search para las solicitudes. |
bool | AllowCopy | false | Permitir operaciones de selección/copia de texto. |
bool | ExtractHyperlinks | false | Extraer rectángulos de enlaces para superposiciones del cliente. |
int | HyperlinksPageCount | 0 | Número máximo de páginas escaneadas en busca de enlaces; 0 significa todas las páginas. |
bool | CompressImages | false | Comprimir imágenes incrustadas antes de renderizar. |
int | CompressQuality | 100 | Calidad JPEG utilizada cuando la compresión está habilitada. |
bool | ResizeImages | false | Redimensionar imágenes incrustadas antes de renderizar. |
int | ResizeResolution | 300 | DPI objetivo para imágenes redimensionadas. |
bool | CompressFast | false | Preferir la ruta de compresión más rápida y de menor calidad. |
bool | FixInvalidImages | false | Intentar reparar imágenes incrustadas inválidas. |
bool | SplitSegments | false | Reunir 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.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de Word; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones usadas por la ruta PDF/búsqueda. |
DocPaperSize | PaperSize | A4 | Tamaño de papel de salida. Use Custom con ancho/alto. |
int | PaperWidth | 595 | Ancho personalizado en puntos. |
int | PaperHeight | 841 | Altura personalizada en puntos. |
bool | RemovePaperMargin | false | Eliminar los márgenes de página del documento. |
bool | RenderPageColor | true | Preservar el color de página configurado por Word; false renderiza páginas blancas. |
bool | ExportPdfA | false | Usar PDF/A de archivo en la ruta PDF. |
Encoding? | FileEncoding | null | Sobrescribir la codificación de origen. |
string | FontInfo | "" | Información de sustitución de fuentes. |
string[]? | FontFolders | null | Directorios de fuentes adicionales, especialmente útiles en Linux/contenedores. |
bool | AllowSearch | false | Delegado a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegado a PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents o AutoFitToWindow. |
ExcelConfig
Formatos: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de hoja; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones para la ruta PDF/búsqueda. |
ExcelPaperSize | PaperSize | PaperA4 | Tamaño de papel de salida. |
double | PaperMargins | 0.25 | Márgenes de página en pulgadas. |
bool | PaperLandscape | true | Renderizado de hoja en orientación horizontal. |
bool | AutoFitContents | false | Ajuste automático de alturas de filas y anchuras de columnas. |
bool | RemoveEmptyContent | true | Ajustar la salida excluyendo contenido vacío. |
bool | CalculateFormula | true | Recalcular fórmulas antes de renderizar. |
bool | ShowRowColumnHeaders | true | Incluir encabezados de hoja de cálculo. |
bool | ExportPdfA | false | Usar PDF/A en la ruta PDF. |
bool | SplitWorksheets | false | Mantener hojas de cálculo como grupos de páginas separados. |
bool | ShowEmptyWorkSheets | false | Incluir hojas de cálculo vacías. |
bool | ExportLandscape | false | Forzar exportación en orientación horizontal. |
bool | ExportOnePagePerSheet | false | Ajustar cada hoja de cálculo a una página de salida. |
bool | MemoryOptimizationPreference | true | Reducir la memoria máxima, potencialmente a costa de algo de velocidad. |
bool | AutoTrimWorksheetRenderRange | true | Renderizar solo el rango usado visible cuando no existe un área de impresión explícita. |
bool | AutoTrimPreserveExistingPrintArea | true | Preservar áreas de impresión definidas en el libro durante el auto recorte. |
string? | PrintArea | null | Rango explícito como "A1:Z100". |
bool | PrintGridlines | false | Imprimir líneas de cuadrícula de la hoja. |
bool | PrintHeadings | false | Imprimir encabezados de filas/columnas. |
List<string> | SheetNames | empty | Restringir el renderizado a hojas de cálculo con nombre. |
CustomStyleCell? | CustomStyles | null | Sobrescrituras opcionales de formato de fecha/decimal/entero. |
bool | AllowSearch | false | Delegado a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegado a PdfConfig.AllowCopy. |
CustomStyleCell expone CustomStyleDateTime, CustomStyleNumberDecimal y CustomStyleNumberInteger, todas cadenas anulables.
new ExcelConfig() establece SplitWorksheets en false; abrir un archivo Excel sin una configuración explícita usa el catálogo de formatos, que lo establece en true.
PptConfig
Formatos: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de diapositiva; false usa la redirección a PDF. |
bool | FastLoad | false | Evitar renderizar la primera diapositiva al abrir; usar metadatos y renderizar bajo demanda. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones para el comportamiento PDF/búsqueda. |
string | FontInfo | "" | Información de sustitución de fuentes. |
string[]? | FontFolders | null | Directorios de fuentes adicionales. |
bool | AllowSearch | false | Delegado a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegado 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.
CadConfig
Formatos: DWG, DXF, DGN. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo CAD; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones de la ruta PDF. |
bool | ExportPdfA | false | Salida PDF/A de archivo. |
bool | ShowColor | true | Color en lugar de monocromo. |
bool | WhiteBackground | true | Blanco en lugar de fondo negro. |
short | LineWidth | 25 | Ancho de trazo CAD. |
bool | ShowLayouts | false | Renderizar pestañas de diseño. |
bool | ShowModel | true | Renderizar espacio de modelo. |
bool | Check3DSolid | true | Procesar sólidos 3D. |
bool | ExportAllLayouts | false | Exportar todos los diseños, sobrescribiendo la selección de modelo/diseño. |
bool | LimitMinimumSize | false | Aplicar MinimumSize. |
int | MinimumSize | 700 | Tamaño mínimo de salida en píxeles. |
bool | LimitMaximumSize | false | Aplicar MaximumSize. |
int | MaximumSize | 700 | Tamaño máximo de salida en píxeles. |
bool | ShowAllLayoutsDgn | false | Incluir todos los diseños DGN. |
bool | AutomaticLayoutScaling | true | Escalar diseños automáticamente. |
float | PdfMargins | 0.5 | Margen PDF en pulgadas. |
RenderQuality | QualityImage | Low | Calidad de raster: Low, Medium o High. |
RenderQuality | QualityText | Medium | Calidad de texto: Low, Medium o High. |
EmailConfig
Formatos: EML, EMLX, MSG. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de correo electrónico; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones de la ruta PDF. |
Encoding? | EmailEncoding | null | Sobrescribir la codificación del mensaje. |
Encoding? | SubjectEncoding | null | Sobrescribir la codificación del asunto. |
Encoding? | BodyEncoding | null | Sobrescribir la codificación del cuerpo. |
bool | SkipExternalImages | false | No cargar imágenes referenciadas remotamente. Recomendado para correos no confiables. |
bool | RemoveLastWhitePage | false | Eliminar una página en blanco final. |
bool | UseAntiAliasing | false | Habilitar antialiasing. |
bool | UseHighQualityRendering | false | Preferir renderizado más limpio y lento. |
TimeSpan? | TimeZoneOffset | null | Sobrescribir la zona horaria usada para fechas. |
bool | ForcePageSize | false | Forzar dimensiones de página fijas. |
ImageConfig, TiffConfig y PsdConfig
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ón | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Ancho/alto máximo. 0 significa ilimitado; los valores distintos de cero por debajo de 50 se ignoran. |
ImageConfig | TransparentPng | true | Preservar la transparencia PNG; false usa un fondo blanco. |
TiffConfig | sin propiedades adicionales | DPI 200 | Usa solo BaseConfig; soporta TIFF multipágina. |
PsdConfig | MaxImagePixelSize | 3000 | Misma validación 0/mínimo-50 que ImageConfig; DPI predeterminado es 100. |
DicomConfig
Formatos: DCM, IMA. DPI efectivo predeterminado: 100. Requiere el plugin DICOM.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
int | HorizontalResolution | 100 effective | DPI horizontal explícito; de lo contrario ImageResolution, luego 100. |
int | VerticalResolution | 100 effective | DPI vertical explícito; de lo contrario ImageResolution, luego 100. |
int | AnimationFrameDelayMs | 100 | Retardo de fotogramas de animación multiframe; el temporizador GIF usa unidades de 10 ms. |
ushort | LoopCount | 0 | 0 bucle infinito; los valores positivos se detienen después de ese recuento. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly o vista combinada más fotogramas estáticos. |
TxtConfig
Formato: TXT. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Tamaño de papel de salida. |
Encoding? | FileEncoding | null | null usa UTF-8. |
string | FontInformation | "" | Información de fuente para renderizado de texto. |
Use WordConfig cuando el texto plano necesita un comportamiento de diseño de página más rico.
ProjectConfig
Formatos: MPP, MPPX, MPX. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Imagen Gantt nativa; false usa una ruta PDF basada en texto. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones de la ruta PDF. |
bool | ExportPdfA | true | Salida PDF/A de archivo. |
MppPaperSize | PaperSize | Ledger | Tamaño de papel de salida del proyecto. |
MppTimeScale | TimeScale | Months | Days o Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet o TaskSheet. |
Para una búsqueda exacta por coordenadas de texto, use DefaultRender = false.
VisioConfig
Formatos: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de diagrama; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuraciones de la ruta PDF. |
bool | ExportPdfA | true | Salida PDF/A de archivo. |
HtmlConfig, EpubConfig, MhtConfig y XpsConfig
Los cuatro usan por defecto 200 DPI y exponen un PdfConfig anidado.
| Configuración | Formatos | DefaultRender | Propiedades/comportamiento adicionales |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Renderizado nativo; use false para una ruta de búsqueda PDF basada en texto. |
EpubConfig | EPUB | true | Renderizado nativo; false usa PDF. |
MhtConfig | MHT, MHTML | true en la clase; false en el catálogo automático | La apertura normal sin configuración usa la redirección PDF buscable. Una instancia predeterminada construida explícitamente renderiza de forma nativa. |
XpsConfig | XPS | false | Usa la ruta PDF por defecto; establezca true para renderizado nativo de imagen. |
Ejemplos de configuración por familia
BaseConfig[] configs =
{
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = new[] { "/usr/share/fonts/truetype" },
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = new[] { "/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
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 → PDF redirect → pixel-accurate native text search
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // fall back to the format's default config
};¿Fue útil esta página?