- 締切済み
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
- haekum
- お礼率0% (0/1)
- Microsoft ASP
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- med2dic
- ベストアンサー率77% (21/27)
>・ダイアログは表示されるのですが、「保存」を選択した場合に保存されたPDFが開けません。 >・「開く」を選択しても何も開かず固まってしまいます。 ダウンロードファイル名が*.pdfになっているためです。 質問にあるソースで作成されるのはFDFであってPDFではありません。 拡張子をfdfとすれば開けると思います。 実際に試していないのでわかりませんが、 PDF WriterがインストールされていればPDFで保存できるのではないでしょうか。 私もFDFのシステムを引き継いで苦労させられました・・
関連するQ&A
- FirefoxでFDFファイルの表示
HTMLフォームから記入してもらった項目を、最終的に編集された状態でPDFファイルに書き出すCGI を作成しようと思ったのですが、Acrobatのライセンスの問題があり不可能だったので、このような場合 に一般的に用いられる方法(予めPDFファイルのテンプレートを用意して、HTMLフォームから送られた データをFDFファイル化してテンプレートに埋め込む)で、解決しました。 しかし、IEでは問題なく、生成されたFDFファイルをクリックするとAcrobatが起動してデータの埋め込 まれたPDFが表示されるのですが、Firefoxで行うとFDFファイルの内容が表示されてしまいます。 ためしに、CGIスクリプトから Content-type: application/vnd.fdf として、直接ブラウザに書き出してみ たところFirefoxでもAcrobatが起動して問題なく表示できました。 直接ブラウザに書き出すのは都合が悪いので避けたいのですが、FirefoxでFDFファイルからAcrobat を起動することはできないのでしょうか? ご存知の方、ご教示ください。
- ベストアンサー
- ブラウザ
- ASP:動的に作成したPDFをアシュクしてダウンロード後の展開
ASP(VB)にて動的に作成したPDF(stream)をZIPへ格納後、ダウンロードのプログラムを組んだのですが、ZIPの中を展開するとPDFが 「ファイルの種類がサポートされていないか、または破損している可能性があります。例えば電子文書として送信され、正しくデコードされなかったことなどが考えられます。」 と表示されて開けません。 バイト数・圧縮率は正しく表示されているのですが何かソースとしてエンコード/デコード方法が足りてないのでしょうか? ご教授お願いします。 以下ソースです。( Ionic.Zip.dll使用) Dim teststream As Stream Dim streamRE As StreamReader = New StreamReader("C:\test2.txt") teststream = streamRE.BaseStream Response.Clear() Response.ContentType = "application/zip" Response.AddHeader("content-disposition", "filename=data.zip") Dim zip As Ionic.Zip.ZipFile = New Ionic.Zip.ZipFile(Encoding.GetEncoding("shift_jis")) Using (zip) zip.AddEntry("データ1.pdf", "", teststream) 'ダウンロード出力 zip.Save(Response.OutputStream) End Using
- 締切済み
- Visual Basic
- アドビ・アクロバットで複数ページのPDF作成(自動で)
FDFツールキットを使用して伝票フォームを作り、可変項目にASPでDBから取得した値をセットしてPDFファイルを作成してブラウザで表示しています。 1つのPDFファイルで1ページならまくいくのですが、1つのPDFファイルで複数ページを生成することができないのです。 やりくちとして以下の2通りがあるのではないかと考えています。 1.ASPにてページ追加のロジックを使う(そんなロジックがあるかどうかも分かりませんが) 2.それぞれを1ページのPDFファイルとして作成してから最終的に1つのPDFファイルに結合する。 ところが、どちらも詳細な方法がよく分かりません。参考になるようなサイト、ページがあれば教えてください。もちろん、ずばりスクリプトコードを書いていただいでも構いません!
- ベストアンサー
- その他(ソフトウェア)
- FDF Toolkitを使用してのpdf出力
ASPでDBから読み込んだ値をセットしたpdfを表示したいのですが ネットで参考になりそうなページを探してその通り実行してるのですがうまくいかず困ってます。 Server オブジェクト エラー 'ASP 0178 : 80070005' Server.CreateObject アクセス エラー 許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。 と表示されます。 サーバーは「Windows 2003 server」 参考にしているのは http://www.linkclub.or.jp/~ma3ki/webutil/pdf/ringi2/howtomake-pdf2.htmlです。 どうか、よろしくお願いします。
- ベストアンサー
- Microsoft ASP
- ASPでダウンロード方法教えてください
ASPにて、CSVやエクセルなどをダウンロードさせるにはどうすればよろしいでしょうか? ボタンなどがクリックされたらダウンロードダイアログが表示されてダウンロードできるようにしたいのですが・・・。 どなたかご教授ください。 お願い致します。
- ベストアンサー
- Microsoft ASP
- pdfがダウンロードできません。
サーバにpdfファイルをアップロードし、 ブラウザを通してダウンロードしていたのですが、 .htaccessにてBasic認証を行うようになってから そのpdfファイルがダウンロードできなくなりました。 (アクロバットのエンジンは起動しているようです。) ・ブラウザはIEとFirefoxを使用していますが共にNGです。 ・試しにpdfファイルが格納されているフォルダに htmlファイルを格納した場合は正常に表示されます。 ・IEのセキュリティでそのサイトを信頼済みサイトに してもNGです。 ・index.htmlに記載してあるリンクを右クリックダウンロード にするとリンク先が見つかりませんというようなメッセージが 表示されます。 .htaccessにMIMEタイプを追加すればいいのでしょうか? よろしくお願いします。 ■階層 folder │ .htaccess │ passwd │ index.html(←閲覧可能) │ ├─folder1 │ test1.pdf │ ├─folder2 │ test2.pdf │ └─folder3 test3.pdf ■サーバ環境 OS:Linux Apache ■クライアント環境 OS:Windows2K
- ベストアンサー
- ハードウェア・サーバー
- ASP.NET(C#)におけるファイルダウンロードについて質問させてく
ASP.NET(C#)におけるファイルダウンロードについて質問させてください。 私は今、webアプリケーションを開発しております。 そこで機能のひとつとして、ボタンを押すと保存ダイアログを表示させ、ファイルをダウンロード させられるようにしております。 その保存ダイアログのファイル名にサーバ側からあらかじめ決められた(クライアント側の)ファイルパスを表示させることは可能でしょうか?方法があればお教え願います。 ※保存先のディレクトリを指定するのが面倒なため。 ファイル名に表示させたい例: C:\test.text C:\TestFile\test.text また、たとえ可能だとしても、クライアント側のパスをサーバが勝手に指定するのは セキュリティ的に問題ありでしょうか? ご教示のほど、よろしくお願いいたします。
- 締切済み
- Microsoft ASP
- ASP(VBScript)について教えてください。
以前、↓で質問を挙げさせてもらった者です。 <http://okwave.jp/qa/q6615640.html> ASPで作成した画面上からADOを用いて、CSVファイルの 項目を表示しようと思ったのですが、エラーが出てしまいました。 エラー箇所を調べてみたのですが、原因がわからず作業が中断しています。 申し訳ありませんが、下記のソースでどこが間違っているのか 教えていただけないでしょうか? ■期待する動作: CSVファイルを読み取り、指定したIDの行の名前(NAME),年齢(AGE)を 表示させる ******* CSVファイル(test.csv)の中身 ******* [ID],[NAME],[AGE] 1,山田,20 2,田中,30 3,佐藤,40 ******************************************* ******* ASP(VBScript)のソース ******* <% Dim objAdo Dim objRS Dim strPath Dim strId Dim strName Dim strAge strId = "2" 'test.csvのパスを取得 strPath = replace(Server.MapPath("test.csv"),"\test.csv","") 'ADOオブジェクトを作成 Set objAdo = CreateObject("ADODB.Connection") 'ADOを使いCSVファイルを扱う準備(オープン)を行う objAdo.Open "Driver={Microsoft Text Driver (*.txt ; *.csv)} ; DBQ=" & strPath & " ; ReadOnly=1" 'SQLを実行し、当該タスクのデータを抽出 Set objRS = objAdo.Execute("select * from test.csv where '[ID]' = '" & strId & "'") →ここからエラーになります。 strName = objRS("'[NAME]'").Value response.write("strName:" & strName & "<br>") strAge = objRS("'[AGE]'").Value response.write("strAge:" & strAge & "<br>") objRS.Close objAdo.Close %> select文内のwhere句で失敗しているように感じたので、 where '[ID]' = '" & strId の部分を下記の3パターンで 試してみたのですが、全てエラーが起きてしまいました。 where [[ID]] = '" & strId where {[}ID{]}' = '" & strId where [ID] = '" & strId CSVファイルのフォーマットは決まっている為、 現在のフォーマットで表示させたいのです。 お礼を言うのが少し遅くなってしまうかもしれませんが、 ご教示いただけると嬉しいです。
- 締切済み
- Visual Basic
- IEでPDFをダウンロード時、開く が表示されない
Adobe Readerは導入しており、 デスクトップ上にあるpdfファイルは問題なく開けます。 ただ、IEでpdfファイルをダウンロードする際に、ダウンロードダイアログに「開く」が表示されず、 いちいちダウンロードしてから開く必用があります。 開く を表示させる方法はあるのでしょうか?
- 締切済み
- Windows XP
- ASP(VB)にて動的に作成したPDF(stream)をZIPへ格納後の展開ができない
ASP(VB)にて動的に作成したPDF(stream)をZIPへ格納後、ダウンロードのプログラムを組んだのですが、ダウンロード後にZIPの中を展開するとPDFが 「ファイルの種類がサポートされていないか、または破損している可能性があります。例えば電子文書として送信され、正しくデコードされなかったことなどが考えられます。」 と表示されて開けません。 バイト数・圧縮率は正しく表示されているのですが何かソースとしてエンコード/デコード方法が足りてないのでしょうか? ご教授お願いします。 以下ソースです。( Ionic.Zip.dll使用) Dim teststream As Stream Dim streamRE As StreamReader = New StreamReader(\"C:\\test2.txt\") teststream = streamRE.BaseStream Response.Clear() Response.ContentType = \"application/zip\" Response.AddHeader(\"content-disposition\", \"filename=data.zip\") Dim zip As Ionic.Zip.ZipFile = New Ionic.Zip.ZipFile(Encoding.GetEncoding(\"shift_jis\")) Using (zip) zip.AddEntry(\"データ1.pdf\", \"\", teststream) \'ダウンロード出力 zip.Save(Response.OutputStream) End Using
- 締切済み
- Visual Basic