C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: WebBrowser上に表示されたpdfを保存したい


(過去ログ 86 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■51490 / inTopicNo.1)  WebBrowser上に表示されたpdfを保存したい
  
□投稿者/ ドイチェ (1回)-(2010/07/07(Wed) 16:48:49)

分類:[VB.NET/VB2005 以降] 

VB2008のWinFormで、WebBrowserに表示されているpdfをローカルPCに保存したいのですが、
どのようにすればよいのでしょうか?
内容としては、

・Form上のボタンをクリック。
・WebBrowserに表示されている内容がpdfの場合、これを指定したパス・ファイル名で保存。

を考えています。
宜しくお願いします。
引用返信 編集キー/
■51499 / inTopicNo.2)  Re[1]: WebBrowser上に表示されたpdfを保存したい
□投稿者/ Jitta on the way (651回)-(2010/07/07(Wed) 18:31:10)
No51490 (ドイチェ さん) に返信
> VB2008のWinFormで、WebBrowserに表示されているpdfをローカルPCに保存したいのですが、
> どのようにすればよいのでしょうか?
> 内容としては、
>
> ・Form上のボタンをクリック。
> ・WebBrowserに表示されている内容がpdfの場合、これを指定したパス・ファイル名で保存。
>
> を考えています。
> 宜しくお願いします。


PDF を表示するために、Adobe Reader のプラグインが動作していると思います。そのプラグインに、「ローカルに保存」という、ボタンかメニューがないでしょうか。
そういう事ではなく?
引用返信 編集キー/
■51519 / inTopicNo.3)  Re[2]: WebBrowser上に表示されたpdfを保存したい
□投稿者/ ドイチェ (2回)-(2010/07/08(Thu) 10:30:13)
No51499 (Jitta on the way さん) に返信
> PDF を表示するために、Adobe Reader のプラグインが動作していると思います。そのプラグインに、「ローカルに保存」という、ボタンかメニューがないでしょうか。

ご回答ありがとうございます。
ただ、ユーザがWebBrowserに表示されているpdfのプラグインのボタンを操作するのではなく、
WebBrowserのDocumentCompletedイベントが発生した時に、Content-Typeがpdfである場合、
自動的にその内容を任意のパス・ファイル名で保存したいのです。
対象のサイトはフレーム・Javascript・Cookieで制御をかけて、Webアプリでpdf形式のデータを
送信しているため、単純にWebClientでpdfを取得できないのです。
WebBrowser上に表示されているpdfのストリームを取得する方法ってありますでしょうか?
宜しくお願いします。
引用返信 編集キー/
■51521 / inTopicNo.4)  Re[3]: WebBrowser上に表示されたpdfを保存したい
□投稿者/ 魔界の仮面弁士 (1694回)-(2010/07/08(Thu) 10:45:24)
No51519 (ドイチェ さん) に返信
> WebBrowser上に表示されているpdfのストリームを取得する方法ってありますでしょうか?

PDF リーダーの種類によるかも知れませんが、当方環境では取得する方法が見つかりませんでした。

WebBrowser.ActiveXInstance.Document を、IPersistFile や IPersistStreamInit インターフェイスで
保存すればできるかな…と思ったのですが、別のバイナリとして保存されてしまいました。
また、AcroPDF オブジェクト経由の保存も試みましたが、こちらはそもそも保存用のメソッドが見当たりません。


それ以外に可能性があるとすれば、InetSpy や Fiddler2 などのような "ローカル プロキシ" を用意するとか。
引用返信 編集キー/
■51526 / inTopicNo.5)  Re[3]: WebBrowser上に表示されたpdfを保存したい
□投稿者/ todo (20回)-(2010/07/08(Thu) 11:23:34)
No51519 (ドイチェ さん) に返信
> WebBrowserのDocumentCompletedイベントが発生した時に、Content-Typeがpdfである場合、
> 自動的にその内容を任意のパス・ファイル名で保存したいのです。
> 対象のサイトはフレーム・Javascript・Cookieで制御をかけて、Webアプリでpdf形式のデータを
> 送信しているため、単純にWebClientでpdfを取得できないのです。

そこを何とか突破できないですか?
WebBrowserDocumentCompletedEventArgs よりUrlを取得。
WebBrowserのcookieをWebRequestのCookieContainerにコピー。

引用返信 編集キー/
■51531 / inTopicNo.6)  Re[4]: WebBrowser上に表示されたpdfを保存したい
□投稿者/ ドイチェ (3回)-(2010/07/08(Thu) 13:17:02)
直接pdfのURLをリクエストしてもダメなので、
とりあえず、APIを使用して、キャッシュにある該当pdfファイルを利用してみようと思います。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -