2011-02-01 58 views
3

IM(Corel繪製)。有人告訴我,cdr文件已嵌入位圖,有沒有簡單的方法來提取它?轉換CDR使用具有硬時間轉換CDR文件到JPG文件用於使用C#.NET預覽.NET

現在進出口運行的真的不好解決,從我的應用程序,調用uniconvertor轉換爲SVG,然後轉換SVG文件使用ImageMagick爲JPG。有一個更好的方法嗎?

+0

嗯,我不能將你的`cdr`使用。NET,但我想我可以把你`car`。 – Amy 2011-02-01 20:54:24

回答

2

在最後,我只是用COM互操作導出圖像,必須安裝CorelDRAW中和引用的CorelDRAW 15.0類型庫,仍不是最好的解決方案,但更好的是我正在使用的那個

7

您需要將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) 
      { 

      } 
     } 
    } 

 

這段代碼的轉換文件Freehand爲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(); 
    } 

 
+0

我早先使用.Convert但這是拋出一個異常 – 2014-02-12 11:28:46