FDF Toolkitを使ってASPでPDF出力する

  • 投稿
  • 編集

会社のイントラネットに簡単な送付状システムをASPで構築していますが、

印刷用にレイアウトしてあるHTMLで内容を表示して印刷しています。

ところが、HTMLのレイアウトだと会社のロゴや広告などの画像が72dpi程度でしが出力されないため、ガタガタに印刷されます。

そこで、PDFであれば画像もキレイに出力できるはず!?

ということで、PDFで出力できるようにしてみました。

 

必要なもの

 

必要な作業

  • FdfAcx.dllFdfTk.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が表示されます。

ここまでできれば、あとはデータベースや入力フォームからの値を表示したりと便利に改造できます。

動的に画像を表示したりするには、また少し違うやり方をしないといけないようです。

 

参考サイト