ASP初心者です。
IIS+ASP+VBScript+PDFlibの環境でPDFを出力するアプリを開発中です。
実行すると
「Error: Couldn't open PDF file 'sample.pdf' for writing
(permission denied)」
というエラーになります。
権限がないのが原因だと思うのですが、これは
・プログラム側の問題
・環境設定に抜けがある
のどちらなのでしょうか?
どなたかご存知の方がいらっしゃいましたらご教授下さい。
よろしくお願いします。
ちなみにプログラムは下記になります。
<%@ Language=VBScript %>
<%
Option Explicit
const title = "証明書"
dim msg
Response.Write("株式会社○○")
Dim font
Dim oPDF
Set oPDF = Server.CreateObject("PDFlib_com.PDF")
oPDF.set_info "Creator", "sample.asp"
oPDF.set_info "Author", "marumaru"
oPDF.set_info "Title", "sample (COM/VBS)!"
' This means we must check return values of load_font() etc.
oPDF.set_parameter "errorpolicy", "return"
if (oPDF.begin_document("sample.pdf", "") = -1) then
msg = "Error: " & oPDF.get_errmsg
end if
Set oPDF = Nothing
%>
<HTML>
<HEAD>
<TITLE><% = title %></TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
No.1ベストアンサー
- 回答日時:
sample.pdfファイルを作成しようとして
書き込みエラーになっているみたいです。
作成するPDFファイルの保存場所を、「IUSER_[マシン名]」というユーザが
書き込み可能なディレクトリに保存してみてください。
(sample.pdfを作る場所をServer.MapPathを使って見るのも
いいかもしれません。)
oPDF.begin_document(Server.MapPath("/[書き込み権限のあるPATH]/sample.pdf"), "")
よろしくお願いします。
この回答への補足
kero_mioさん
回答どうもありがとうございます!
早速、教えていただいた通り「IUSER_[マシン名]」ユーザが書き込み
可能なディレクトリに保存して実行したところ、エラーは消えました。
正常に処理されるのですが、↑で作成したディレクトリにPDFファイル
が作成されるだけで、画面には何も表示されません。
ディレクトリにファイルとして保存せずに、ブラウザ上にPDFファイル
として表示することは出来ないのでしょうか。
何かご存知でしたら教えてください。
何度も申し訳ありませんが、よろしくお願いします。
No.3
- 回答日時:
Response~となっているものは、ASP(サーバ側)のコードになります。
また、PDFlibの仕組みをよくわかっていないので、
大変恐縮ですが、恐らく、サーバ側で物理的にPDFファイルは
作られているはずなので、そのPDFファイルを
単純に表示させてあげれば良いのです。
それから、掲載したコードに間違いがあったので、
下記に訂正します。失礼しました。
・Redirectでやる場合
Response.Redirect("/asp/hello.pdf")
・ContextTypeでやる場合
Response.ContentType = "application/pdf"
Response.AddHeader "Content-Disposition", "attachment; filename=sample.pdf"
Response.Flush()
Response.End()
サーバ上にPDFファイルが出来上がっていれば、
Response.Redirect だけでいけるはずなので、ご確認下さい。
また、JavaScriptでやった方が、都合がいい場合は、
このQAではなく、新規でQAを立ち上げて、質問して
頂けたらと思います。
No.2
- 回答日時:
>ディレクトリにファイルとして保存せずに、
>ブラウザ上にPDFファイルとして表示することは出来ないのでしょうか。
とりあえず、権限を与えて問題なくてよかったです。
それで、上記ですが、できると思います。
こういうのは、どうでしょうか?
Response.Redirect(Server.MapPath("sample.pdf"))
もしくは、
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "attachment; filename=sample.pdf")
Response.Flush()
Response.WriteFile("sample.pdf")
Response.End()
で、いけたらいいなという感じです。
もし、はずれていたら、ごめんなさい。
この回答への補足
早速試してみましたが私のコーディングが悪いのか上手くいきません。
以下に実行した際に表示されたエラーを載せておきます。
エラーの原因と対処法を自分なりに調べています。もし、何か原因が
おわかりでしたら教えていただけると助かります。
何度も申し訳ありません。
ちなみにこれはJavaScriptなのでしょうか?
Response.Redirect(Server.MapPath("/asp/hello.pdf"))
→サーバーが見つかりません。
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "attachment; filename=hello.pdf")
→Sub プロシージャを呼び出すときに、かっこを使うことはできません。
Response.AddHeader "Content-Disposition", "attachment; filename=hello.pdf"
Response.Flush()
Response.WriteFile("hello.pdf")
→オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Response.WriteFile'
Response.WriteFile "hello.pdf"
→オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Response.WriteFile'
Response.WriteFile Server.MapPath("/asp/hello.pdf")
→オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Response.WriteFile'
Response.End()
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP php エラー 2 2022/10/23 16:43
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- PHP php ログイン 1 2022/11/01 00:24
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP AccessDBオープン出来ない
-
権限取得方法
-
ctfmon.exe。スタック ベースの...
-
web.configとは?(初心者です)
-
タスクバーのボタンがオレンジ...
-
メモリが”written”にな...
-
WSH(Windows Script Host)の...
-
アプリケーションエラー(0xc...
-
有効なwin32アプリケーションで...
-
●スタンバイ時に任意のアプリを...
-
秀丸マクロについて
-
ゆっくりムービーメーカーのエ...
-
OracleInProcServer.XOraSessio...
-
Windowsが起動しなくなってしま...
-
PerlからOracleに接続
-
立ち上がりにapdproxy.exeコン...
-
【旧PCから新PCへのアプリ...
-
Media Gallery?勝手に起動
-
windows10でハンゲーム起動でき...
-
エクセルで『DTPicker』が削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでネットワーク上のバッ...
-
IIS7.5 Excel ファイルオープ...
-
ASP AccessDBオープン出来ない
-
ユーザーアカウント制御について
-
IUSR でCreateObject("Excel.Ap...
-
管理者権限のないユーザーだと...
-
EXCEL「Dictionaryオブジェクト...
-
VC++からのoracle接続方法
-
IISからログインしたWebサイ...
-
LogonUser関数が ERROR_PRIVIL...
-
IISのユーザについて
-
VBS でユーザ名からそのユーザ...
-
McAfeeの使い方
-
WinAPIでWindowsの権限を調べる...
-
Windowsサーバー、PHPでアクセ...
-
ASP.NET での処理表示について
-
ActiveXをダウンロードさせてた...
-
ASPで、IISの設定がうまくいき...
-
「Quick Homepage Maker(openQH...
-
MPC4ファイルをiTunesに入れら...
おすすめ情報