FDF Toolkitを使ってASPでPDF出力する
目次
会社のイントラネットに簡単な送付状システムをASPで構築していますが、
印刷用にレイアウトしてあるHTMLで内容を表示して印刷しています。
ところが、HTMLのレイアウトだと会社のロゴや広告などの画像が72dpi程度でしが出力されないため、ガタガタに印刷されます。
そこで、PDFであれば画像もキレイに出力できるはず!?
ということで、PDFで出力できるようにしてみました。
必要なもの
- IISが稼働するWindows Webサーバー
- FDF Toolkit for Windows (Adobeのサイトからダウンロード)
http://www.adobe.com/devnet/acrobat/fdftoolkit.html - テンプレートとなるフォームの埋めこまれたPDF
必要な作業
- FdfAcx.dllとFdfTk.dllをサーバーのsystem32フォルダにコピー
- コマンドプロンプトでレジストリにFdfAcx.dllを登録
C:\winnt\> cd \winnt\system32 ←コピー先に移動 C:\winnt\system32> regsvr32 FdfAcx.dll ←レジストリーに登録
ASPのソースサンプル
Dim FdfAcx,resFDF 'FDF ActiveX オブジェクトの定義 Set FdfAcx = Server.CreateObject("FdfApp.FdfApp") '新しいFDF生成 Set resFDF = FdfAcX.FDFCreate 'PDFフォーム欄と値 resFDF.FDFSetValue "atena","株式会社◯◯御中",False resFDF.FDFSetValue "naiyo","お世話になります。",False 'テンプレートPDFのURL(フルパスが望ましい) resFDF.FDFSetFile "http://192.168.XX.X/soufujyou/print.pdf" '設定結果のFDFをファイル名を付けてクライアントでダウンロード Response.ContentType = "application/vnd.fdf" 'MIMEタイプ FDF Response.BinaryWrite resFDF.FDFSaveToBuf 'FDFデータをバッファーに出力 'クローズ resFDF.FDFClose set resFDF = nothing set FdfAcx = nothing
テンプレートとなるPDFに宛名を表示する「atena」と、送付状の内容を表示する「naiyo」と名前を付けたフォームを埋め込み、上記のソースにアクセスすれば値が入力されたPDFが表示されます。
ここまでできれば、あとはデータベースや入力フォームからの値を表示したりと便利に改造できます。
動的に画像を表示したりするには、また少し違うやり方をしないといけないようです。
参考サイト