0

Web ブラウザー コントロールで、クリックを呼び出しています。getElementsByTagName("INPUT") をループするだけで、サブミットの場合は obj.Click を実行します

そのボタンが行うことは、ID=012345 のみでフォームを動的に作成して投稿することによってポストバックを行う Javascript を実行することだけです。

Fiddler では、返される ContentType は application/pdf ですが、表示されるのは POST だけです。まさに私が欲しいもの。

キッカーは...私のWebBrowserは、コントロールではなくAdobeでそのコンテンツを開いています! 私の目標は、PDF を動的に保存することです。IE でボタンを手動でクリックすると、ウィンドウ内で開きます。私の WebBrowser でそれが起こっていれば、ドキュメントを保存できました。または、何らかの方法で application/pdf のリターンをキャッチできれば、それを保存できるでしょうか?

想定される回答 (Rick Mohr の功績):

私のチームは、以下の Rick が確認したように、WebBrowser コントロールが 32 ビット モードのコードを使用していると想定しています。したがって、この問題を解決するには、アプリケーションを Platform Target: x86 で実行していることを確認する必要があります。

このアプリケーションは多くのものと連携しているため、私たちはそれをやり遂げませんでした。リックが正しいと信じていますが、確実に答えることはできません。

したがって、私たちの解決策は、HTTPWebRequest に沿ったものを使用して、オブジェクトをストリーミングする 1 回限りの方法を使用することでした。これは、プロジェクトの残りの部分と一致していませんが、依存関係を壊すことはありませんでした。それで十分です。:^)

4

1 に答える 1

2

64 ビット マシンを使用していますか? WebBrowser コントロールで使用される Adob​​e Reader DLL は 32 ビットです。64 ビット モードで実行すると、ご覧のように Web ブラウザーを使用して PDF が開きます。64 ビット マシンで動作させたい場合は、プラットフォーム ターゲットを「任意の CPU」ではなく「x86」に設定します。

于 2013-05-15T20:32:59.373 に答える