2009-05-03 22 views
2

を提出した後、PDFフォームがサーバーに送信されたことをアドビリーダー にユーザーに通知する方法があるかどうか、私は不思議でしたか?私は、フォームが送信されるときに何が起こるかのよう などのPHPスクリプトに大した、まっすぐ、 を 通常のHTTP/HTMLフォームを送信していないが、ドキュメントには大きな「ブラックホール」があるように思わ、フォーラムいます。確認ダイアログ(警告)フォームが

が、私は フォームを提出した後のjavascriptのアラートをトリガーする方法ではありません?私は、「ありがとう」と言われる別のpdfを返そうとは考えていません。少し粘り気のある です。私は非常にpdf形式に新しいですので、私はそこにあると推測しています は、 のjavascriptが実行されている元の文書にFDFを返す方法でなければなりません警告( ' フィードバック!')..

これは本当にまっすぐでなければなりません、私は

に... Adob​​esあまり話題 PDF技術は、はるかに、開発者にfreindlyとアクセスした任意のアイデアを仮定?? (ああ、どうして私がPDFフォームを使用しているのか、ウェブではないのか尋ねないでください。これは「トップ」から来ているので開発者としてはちょうど..)

答えて

4

あなたがHTTPヘッダにこのコンテンツタイプで応答しなければならないために投稿されたサーバスクリプト:

'コンテンツタイプ:application/vnd.fdf'

例:あなたがPHPを使用している場合、アラート()]ダイアログをトリガする関連bastardized-PDF-javascriptの変異半パンが続い

header('Content-Type: application/vnd.fdf') 

%FDF-1.2 
1 0 obj 
<< 
/FDF 
    << 
    /JavaScript 
     << 
     /Doc 2 0 R 
     /After (confirmSend();) 
     >> 
    >> 
>> 
endobj 
2 0 obj 
[ 
(confirmSend) 3 0 R 
] 
endobj 
3 0 obj 
<< 
>> 
stream 
function confirmSend() 
{ 
app.alert({ 
    cTitle : 'title of the window', 
    cMsg : 'message', 
    nIcon : 3 
}); 
} 
endstream 
endobj 
trailer 
<< 
/Root 1 0 R 
>> 
%%EOF 

私は解決策を見つける私の人生のほぼ2週間を無駄にように私は...、このメッセージが表示され、このため

+0

+1000、2週間の私の人生を保存してくれてありがとう。 :) –

+0

これは関連するASP.NETソリューションと思われる:https://stackoverflow.com/a/25172000/478765 – ed22

0

検索の3日後の答え、phpスクリプトのfdfファイルのヘッダーを追加し、アクロバットのURLの最後に '#FDF'を追加すると解決策があるようです。 /後

% FDF-1.2 1 0 OBJ < < /FDF < < /JavaScriptの < < /ドク2 0 R (confirmSend();)>

> > endobj 2 0 OBJ [ (confirmSend)3 0 R ] endobj 3 0 OBJ < < > ストリーム 関数confirmSend(){ app.alert( "フォームが正常にあなたのご意見を\ nThankに提出されました!"、 3)。 } endstream endobj トレーラー < < /ルート1 0 R > %%のEOF

1

感謝を願っています!私もこの問題を何時間も解決しようとしています!それは非常にイライラしていた。 PDFが送信された後に簡単な確認ダイアログボックスを表示するために、FDF Toolkitをインストールするのは難しいようです。

%FDF-1.2 
%âãÏÓ 
1 0 obj 
<< 
/FDF 
    << 
    /Status(Thank you. Your details have been submitted and someone will get in touch with regarding your application.) 
    >> 
>> 
endobj 
trailer 
<</Root 1 0 R>> 
%%EOF 

は、上記提示する(または提示しなければならない)ダイアログボックスで:

は私が最終的に試行錯誤しながら、次のを思い付いた(ネット上でこのことについては全くのドキュメントが存在しないようです) 「警告:JavaScriptウィンドウ」の警告を表示せずにAdobe Readerを起動します。

これが誰かにとって有用であることを願っています。

1

私はresponse.writeを使用してFDFを送信したときに、それがReaderに表示されない理由を理解しようと、これを数日間悩ましました。 FDFレスポンスを作成するために手作りのFDFとFDFツールキットの両方を送ろうとしました。私は有効なFDFを作成することができました。私はReaderでローカルに開くことができ、ポップアップ表示を正しく表示できましたが、ASP.NETページからFDFを送信している間は動作しませんでした。

その後、インスピレーションが襲った。 FDFを送信しようとした私の試みの1つでは、FDFをファイルに保存し、ストリームリーダを使用して応答にポンピングしようとしました。 response.writeを使用しようとして多くの失敗した試みの後、私は、保存されたfdfファイルへのresponse.redirectを試してみました。私は以前、MIMEタイプとしてapplication/vnd.fdfを使って、自分のWebサイトに登録されたMIME拡張子としてfdfを追加しました。これで、ユーザーは送信が成功した後にポップアップを受信します。 C#の単純なソリューションは、次のようになります。

Page.Response.Redirect("success.fdf"); 
関連する問題