私はc#とghostscriptにghostscriptsharpラッパーを使用しています。PDFファイルからサムネイルを生成したい。
ghostscript-c-dll「gsdll32.dll」からインポートされたさまざまなメソッドがあります。
[DllImport("gsdll32.dll", EntryPoint = "gsapi_new_instance")]
private static extern int CreateAPIInstance(out IntPtr pinstance,
IntPtr caller_handle);
[DllImport("gsdll32.dll", EntryPoint = "gsapi_init_with_args")]
private static extern int InitAPI(IntPtr instance, int argc, IntPtr argv);
//...and so on
Webアプリケーション(.net 2.0)でサムネイルを生成するためにGhostscriptWrapperを使用しています。このクラスは、上記でインポートされたメソッドを使用します。
protected void Page_Load(object sender, EventArgs e){
GhostscriptWrapper.GeneratePageThumb("c:\\sample.pdf", "c:\\sample.jpg", 1, 100, 100);
}
Visual Studio 2008でキー「F5」を押してWebアプリケーションをデバッグすると、正常に機能します(Webサーバーの新しいインスタンスが生成されます)。WindowsFormアプリケーションを作成すると、それも機能します。サムネイルが生成されます。
Webブラウザ(http:// localhoast / mywebappliation / ..)を使用してアプリケーションに直接アクセスすると、機能しません。サムネイルは生成されません。ただし、例外はスローされません。
gsdll32.dllをWindowsXPのsystem32フォルダーに配置しました。Ghostscriptランタイムもインストールされています。IIS-Webproject(.Net 2.0)でフルアクセスを許可しました。
WebアプリケーションからGhostscriptにアクセスできない理由を誰かが知っていますか?IISサーバー上のdllファイルにアクセスするためのセキュリティ上の問題はありますか?
クラウスさん、ご挨拶