Qué hay de nuevo en esta versión

Clave Categoría Resumen
CONVERSIONNET-8437 Funcionalidad Agregar el formato de archivo Drawio como destino de conversión para documentos de Diagrama
CONVERSIONNET-8442 Funcionalidad Agregar el formato de archivo Mermaid MMD como origen de conversión para documentos de Diagrama
CONVERSIONNET-8445 Funcionalidad Agregar CAB como destino de conversión para documentos de compresión
CONVERSIONNET-8459 Funcionalidad Agregar CadLayoutScope a CadLoadOptions para convertir espacio de modelo, diseños de papel o ambos
CONVERSIONNET-8464 Funcionalidad Agregar XAR como origen y destino de conversión para documentos de compresión
CONVERSIONNET-8460 Mejora Convertir cada diseño CAD a su propia diapositiva, hoja de cálculo, página de Word, imagen HTML/MHTML y región SVG
CONVERSIONNET-8461 Mejora Nombrar los diseños faltantes cuando una selección de diseño CAD no coincide con nada
CONVERSIONNET-8462 Mejora Informar que LoadOptions.Format no está establecido como ausente en lugar de lanzar una excepción
CONVERSIONNET-8361 Error Las formas DOCX con contornos se renderizan incorrectamente al convertir a PDF
CONVERSIONNET-8396 Error La conversión de archivo Presentation a PDF produce encabezados/pies de página inconsistentes
CONVERSIONNET-8399 Error La conversión de archivo Presentation con enlaces de resumen rotos genera GroupDocsConversionException
CONVERSIONNET-8426 Error Conversión de archivo DWG a PDF según la configuración de orientación de hoja por página
CONVERSIONNET-8427 Error Corregir NullReferenceException al convertir dibujos CAD sin diseño activo
CONVERSIONNET-8428 Error Corregir conversión doble de unidades cuando se establece un tamaño de página explícito para conversiones CAD
CONVERSIONNET-8429 Error Corregir CAD a PDF/UA que ignora CadLoadOptions
CONVERSIONNET-8430 Error Corregir CadDocumentInfo que informa una sola página para documentos CAD con múltiples diseños
CONVERSIONNET-8444 Error Problema con la miniatura en entorno Linux para GroupDocs.Conversion
CONVERSIONNET-8467 Error EML a PDF: excepción de tipos de unidad incompatibles

Cambios en la API pública

⚠️ Cambios incompatibles hacia atrás – Las siguientes actualizaciones modifican el comportamiento público existente. Ajusta tu código en consecuencia para evitar errores en tiempo de ejecución.

1. LoadOptions.Format ahora devuelve null en lugar de lanzar una excepción cuando el formato no está establecido

Clases afectadas: los 28 load‑options tipados (por ejemplo, SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Qué cambió
Leer la propiedad Format antes de que se asigne un formato solía lanzar una excepción. Ahora devuelve null, lo que permite una simple verificación de nulo.

Ejemplo de migración

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // Nueva ruta de código – antes inalcanzable porque el getter lanzaba.
}

Recomendación
Reemplaza cualquier try/catch alrededor de loadOptions.Format con una verificación de nulo. No compares contra FileType.Unknown; la prueba correcta es == null.


2. Validación de coincidencia exacta para CadLoadOptions.LayoutNames con informe de error detallado

Clase afectada: CadLoadOptions

Qué cambió
LayoutNames ahora se comparan exactamente (sensible a mayúsculas) con los nombres de diseño del dibujo. Si ninguno coincide, la conversión falla con una InvalidLoadOptionsException que enumera los diseños disponibles y la solicitud no coincidente.

Ejemplo de migración

using GroupDocs.Conversion.Exceptions;

try
{
    using var converter = new Converter("drawing.dwg",
        ctx => new CadLoadOptions { LayoutNames = new[] { "layout1" } });
    converter.Convert("out.pdf", new PdfConvertOptions());
}
catch (InvalidLoadOptionsException ex)
{
    // Mensaje de ejemplo:
    // "No layout name in CadLoadOptions.LayoutNames matches this drawing, which carries
    //  Model, Layout1, Layout2. Requested: layout1. Names are matched exactly, so a name
    //  that differs only in case is a different name."
    Console.WriteLine(ex.Message);
}

Recomendación

  • Asegúrate de que los nombres de diseño estén escritos correctamente y coincidan con mayúsculas/minúsculas usadas en el dibujo fuente.
  • Cuando solo se requiere un subconjunto de diseños, proporciona los nombres exactos; las entradas que no coinciden se ignoran y los diseños coincidentes se renderizan.

3. Los dibujos CAD de varias hojas ahora generan una unidad de salida por hoja

Clases afectadas: Converter, PresentationConvertOptions, PdfConvertOptions

Qué cambió
Anteriormente, convertir un dibujo con varios diseños de espacio de papel producía una única imagen/diapositiva aplanada. Ahora la conversión crea unidades de salida separadas (diapositivas, páginas, etc.) para cada diseño, con el tamaño según la configuración de página del diseño. Converter.GetDocumentInfo().PagesCount refleja el número de unidades generadas.

Ejemplo de migración – conversión

using var converter = new Converter("multi-layout.dwg");

// Tres hojas dentro, tres diapositivas fuera – antes una diapositiva aplanada.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Ejemplo de migración – consulta del recuento de páginas

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Devuelve 3 para tres diseños

Recomendación

  • Ajusta el procesamiento posterior (p. ej., paginación de UI, nombrado de archivos) para manejar múltiples archivos/páginas de salida.
  • Para dibujos de una sola hoja el comportamiento sigue sin cambios.
  • La excepción es CAD → PDF/UA‑1, que aún genera una única página etiquetada.

4. Nueva propiedad CadLoadOptions.LayoutScope para controlar explícitamente qué espacios se convierten

Clase afectada: CadLoadOptions

Qué cambió
LayoutScope permite especificar si cargar Model, Layouts o Both (predeterminado).

  • Cuando LayoutNames está establecido, LayoutScope se ignora porque los nombres explícitos tienen prioridad.
  • Seleccionar un alcance que no produzca hojas para un dibujo que contiene al menos una hoja ahora lanza una InvalidLoadOptionsException en lugar de renderizar silenciosamente los espacios predeterminados.

Ejemplo de migración – convertir solo diseños de espacio de papel

using GroupDocs.Conversion;
using GroupDocs.Conversion.Options.Convert;
using GroupDocs.Conversion.Options.Load;

using var converter = new Converter("drawing.dwg",
    ctx => new CadLoadOptions { LayoutScope = CadLayoutScope.Layouts });
converter.Convert("layouts.pdf", new PdfConvertOptions());

Recomendación

  • El código existente que dependía de la elección implícita del backend sigue funcionando porque Both sigue siendo el predeterminado.
  • Para excluir el espacio de modelo o incluir solo él, establece LayoutScope a CadLayoutScope.Model o CadLayoutScope.Layouts respectivamente.
  • Si antes intentabas filtrar diseños proporcionando una matriz LayoutNames vacía, reemplaza ese patrón con un valor apropiado de LayoutScope para obtener un error claro cuando no se seleccionen hojas.

Nuevas funcionalidades

Control avanzado de diseños CAD: Selecciona diseños CAD específicos, convierte cada diseño a su propia diapositiva, hoja de cálculo, página, imagen o región SVG, y elige espacio de modelo, diseños de papel o ambos con CadLayoutScope. Esto brinda una salida precisa por diseño y respeta configuraciones específicas de hoja como orientación y tamaño de página.

Soporte ampliado de archivos comprimidos: Los formatos XAR y CAB ahora están disponibles tanto como origen como destino para documentos de compresión, permitiendo conversiones sin problemas hacia y desde estos tipos de archivo.

Interoperabilidad moderna de diagramas: Los archivos Mermaid MMD pueden usarse como fuentes de diagramas, y los archivos Drawio son compatibles como destinos de conversión, lo que permite una fácil integración de herramientas de diagramación contemporáneas en tus flujos de conversión.

Mejoras críticas de estabilidad: Se corrigieron fallos de conversión para EML → PDF, contornos de formas DOCX, encabezados/pies de presentación y enlaces de resumen rotos, generación de miniaturas en Linux y manejo de orientación de hojas DWG. Estas correcciones mejoran la fiabilidad en flujos de correo electrónico, oficina, presentaciones y CAD.

Ejemplo de código

using var converter = new Converter("multi-layout.dwg");

// Tres hojas dentro, tres diapositivas fuera – antes una diapositiva aplanada.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Cómo obtener la actualización

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 on NuGet

Descarga directa

No se proporcionan enlaces de descarga directa en las notas de la versión.

Resources