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
LayoutNamesestá establecido,LayoutScopese 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
InvalidLoadOptionsExceptionen 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
LayoutScopeaCadLayoutScope.ModeloCadLayoutScope.Layoutsrespectivamente. - Si antes intentabas filtrar diseños proporcionando una matriz
LayoutNamesvacía, reemplaza ese patrón con un valor apropiado deLayoutScopepara 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.