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?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top