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"
The MagickWand API is the recommended interface between the C programming language and the ImageMagick image processing libraries. Unlike the MagickCore C API, MagickWand uses only a few opaque types. Accessors are available to set or get important wand properties.
ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you may use, copy, modify, and distribute in both open and proprietary applications. It is distributed under a derived Apache 2.0 license.
ImageMagick, invoked from the command line as magick , is a free and open-source cross-platform software suite for displaying, creating, converting, modifying, and editing raster images. Created in 1987 by John Cristy, it can read and write over 200 image file formats.
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:
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);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With