C# 使用.net转换cdr(Corel Draw)

C# 使用.net转换cdr(Corel Draw),c#,.net,coreldraw,C#,.net,Coreldraw,我很难用c#net将cdr文件转换为JPG进行预览。有人告诉我cdr文件中嵌入了位图,有没有一种简单的方法来提取它 现在我正在运行一个非常糟糕的解决方案,从我的应用程序中调用uniconvertor转换为svg,然后使用imagemagick将svg文件转换为jpg。有更好的方法吗?我知道CDR文件格式规范和SDK可以通过Corel Technology programm获得最后我只是使用com interop导出图像,不得不安装coreldraw并引用coreldraw 15.0类型库,仍然不

我很难用c#net将cdr文件转换为JPG进行预览。有人告诉我cdr文件中嵌入了位图,有没有一种简单的方法来提取它


现在我正在运行一个非常糟糕的解决方案,从我的应用程序中调用uniconvertor转换为svg,然后使用imagemagick将svg文件转换为jpg。有更好的方法吗?

我知道CDR文件格式规范和SDK可以通过Corel Technology programm获得

最后我只是使用com interop导出图像,不得不安装coreldraw并引用coreldraw 15.0类型库,仍然不是最好的解决方案,但比我使用的更好。您需要将corelDRAW:
C:\Program Files(x86)\Corel\corelDRAW Graphics Suite 13\Programs\corelDRAW.tlb
中的类型库复制到您的
/bin
文件夹中,并创建对它的引用。完成此操作后,您应该能够将.CDR文件导出为多种不同的格式。下面的示例代码将.cdr转换为.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)
            {

            }
        }
    }

此代码将.cdr转换为.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();
    }


我真的不想从头开始开发一些东西,我只需要从cdr文件中获取一个缩略图,上面的解决方案很有效,但它远不是一个好的解决方案。我不能使用.Net转换你的
cdr
,但我想我可以转换你的
汽车
。我以前使用过.convert,但这引发了一个异常