Convierta CDR (Draw Corel) usando .NET
Pregunta
Estoy teniendo dificultades para convertir los archivos CDR en JPGS para vistas previas usando C#.NET. Alguien me dijo que los archivos CDR tienen mapa de bits incrustado, ¿hay una manera fácil de extraerlo?
En este momento estoy ejecutando una solución realmente mala de, desde mi aplicación, llamar a UniConvertor para convertir a SVG, luego convertir el archivo SVG a JPG usando ImageMagick. ¿Hay una mejor manera de hacer esto?
Solución 2
Al final, acabo de usar COM Intop para exportar las imágenes, tuve que instalar CorelDraw y hacer referencia a la biblioteca de tipo CorelDraw 15.0, aún no la mejor solución, pero mejor que la que estaba usando
Otros consejos
Deberá copiar la biblioteca de tipos de CorelDraw: C:\Program Files (x86)\Corel\CorelDRAW Graphics Suite 13\Programs\CorelDraw.tlb
en tu /bin
carpeta y crear una referencia a ella. Una vez que haya hecho esto, debería poder exportar archivos .CDR a muchos formatos diferentes. El código de muestra a continuación convierte .CDR a .png.
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CorelDRAW;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
CorelDRAW.Application cdr =
new Application();
cdr.OpenDocument(@"C:\Users\user\Desktop\500074.cdr", 1);
cdr.ActiveDocument.ExportBitmap(
@"C:\Users\user\Desktop\newImage.png",
CorelDRAW.cdrFilter.cdrPNG,
CorelDRAW.cdrExportRange.cdrCurrentPage,
CorelDRAW.cdrImageType.cdrRGBColorImage,
0, 0, 72, 72,
CorelDRAW.cdrAntiAliasingType.cdrNoAntiAliasing,
false,
true,
true,
false,
CorelDRAW.cdrCompressionType.cdrCompressionNone,
null).Finish();
cdr.ActiveDocument.Close();
cdr.Quit();
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
Este código convertiría el .cdr a .pdf:
protected void Button2_Click(object sender, EventArgs e)
{
CorelDRAW.Application cdr =
new Application();
cdr.OpenDocument(@"C:\Users\user\Desktop\500074.cdr", 1);
cdr.ActiveDocument.PublishToPDF(@"C:\Users\user\Desktop\NewImage.pdf");
cdr.ActiveDocument.Close();
cdr.Quit();
}
Sé que la especificación de formato de archivo CDR y SDK son avalables a través de Corel Technology Programm http://www.corel.com/servlet/satellite/us/en/content/1152796559574