[英]Unable to convert PDF to any Image format in C# With Imagemagick
這是我在這里的第一個問題所以請不要對我嚴厲:)無論如何,讓我們做對了:
對於應用程序,我需要將PDF文件轉換為圖像文件(特定格式無關緊要,但最好是png或jpg)。 為了完成這個,我嘗試使用ImageMagick但是當我嘗試轉換任何東西時,它會拋出一個錯誤。 現在經過一些研究后我得出結論我需要安裝Ghostscript,我試圖從Visual Studio 2017中集成的NuGet包管理器中獲取。無論如何,當我嘗試安裝所述包時,它會拋出以下錯誤:
嚴重級代碼說明項目文件行抑制>狀態錯誤無法添加對“gsdll32”的引用。 請確保該文件是可訪問的,並且它是有效的>程序集或COM組件。
我正在嘗試使用帶有C#的Visual Studio 2017來實現這一目標。 我正在使用的API是: +Magick.NET-Q16-AnyCPU V7.11.1
+GhostScriptSharp V1.3.1.4
+Ghostscript V9.2.0 (Throws error)
如果需要了解我在嘗試什么,這是我正在嘗試編譯的代碼:
using ImageMagick.Configuration;
using ImageMagick.Defines;
using ImageMagick.ImageOptimizers;
using ImageMagick;
using GhostscriptSharp;
using GhostscriptSharp.Settings;
public MagickImageCollection PDFOutput;
public Image Current;
public org.pdfclown.documents.Page CurrentPage;
private void BtnConvert_Click(object sender, EventArgs e)
{
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
ImageMagick.MagickNET.Initialize();
MagickReadSettings Settings = new MagickReadSettings();
Settings.Density = new Density(300, 300);
Settings.Format = MagickFormat.Jpg;
using (MagickImageCollection Images = new MagickImageCollection())
{
Images.Add(openFileDialog1.FileName);
int Page = 1;
int i = 0;
foreach(MagickImage Image in Images)
{
Image.Write("FilePage #" + Page);
PDFOutput[i] = Image;
Page++;
i++;
}
MessageBox.Show(PDFOutput.Count.ToString());
}
}
catch(Exception E)
{
MessageBox.Show(E.Message);
}
我錯過了有關GhostScipt安裝的內容嗎? 它是否僅在直接從GhostScript網站下載時才有效?
我希望我已經為我的問題提供了足夠的背景,我期待着我可能得到的任何答案。
提前謝謝了!!
親切的問候,梅爾文
是的GhostScript以這種方式獲得許可,人們不會將其包含在包裝器/ nugets中。 你需要確保你有dll。
您通常必須下載它( gsdll32.dll
),將其添加到項目並將其輸出到您的輸出路徑(或任何類似的,如安裝它),以便您的應用程序可以找到gsdll32.dll
並加載它。
另請注意,您還需要適當的位數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.