- 締切済み
FDF ToolkitでASPからPDFダウンロード
FDF Toolkitを使用して、ASPからPDFをダウンロードさせようとしています。 ※DBから取得した値をPDFで表示&ダウンロード 環境はWindowsです。 テンプレート用FDFは不要としたいです。 ↓こちらを参考にして作ってみました。 ※http://www.linkclub.or.jp/~ma3ki/webutil/pdf/ringi2/howtomake-pdf2.html#ji 下記ソースは、リンクまたはボタンをクリックした時に呼ばれるASPファイル内のソースです。 ▼やりたい事 リンクまたはボタンクリックしたら、 DBから値を取得し、その値を埋め込んだxxxxx.pdfを開くダイアログを表示させる。 ダイアログの選択で、「開く」か、pdfファイルを「保存」するかを選択させたい。 ⇒開いたPDFをちゃんと表示させたい ⇒保存したPDFファイルもきちんと表示させたい ※FDFファイルは使わない形式でPDFを出力させたいのです。 ▼下記ソースがだめな点 ・ダイアログは表示されるのですが、「保存」を選択した場合に保存されたPDFが開けません。 ・「開く」を選択しても何も開かず固まってしまいます。 ・テンプレート用のPDFは用意しています。 ・サーバーには「FdfAcx.DLL」と「FdfTk.DLL」はインストール済みです。 全く見当違いな事をしているかもしれませんが、 いろいろ調べてみても全くわからないのです、、 どなたか同じ現象を体験した方、 また、解決方法をご存知の方がいらっしゃいましたら 何卒ご教授くださいませ。 よろしくお願いいたします。 【ASPソース】============================================================= Dim ObjFdfAcx Dim ObjresFDF Dim StrDateTime '現在日付取得 StrDateTime = Now() StrDateTime = Replace(StrDateTime, " ", "") StrDateTime = Replace(StrDateTime, "/", "") StrDateTime = Replace(StrDateTime, ":", "") 'ダウンロードファイル名設定 StrPDFFileName = "TEST_" & StrDateTime & ".pdf" 'FDF ActiveX オブジェクトの定義 Set ObjFdfAcx = Server.CreateObject("FdfApp.FdfApp") '新しいFDF生成 Set ObjresFDF = ObjFdfAcx.FDFCreate 'テンプレートFDF内の変数(/V key)に値を設定 With ObjresFDF '値セット .FDFSetValue "TEST1","TEST1",False .FDFSetValue "TEST2","TEST2",False 'テンプレートPDFのURLセット .FDFSetFile "http://XXXXX/テンプレート用PDF.pdf" End With '設定結果のFDFをファイル名を付けてクライアントでダウンロード With Response .ContentType = "application/vnd.fdf" 'MIMEタイプ FDF '.ContentType = "application/pdf" 'ダウンロード '.AddHeader "Content-Disposition","attachment; filename=" & StrPDFFileName '表示 .BinaryWrite ObjresFDF.FDFSaveToBuf End With 'クローズ ObjresFDF.FDFClose 'オブジェクト開放 Set ObjresFDF = Nothing Set ObjFdfAcx = Nothing
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- med2dic
- ベストアンサー率77% (21/27)
>・ダイアログは表示されるのですが、「保存」を選択した場合に保存されたPDFが開けません。 >・「開く」を選択しても何も開かず固まってしまいます。 ダウンロードファイル名が*.pdfになっているためです。 質問にあるソースで作成されるのはFDFであってPDFではありません。 拡張子をfdfとすれば開けると思います。 実際に試していないのでわかりませんが、 PDF WriterがインストールされていればPDFで保存できるのではないでしょうか。 私もFDFのシステムを引き継いで苦労させられました・・