1
Ghostscriptを使用してPDFを画像に変換するためにC#ラッパーを使用していますが、dllを正しく参照しているようです。C#でGhostscript DLLを参照するには
byte[] fileData = null;
using (var binaryReader = new BinaryReader(Request.Files[0].InputStream))
{
fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength);
}
string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
Ghostscript.NET.Rasterizer.GhostscriptRasterizer rasterizer = null;
Ghostscript.NET.GhostscriptVersionInfo vesion = new Ghostscript.NET.GhostscriptVersionInfo(new Version(0, 0, 0), path + @"\gsdll64.dll", string.Empty, Ghostscript.NET.GhostscriptLicense.GPL);
Stream inStream = new MemoryStream(fileData);
MemoryStream outStream = new MemoryStream();
List<Image> imageList = new List<Image>();
using (rasterizer = new Ghostscript.NET.Rasterizer.GhostscriptRasterizer())
{
rasterizer.Open(inStream, vesion, false);
for (int i = 1; i <= rasterizer.PageCount; i++)
{
//string pageFilePath = Path.Combine(outputPath, Path.GetFileNameWithoutExtension(file) + "-p" + i.ToString() + ".jpg");
int dpi = 200;
Image img = rasterizer.GetPage(dpi, dpi, i);
img.Save(outStream, ImageFormat.Jpeg);
Image img = new Image
{
imgByteArray = outStream.ToArray()
};
imageList.Add(image);
}
rasterizer.Close();
}
私ができるGhostscriptのネイティブライブラリを取得しています: 私はbinフォルダに保存されているDLLを持って は、ここに私のコードです(つまり、そこかどうか、それを維持するのに最適な場所だ場合にもわかりません)見つからないエラー。たDllPath文字列に:ここに は、私はそれがダブル/と「//ファイル」に関係していると思う私は
を取得するパスです。 LipPathも指定する必要がありますか? ヘルプがありますか?
はビン\デバッグの下でウルexeファイルのですか? –
DLLだけでなく – user3159792
Dllパスが正しく表示されず、それが問題です。どこからこの "file:"プレフィックスを取得しましたか? 「c:\ users \ raeda \ documents \ visual s ...... \ bin \ gsdll64.dll」のように表示されます。 – HABJAN