に役立ちます。画像をPDFに表示するには、画像を文書に埋め込む必要があります。したがって、外部画像を使用するには、アプリが画像を取得して文書に保存する必要があります。レポートビューアでこれを実行しようとします。
二つの可能な答え:
まず、PDFに画像をパッケージ化するアプリのために、あなたが指定されているURLから画像を取得することができなければなりません。そのURLが(アプリケーションサーバーの観点から)プロキシの背後にあり、アクセスするために資格情報を必要とする場合は、レポートビューアのデフォルト設定で問題が発生します。
プロキシサーバーが問題になっている場合は、以下に追加できるweb.configの設定を参照してください。また、ネットワーク資格情報を提供する必要があり、アプリがプロキシに対して認証できるようにする必要があります。これを解決する方法はたくさんありますが、最も簡単な方法の1つは、プロキシを通過する権利を持つドメイン上のサービスアカウントとしてアプリケーションを実行することです。一時的にサイトを実行することでこれをテストすることができます(これは恐ろしいセキュリティ方法であるため一時的に行う必要があります)。
使用している画像にアクセスするための認証情報が必要な可能性があります(空のCookieを使用してFirefoxで画像をプルアップし、認証にアクセスする必要があるかどうかを確認してください)。 Windows認証が必要な場合は、プロキシセキュリティと同じソリューションがリモートイメージに必要な認証に適用される可能性があります。他の形式の認証が必要な場合は、イメージをダウンロードしてプロジェクトに埋め込むほうがよいでしょう。
コード内に他の手段を使用してイメージをダウンロードし、バイト配列に変換してレポートに含めることもできます。スタックオーバフローhereを含む、これに関する多くの例がWeb上にあります。
第二は、以下のページを見てみましょう:
http://msdn.microsoft.com/en-us/library/ms251715%28VS.80%29.aspx
を デフォルトでは有効になっていません のReportViewerレポートに外部の画像を使用します。外部イメージを使用するには、 はEnableExternalImages プロパティをコードに設定する必要があります。 ネットワーク設定によっては、 も、外部画像を表示できるように、プロキシ設定を に迂回する必要があります。 Web.configファイルに次の設定を追加して、 ローカルプロキシをバイパスすることができます。
<system.net>
<defaultProxy>
<proxy usesystemdefault = "false" bypassonlocal = "true" proxyaddress = "http://<proxyservername>:80/" />
<defaultProxy>
</system.net>
・ホープ、これらの一方または両方ができます:あなたの Web.configファイルを変更する場合、ネットワークで使用 あるプロキシサーバーの 名を指定してください。
ジェリー
イメージがローカルアプリケーションにあり、Windows認証を使用している場合、Windows認証がローカルで失敗するという一般的な問題が発生している可能性があります。 http://support.microsoft.com/kb/896861 この問題の診断を助けるために、あらゆる種類のエラーまたは認証に失敗した場合は、サーバー上のイベントログをトロールしてください。 Jerry –
ローカルサイトにはどのような種類の認証がありますか?私が示唆したようにIEでイメージをプルアップするか、Firefoxでテストしましたか?イベントログに関連するエラーがありますか? –
私は、画像がブラウザにうまく表示されると言いました。また、レポートを生成するときに、イベントログには何もありません。私はあなたの提案に感謝しますが、それらのどれもが問題を解決するようです。私は画像がおそらく検索され、表示するためにバイト配列に変換されることに同意しますが、これは特にローカルでの問題でありライブでの使用ではないため、避けたいと思います。 –