重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんなことできますか?

画面上で設定されている項目によりクライアントスクリプトでPDF作成用のパラメータを作成し、サーバに流します。
サーバサイドでクライアントから流れてきたパラメータを元に、PDFのイメージを作成し、ファイルを作成せずResponse.Writeを用いてクライアント側にデータを流します。
流れてきたデータを、画面上のPDFの表示と入れ替えたいのですが、方法はあるでしょうか?

サーバ側でファイルに落とし、それを切り替える方法は、以前Literalを使用すればどうかというアドバイスをいただいたのですが、今回はファイルを介さないで、という事を教えてほしいのです。

現在はPDFの表示には<Object>や<iframe>を使用して試していましたが、知識不足のため、実現できるのにうまくいかないのか、そもそもできない事なのかがわからずにいます。

開発実行環境は
Visual Studio 2010
ASP.net, c#
IE8
となります。

ご存知の方、アドバイス願います。

A 回答 (1件)

サーバが、呼び出された.aspxや.ashx内部で何らかの処理を行い、レスポンスとしてPDFデータを返す、ということですよね?


もちろん可能です。
サーバ側で物理ファイルを生成する必要はもちろんありません。

ファイルをいったん生成したとしても、それを読み出して、PDFとしてのResponse Headerを付加し、Response.WriteFileとかで内容を返せば、リクエスト結果としてPDFのレスポンスストリームが返るわけなので、結果はご希望通りになると思います。
もちろん、PDFに限らず、JPEGでもGIFでも、SWFのようなものでもResponseで返すことができます。

PDF生成については、内容がテキストファイルなので、直接、「テンプレート」ファイルの文字列を書き直すといった泥臭いやり方もありますが、専用の生成コンポーネントを使えば、極めてスマートに処理することができます。

Responseクラスを勉強してみてください。理解できると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!