質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP

ASP(Active Server Pages) あるいはClassic ASP (ASP Classic)は、マイクロソフト社開発した動的なウェブページ製作に利用可能なサーバー側のスプリクトエンジンです。

Q&A

解決済

1回答

3638閲覧

FDF Toolkitを使ってASPでPDF出力をしたいです。

ka999

総合スコア9

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP

ASP(Active Server Pages) あるいはClassic ASP (ASP Classic)は、マイクロソフト社開発した動的なウェブページ製作に利用可能なサーバー側のスプリクトエンジンです。

0グッド

0クリップ

投稿2020/03/19 07:01

編集2020/03/19 07:26

FDF Toolkitを使ってASPでPDF出力をしたいです。

FDFを使用してPDFの作成
https://www.asahi-net.or.jp/~ym3y-oksm/nt/asp/asp3.htm
FDF Toolkitを使ってASPでPDF出力する
https://qwerty.work/blog/2011/11/fdf-toolkitasppdf.php
こちらのサイトを参考にやってみたのですがブラウザには「このページを表示できません」と表示されます。

古いサーバーからASPを使って書かれたシステムを別のサーバーへ移動して使えるようにする仕事なのですが、上記の問題で詰まってしまいました。
エンジニア初仕事なのでサーバーを立ててもらい、調べながら実験的にいろいろ試しています。
まずは自分の環境でPDF出力ができることを確認したいです。

<% response.contenttype = "application/vnd.fdf" 'MIMEタイプの指定 response.end Set FdfAcx = Server.CreateObject("FdfApp.FdfApp") 'FDFオブジェクトの作成 Mypath = server.mappath("print.fdf") 'FDFテンプレートを読ませます Set resFDF = FdfAcx.FDFOpenFromFile(Mypath) resFDF.FDFSetEncoding "Shift-JIS" 'エンコーディングを設定。これを設定しないと日本語が文字化けします resFDF.FDFSetValue "atena", "テストデータ",false 'FDFテンプレートにデータをセットします resFDF.FDFSetFile "http://****/print.pdf" 'ブラウザに返すPDFのURLを記述します response.binarywrite resFDF.FDFSaveToBuf 'データを書き出します resFDF.FDFclose'クローズ処理 set resFDF = Nothing set FdfAcx = Nothing %>

試したこと

FDF Toolkitをダウンロードして解凍
フォルダの中からFdfAcx.DLLとFdfTk.DLLを探してSystem32フォルダ内にコピーし、コマンドプロンプトで
C>regsvr32 c:\windows\System32\fdfAcx.DLL
を実行しましたが「モジュール "fdfacx.dll" の読み込みに失敗しました。」とエラーになりました。調べながら試していると
C:\Windows\SysWOW64>regsvr32 FDFACX.DLLを実行して
「RegSvr32 FDFACX.DLLのDllRegisterServerは成功しました。」とメッセージが表示されました。

アクセス権限の問題かなと思い、
IIS→認証→匿名認証右クリック→編集→特定のユーザー設定から
ユーザー名「IUSRS」から「Administrator」に変更

プログラムやDLLの依存関係を調べる「Dependency Walker」をダウンロード
FDFACX.DLLをウィンドウ上にドロップして調べる。
?マークがついていたのは下記の9つでした。
API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-1.DLL
IESHIMS.DLL
MFPLAT.DLL
SETTINGSYNCPOLICY.DLL
WLANAPI.DLL
調べたところでどうしたらいいのか分からず、そのままにしています。

補足情報(ツールのバージョンなど)

Windows Server 2012 R2 Standard
64ビットおぺーレーティングシステム、x64ベースプロセッサ

IIS:Internet Information Services(Version 8.5.9600.16384)
Adove Acrobat Pro DC バージョン2020.006.20042
有料版「Acrobat Pro DC」14日間の体験版をインストールして試しています。

他に必要な情報があれば調べます。
返事は休日明けになるかもしれませんがよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KOZ6.0

2020/03/19 08:25

SysWOW64 の regsvr32 が成功したということは 32bit の COM なのですね。 IIS の設定は大丈夫ですか? 32bit と レガシーasp を有効にする必要があったかと思います。(方法は調べてください。)
ka999

2020/03/23 00:41

回答ありがとうございます。 無事、FDF Toolkitを使ってASPでPDF出力をすることができました。 アドバイス通りISSの設定を見ました。 32bitの設定が出来ていませんでした。 https://qiita.com/danishi/items/ded2131eefbe50c1e567 こちらのページを参考に設定しました。 レガシーaspの設定はおそらく出来ていたのだと思います。 別のエラーが出るようになりました。 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています。 ODBC接続を64bit版で設定していたことが原因のようで、32bit版のODBCで接続設定を行うことで対応しました。 https://www.projectgroup.info/tips/Windows/windows7_0010.html こちらのページを参考にしました。
guest

回答1

0

自己解決

KOZ6.0さん
回答ありがとうございます。
無事、FDF Toolkitを使ってASPでPDF出力をすることができました。

アドバイス通りISSの設定を見ました。
32bitの設定が出来ていませんでした。
https://qiita.com/danishi/items/ded2131eefbe50c1e567
こちらのページを参考に設定しました。
レガシーaspの設定はおそらく出来ていたのだと思います。

別のエラーが出るようになりました。
指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています。

ODBC接続を64bit版で設定していたことが原因のようで、32bit版のODBCで接続設定を行うことで対応しました。
https://www.projectgroup.info/tips/Windows/windows7_0010.html
こちらのページを参考にしました。

投稿2020/03/23 05:41

ka999

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問