Configuraciones de Formato
Opciones completas de renderizado por formato
Cada documento se abre con una implementación de BaseConfig. Pase una a OpenDocumentAsync (o OpenDocument) 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 de formatos automático sobrescribe deliberadamente dos de ellos: crea ExcelConfig con SplitWorksheets = true y MhtConfig con DefaultRender = false.
BaseConfig
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
int | ImageResolution | 0 | 0 utiliza el valor predeterminado del formato. El rango explícito válido es 25-300 DPI; las asignaciones no vá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 | Construye/usa el índice de búsqueda de texto del PDF. Requiere la capacidad de licencia Search para las solicitudes. |
bool | AllowCopy | false | Permite operaciones de selección y copia de texto. |
bool | ExtractHyperlinks | false | Extrae los rectángulos de enlaces para superposiciones del cliente. |
int | HyperlinksPageCount | 0 | Máximo de páginas escaneadas en busca de enlaces; 0 significa todas las páginas. |
bool | CompressImages | false | Comprime imágenes incrustadas antes de renderizar. |
int | CompressQuality | 100 | Calidad JPEG usada cuando la compresión está habilitada. |
bool | ResizeImages | false | Redimensiona imágenes incrustadas antes de renderizar. |
int | ResizeResolution | 300 | DPI objetivo para imágenes redimensionadas. |
bool | CompressFast | false | Prefiere la ruta de compresión más rápida y de menor calidad. |
bool | FixInvalidImages | false | Intenta reparar imágenes incrustadas no válidas. |
bool | SplitSegments | false | Reune 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 en el servidor. Habilita 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 | new instance | 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 | Elimina los márgenes de página del documento. |
bool | RenderPageColor | true | Preserva el color de página configurado en Word; false renderiza páginas blancas. |
bool | ExportPdfA | false | Usa PDF/A de archivo en la ruta PDF. |
Encoding? | FileEncoding | null | Sobrescribe la codificación de origen. |
string | FontInfo | "" | Información de sustitución de fuentes. |
string[]? | FontFolders | null | Directorios de fuentes adicionales — útil en un servidor que carece de las fuentes que usan los documentos. |
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 | new instance | Configuración 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 | Ajusta la salida excluyendo contenido vacío. |
bool | CalculateFormula | true | Recalcula fórmulas antes del renderizado. |
bool | ShowRowColumnHeaders | true | Incluye encabezados de filas y columnas de la hoja. |
bool | ExportPdfA | false | Utiliza PDF/A en la ruta PDF. |
bool | SplitWorksheets | false | Mantiene las hojas como grupos de páginas separados. |
bool | ShowEmptyWorkSheets | false | Incluye hojas de cálculo vacías. |
bool | ExportLandscape | false | Fuerza la exportación en orientación horizontal. |
bool | ExportOnePagePerSheet | false | Ajusta cada hoja a una página de salida. |
bool | MemoryOptimizationPreference | true | Reduce la memoria máxima, potencialmente a costa de algo de velocidad. |
bool | AutoTrimWorksheetRenderRange | true | Renderiza solo el rango usado visible cuando no existe un área de impresión explícita. |
bool | AutoTrimPreserveExistingPrintArea | true | Preserva las áreas de impresión definidas en el libro durante el auto‑recorte. |
string? | PrintArea | null | Rango explícito como "A1:Z100". |
bool | PrintGridlines | false | Imprime las líneas de cuadrícula de la hoja. |
bool | PrintHeadings | false | Imprime los encabezados de filas/columnas. |
List<string> | SheetNames | empty | Restringe el renderizado a hojas con nombre. |
CustomStyleCell? | CustomStyles | null | Sobrescrituras opcionales de formato de fecha/decimal/entero. |
bool | AllowSearch | false | Se delega a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Se delega 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 | Evita renderizar la primera diapositiva al abrir; usa metadatos y renderiza bajo demanda. |
PdfConfig | PdfConfig | new instance | Configuración 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 | Se delega a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Se delega a PdfConfig.AllowCopy. |
Instale las fuentes que usan las presentaciones en el servidor, o apunte FontFolders a una carpeta que las contenga. Un Windows Server sin Office tiene muchas menos fuentes que una máquina de desarrollo, y las fuentes faltantes se sustituyen sin ningún error.
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 | new instance | Configuración de la ruta PDF. |
bool | ExportPdfA | false | Salida PDF/A de archivo. |
bool | ShowColor | true | Color en lugar de monocromo. |
bool | WhiteBackground | true | Fondo blanco en lugar de negro. |
short | LineWidth | 25 | Ancho de trazo CAD. |
bool | ShowLayouts | false | Renderiza pestañas de diseño. |
bool | ShowModel | true | Renderiza el espacio modelo. |
bool | Check3DSolid | true | Procesa sólidos 3D. |
bool | ExportAllLayouts | false | Exporta todos los diseños, sobrescribiendo la selección de modelo/diseño. |
bool | LimitMinimumSize | false | Aplica MinimumSize. |
int | MinimumSize | 700 | Tamaño mínimo de salida en píxeles. |
bool | LimitMaximumSize | false | Aplica MaximumSize. |
int | MaximumSize | 700 | Tamaño máximo de salida en píxeles. |
bool | ShowAllLayoutsDgn | false | Incluye todos los diseños DGN. |
bool | AutomaticLayoutScaling | true | Escala automáticamente los diseños. |
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. |
Configuración de Email
Formatos: EML, EMLX, MSG. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de correo; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuración de ruta PDF. |
Encoding? | EmailEncoding | null | Sobrescribe la codificación del mensaje. |
Encoding? | SubjectEncoding | null | Sobrescribe la codificación del asunto. |
Encoding? | BodyEncoding | null | Sobrescribe la codificación del cuerpo. |
bool | SkipExternalImages | false | No cargar imágenes referenciadas remotamente. Recomendado para correo no confiable. |
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 | Sobrescribe la zona horaria usada para fechas. |
bool | ForcePageSize | false | Forzar dimensiones de página fijas. |
Configuración de Imagen, Tiff y 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ón | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Tamaño máximo de píxel de imagen. 0 significa ilimitado; los valores distintos de cero menores a 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. |
Configuración Dicom
Formatos: DCM, IMA. DPI efectivo predeterminado: 100. Requiere el complemento DICOM. En este paquete los archivos DICOM se renderizan completamente, pero los metadatos técnicos no están disponibles — ver Complemento DICOM.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
int | HorizontalResolution | 100 (efectivo) | DPI horizontal explícito; si no, ImageResolution, luego 100. |
int | VerticalResolution | 100 (efectivo) | DPI vertical explícito; si no, 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 indefinidamente; valores positivos detienen después de ese recuento. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, o vista combinada más fotogramas estáticos. |
Configuración Txt
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.
Configuración de Proyecto
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 | Configuración de 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 búsqueda exacta por coordenadas de texto, use DefaultRender = false.
Configuración Visio
Formatos: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI predeterminado: 200.
| Tipo | Propiedad | Predeterminado | Comportamiento |
|---|---|---|---|
bool | DefaultRender | true | Renderizado nativo de diagramas; false usa la redirección a PDF. |
PdfConfig | PdfConfig | nueva instancia | Configuración de ruta PDF. |
bool | ExportPdfA | true | Salida PDF/A de archivo. |
Configuración Html, Epub, Mht y Xps
Los cuatro tienen 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[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
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)
{
switch (extUpper)
{
case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
return new WordConfig
{
AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
PaperSize = DocPaperSize.Tabloid,
PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
};
case ".PDF":
return new PdfConfig { AllowSearch = true, AllowCopy = true };
case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
return new ExcelConfig { AllowSearch = true, AllowCopy = true };
case ".DCM": case ".IMA":
return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
// DefaultRender = false → redirección PDF → búsqueda de texto nativa con precisión de píxel
case ".HTML": case ".HTM":
return new HtmlConfig { DefaultRender = false };
case ".EML": case ".EMLX": case ".MSG":
return new EmailConfig { DefaultRender = false };
default:
return null; // fall back to the format's default config
}
}¿Fue útil esta página?