La conversion de PDF vers des images à l'aide de ImageMagick.NET - comment régler le DPI
Je suis en train de convertir des fichiers pdf en images.
ImageMagick est un excellent outil, et à l'aide de l'outil de ligne de commande me met résultat souhaité.
mais j'ai besoin de faire cela dans mon code,
Afin d'y ajouter une référence à http://imagemagick.codeplex.com/
Et l'exemple de code suivant effectue le rendu de chaque page du fichier pdf en tant qu'image:
MagickNet.InitializeMagick();
using (ImageList im = new ImageList())
{
im.ReadImages(@"E:\Test\" + fileName + ".pdf");
int count = 0;
foreach (Image image in im)
{
image.Quality = 100;
image.CompressType = mageMagickNET.CompressionType.LosslessJPEGCompression;
image.Write(@"E:\Test\" + fileName + "-" + count.ToString() + ".jpg");
++count;
}
}
Le problème: IL RESSEMBLE à de la MERDE
le rendu de l'image est à peine lisible.
le problème que j'ai réalisé, c'est qu'il utilise la valeur par défaut de 72 DPI de ImageMagick.
et je ne peux pas trouver un moyen de le régler(96 ppp ou 120 ppp donne de bons résultats) via la .Net wrapper.
Suis-je raté quelque chose , ou il n'y a vraiment aucun moyen de le régler via le wrapper?
Grâce
o2sol.com/pdfview4net/overview.htm
OriginalL'auteur Avi Pinto | 2010-05-26
Vous devez vous connecter pour publier un commentaire.
J'ai eu un bref coup d'oeil dans cette.
La
Image.Resolution
propriété peut être utilisée pour définir le rendu PDF résolution, mais cette propriété n'est pas exposée par l'ImageMagick.NET wrapper.L'ajout de l'objet manquant à l'Image de la classe est assez simple.
Malheureusement, il semble que un bug nous empêche de réglage de la qualité de rendu tout en parcourant les pages de PDF que vous tentez de faire.
Une autre option serait d'ouvrir chaque page séparément:
Si le numéro de page est hors de portée, vous obtenez un raw des exceptions C++. Alors que vous pouvez l'attraper en C# l'emballage doit probablement inclure une .NET classe d'exception pour représenter ImageMagick erreurs.
Ne pouvais pas trouver une archive source de ImageMagick.NET sur Codeplex. J'ai eu à la caisse le code de contrôle de code source... Dans le cas où vous êtes toujours à la recherche de solutions alternatives, je vous suggère d'envisager à l'aide de la Ghostscript ou Poppler de la bibliothèque directement. Ce sont les deux répandue opensource PDF bibliothèques de rendu. Vous ne savez pas si bon .NET wrappers sont disponibles.
OriginalL'auteur Alex Jasmin
Définir la densité dans MagickReadSettings avant de vous lire.
OriginalL'auteur XLR8