yohan.jayarathna
yohan.jayarathna

Reputation: 3453

how to use imageMagick with C#

Could you explain how I can use ImageMagick with C# . I am trying to convert PDF to pages into images.

I want to run imageMagick command "convert -density 300 $input.pdf $output.png"

Upvotes: 7

Views: 19840

Answers (3)

Sujit Singh
Sujit Singh

Reputation: 831

Magic.Net is a C# port for popular library ImageMagick. Install Magick.Net using Nuget package from url https://www.nuget.org/packages/Magick.NET-Q16-AnyCPU/ . Note that there are many versions of Magick.Net so select as per your need. This way you can use C#. See code below

Note it will append images vertically. Similarly you can append horizontally.

using ImageMagick;

string inputPdf= @"C:\my docs\input.pdf";
string outputPng= @"C:\my docs\output.png";

using (MagickImageCollection images = new MagickImageCollection())
{
    images.Read(inputPdf);
    using (IMagickImage vertical = images.AppendVertically())
        {
            vertical.Format = MagickFormat.Png;
            vertical.Density = new Density(300);  
            vertical.Write(outputPng);
        }
}

Upvotes: 9

AVEbrahimi
AVEbrahimi

Reputation: 19164

It's better to use Magick.NET, no need to install ImageMagick on clients: http://magick.codeplex.com/

Upvotes: 4

jgauffin
jgauffin

Reputation: 101150

string arguments = string.Format(@"-density 300 {0}.pdf {1}.png", intputFileName, outputFileName");
var startInfo = new ProcessStartInfo {
    Arguments = arguments,
    Filename = @"C:\path\to\imagick\convert.exe"
};
Process.Start(startInfo).WaitForExit();

References:

Upvotes: 8

Related Questions