2013-04-15 3 views
5

にストリームからPDFファイルを開くために、私は私の質問への答えを探して全体の午後を過ごしたし、どれも見つからなかっました:(AcroPDFLibはWindowsFormsのC#.NET

私はWindowsフォームアプリケーションを作ってるんだし、それの一つです機能は、DBに格納されているファイルを表示することです。 このファイルは、アップロード時に「読み取り専用」としてマークされているため、ダウンロードできません。 この時点で、私はPDFファイルに苦労しています。 AcroPDFLibと私は、DBに格納されているバイト配列からファイルを表示する方法を見つけることができません。 私は質問ですが、それはストリームからPDFファイルを開く方法ですか? aプラグイン、そのプラグインはどこですか?どこで見つけることができますか?

ウェブブラウザオブジェクトを使用すると、ストリームをレスポンス出力に送信するサーバーサイドを作成しなければならないため、動作しないと思います。 、一時フォルダ内のファイルを作成...よく、その場合には、私は同様に、ファイルのダウンロードを許可するかもしれません:D

あなたがやりたいためにあなたの助け

+0

PDFファイルをバイト単位で保存していますか? – Pandian

+0

はい。そしてDBはVarbinaryです。 –

+0

私は最近、WinFormsアプリケーションで同じ問題を扱っていました。私はAcroPDFLibを使って最初にディスクに書き込む問題を回避し、WebBrowserコントロールを使ってファイルを表示するか、単に 'Process.Start'を実行する方法を見つけることができませんでした。私はディスクに書き込むだけでしたが、ファイルを保存している人は気にしませんでした。 –

答えて

4

のおかげで次の作業を行う必要があり、

構文::しかしInterapplication Communication API reference from Adobeから、我々は唯一のオープン(...)メソッドがあることを取得し、メモリストリームからファイルを開く
VARIANT_BOOLオープン(BSTR szFullPath、BSTR szTempTitle)。

パラメータ:

szFullPath
開くファイルのフルパス。

szTempTitle
ファイルが開かれているウィンドウのオプションのタイトルは、 です。 szTempTitleがNULLまたは空の文字列の場合は無視されます。 それ以外の場合は、ウィンドウタイトルとしてszTempTitleが使用されます。

は、だから私はは推測あなたがやろうとしているか、Adobeのライブラリで行うことができないということ。

+0

あなたの返事をありがとう。それは私が恐れていたものでした... –

+0

+1 APIを掘って、それはほとんど可能な質問に答える:) –

関連する問題