Frage

Es fällt mir schwer, CDR -Dateien mit C#.NET in JPGs für Vorschau zu konvertieren. Jemand hat mir gesagt, dass CDR -Dateien Bitmap eingebettet haben. Gibt es eine einfache Möglichkeit, sie zu extrahieren?

Im Moment führe ich eine wirklich schlechte Lösung aus, von meiner Anwendung, aufgerufene Uniconvertor, um in SVG konvertieren und dann die SVG -Datei mithilfe von Imagemagick in JPG konvertieren. Gibt es einen besseren Weg, dies zu tun?

War es hilfreich?

Lösung 2

Am Ende habe ich gerade COM Interop verwendet, um die Bilder zu exportieren, Coreldraw zu installieren und die CorelDraw 15.0 -Bibliothek zu verweisen, immer noch nicht die beste Lösung, aber besser als die, die ich benutzte

Andere Tipps

Sie müssen die Typbibliothek aus CorelDraw kopieren: C:\Program Files (x86)\Corel\CorelDRAW Graphics Suite 13\Programs\CorelDraw.tlb in dein /bin Ordner und erstellen Sie einen Verweis darauf. Sobald Sie dies getan haben, sollten Sie in der Lage sein, .cdr -Dateien in viele verschiedene Formate zu exportieren. Der folgende Beispielcode konvertiert .cdr in .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)
            {

            }
        }
    }


Dieser Code würde den .cdr in .pdf konvertieren:




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();
    }


Ich weiß, dass die CDR -Dateiformatspezifikation und SDK über Corel Technology Program durchschnittlich sind http://www.corel.com/servlet/satellite/us/en/content/1152796559574

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top