Copy link to clipboard
Copied
Hi,
I recently used teachermade app to transform a PDF file into a quiz.
I would like to mark some questions on an existing PDF with the corresponding answers. Then the student can simply open the PDF, select the answers (either dropdown/ yes-no/ multiple choice etc) and at then end have a score generated.
Is this possible in adobe acrobat?
Thank you
Copy link to clipboard
Copied
Yes, it's possible. You just need to add form fields with consistent names and export values, and then you would be able to use a script to automatically calculate the score.
Copy link to clipboard
Copied
Thank you for your prompt reply. Can this be done in the free version of acrobat reader DC or is another version required?
Also, how do you make the scripts?
Thank you.
Copy link to clipboard
Copied
No, you must use the full Acrobat to do it.
We can help you with the scripts, once you have the form fields set up.
If the fields are named consistently, like Q1, Q2, etc. then it's just a question of comparing their values to an array of correct answers and keeping a tally of how many match.
Copy link to clipboard
Copied
Hi,
I got the pro version of adobe acrobat now. I have included a sample of what I am trying to do.
I would like a student to select answers A-F from a drop down list for Q26, Q27 etc and then the same for the rest of the questions. Once all the answers have been provided by the student, I would like the student to see the final score.
For someone who has no experience with Acrobat, other than simply viewing pdfs, how easy is it to implement? I have searched the net to find a similar project, but haven't so far.
Thanks for your help.
Copy link to clipboard
Copied
Here's a simplified example. Say you have 5 question fields, called Q1 to Q5, and their correct answers are A,B,C,D,A. You can use this script as the Mouse Up event of a button field to calculate the score for those 5 fields and populate it into another text field called "Score":
var correctAnswers = ["A", "B", "C", "D", "A"];
var score = 0;
for (var i=1; i<=correctAnswers.length; i++) {
var answer = this.getField("Q"+i).valueAsString;
if (answer==correctAnswers[i-1]) score++;
}
this.getField("Score").value = "Your score is: " + score + "/" + correctAnswers.length + " (" + Math.round((score/correctAnswers.length)*100) + "%)";
Find more inspiration, events, and resources on the new Adobe Community
Explore Now