GhostScript を使用して PDF から画像を作成しようとしています。これが私のコードです:
GhostscriptWrapper.ConvertToBMP(inputPDFFilePath, outputBMPFilePath);
そして、ここに私のGhostscriptWrapper
クラスがあります:
public class GhostscriptWrapper
{
public static void ConvertToBMP(string inputPath, string outputPath)
{
CallAPI(GetArgs(inputPath, outputPath));
}
private static void CallAPI(string[] args)
{
IntPtr ptr;
CreateAPIInstance(out ptr, IntPtr.Zero);
InitAPI(ptr, args.Length, args);
Cleanup(ptr);
}
private static void Cleanup(IntPtr gsInstancePtr)
{
ExitAPI(gsInstancePtr);
DeleteAPIInstance(gsInstancePtr);
}
[DllImport("gsdll32.dll", EntryPoint="gsapi_new_instance")]
private static extern int CreateAPIInstance(out IntPtr pinstance,
IntPtr caller_handle);
[DllImport("gsdll32.dll", EntryPoint="gsapi_delete_instance")]
private static extern void DeleteAPIInstance(IntPtr instance);
[DllImport("gsdll32.dll", EntryPoint="gsapi_exit")]
private static extern int ExitAPI(IntPtr instance);
[DllImport("gsdll32.dll", EntryPoint="gsapi_init_with_args")]
private static extern int InitAPI(IntPtr instance, int argc,
string[] argv);
private static string[] GetArgs(string inputPath, string outputPath)
{
return new string[] { "-dNOPAUSE", "-dBATCH", "-dSAFER",
"-dTextAlphaBits=4", "-dGraphicsAlphaBits=4", "-sDEVICE=bmp16m",
string.Format("-r{0}x{1}", 0x48, 0x48), "-dEPSCrop",
string.Format("-sOutputFile={0}", outputPath), inputPath };
}
}
私の問題は、ページでコードを実行すると、次のエラーが発生することです。
DLL 'gsdll32.dll' をロードできません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)
私は実際のdllファイルを持っています.binフォルダへの参照を追加する必要があるのではないかと思いましたが、それを試みると、次のエラーが発生します:
「D:\gsdll32.dll」への参照を追加できませんでした。コンポーネントにタイプ ライブラリが見つかりませんでした
だから私はちょっと立ち往生しています-私はdllを持っていますが、それを参照する方法がわかりません。私が何をする必要があるか知っている人はいますか?