2

私は教師であり、可能な限りペーパーレス化を目指しています。ここで検索して以前の質問をすることで、Javascript を使用して PDF フォームの応答を個別に検証する方法を学びました。フォームを送信する前にフォーム全体を検証する方法があると思いますが、その方法はまだわかりません。フォームは実際には Web ページではなく PDF ドキュメントになります。

私の質問は、その検証と提出を扱っています。javascript (またはその他の方法) を使用して次のことを行う方法はありますか。

  1. ボタンをクリックするだけで、フォーム全体 (学生が完了する課題全体) を検証できますか?
  2. 同じクリックで、回答と受け取った「スコア」をスプレッドシートなどに送信しますか? 私のクラスには、何らかの方法で設定する必要がある場合に、提出を処理するために cPanel を介して完全に変更できる Web サイトとドメインがあります。

理想的には、提出物とスコアが欲しいので、学生は検証できず、検証に基づいてすべての回答を変更してから、完璧な課題を提出します。

別の方法は、学生がフォームに記入して検証し、学生にスコアを印刷させることです。私が見ることができる唯一の問題は、学生が PDF をリロードし、検証後に回答を変更することです。

洞察や提案はありますか?

4

1 に答える 1

1

送信ボタンに JavaScript を追加してスコアを表示し、フォーム フィールドの値を Web サイトに送信できます。

それはばかげた証拠ではありません。Adobe Acrobat/Reader の Javascript エラー コンソールに、Javascript コードに関するリーク情報が表示される場合があります。PDF から JavaScript コードを抽出できる PDF 処理ツールがいくつかあります。

したがって、最良のオプションは、単純な送信ボタンを用意して、フォーム フィールド データをサーバーに送信させることです。サーバーでは、送信されたフォーム フィールド データを評価し、FDF ストリームの形式でメッセージを Adob​​e Reader に送り返すスクリプトを作成できます。FDF ストリームにはスコアを含めることができます。


  Response.ContentType = "application/vnd.fdf"
  Response.Write "%FDF-1.2" & VbCrLF & _
                 "1 0 obj<< /FDF << /Status (" & sAcroResponse & ") >>      >>endobj" & VbCrLF & _
                 "trailer" & VbCrLF & _
                 "<< /Root 1 0 R >>%%" & VbCrLF

上記のスクリプトはクラシック ASP にあります。メッセージ (sAcroResponse) は、ブラウザーではなく、Adobe Reader 内に表示されます。このスクリプトは、Web サーバーでサポートされている言語に適合させることができます。

于 2013-04-19T05:48:03.583 に答える