Je voudrais convertir un fichier PDF en .GIF en utilisant C # et magicknet.dll. J’ai ajouté la référence à la DLL MagickNet à mon projet.
MagickNet.Magick.Init(); MagickNet.Image img = new MagickNet.Image("d:/aa.pdf"); img.Write("d:/bb.gif"); MagickNet.Magick.Term(); img.Dispose();
System.Runtime.InteropServices.SEHException non gérée par le code utilisateur Message = "Le composant externe a généré une exception." Source = "ImageMagickNET" ErrorCode = -2147467259 Trace de la stack: à Magick.Image. {ctor} (Image *, chaîne_base \, std :: allocator> *) à ImageMagickNET.Image..ctor (Ssortingng imageSpec) à Test1._Default.Button1_Click (Expéditeur d'object, EventArgs e) dans C: \ Utilisateurs \ PANKAJ \ Documents \ Visual Studio 2008 \ Projets \ Test1 \ Test1 \ Default.aspx.cs: ligne 31 sur System.Web.UI.WebControls.Button.OnClick (EventArgs e) sur System.Web.UI.WebControls.Button.RaisePostBackEvent (Ssortingng eventArgument) sur System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (Ssortingng eventArgument) sur System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, Ssortingng eventArgument) sur System.Web.UI.Page.RaisePostBackEvent (NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) InnerException:
ImageMagick nécessite GhostScript pour interpréter les fichiers PDF. Si vous le souhaitez, vous pouvez appeler directement la dll GhostScript (contactez-moi via mon profil, je vous enverrai un wrapper)
Vous pouvez également utiliser la ligne de commande GhostScript ou un composant tiers commercial, par exemple les bibliothèques PDF de Tall Components.
Magic.Net est un port C # pour la bibliothèque populaire ImageMagick. Installez Magick.net en utilisant le paquet Nuget à partir de l’URL https://www.nuget.org/packages/Magick.NET-Q16-AnyCPU/ . De cette façon, vous pouvez utiliser C #. Voir le code ci-dessous
Notez qu’il appenda des images verticalement. De même, vous pouvez append horizontalement, c’est-à-dire substituer des images
using ImageMagick; ssortingng inputPdf= @"C:\my docs\input.pdf"; ssortingng 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); } }