Преобразовать CDR (Corel Draw) с использованием .net

StackOverflow https://stackoverflow.com/questions/4864765

  •  28-10-2019
  •  | 
  •  

Вопрос

Мне трудно преобразовать файлы CDR в JPGS для предварительных просмотров с использованием c#.net. Кто -то сказал мне, что файлы CDR внедряют растровое изображение, есть ли простой способ его извлечь?

Прямо сейчас я запускаю действительно плохое решение, от моего приложения, призывающего Uniconvertor для преобразования в SVG, а затем преобразовать файл SVG в JPG с использованием ImageMagick. Есть лучший способ сделать это?

Это было полезно?

Решение 2

В конце я только что использовал 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 и SDK доступны в рамках программы Technology Corel Technology http://www.corel.com/servlet/satellite/us/en/content/1152796559574

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top