Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Form with E-Mail button to send the Dynamic PDF form only as a read and print form (send & lock content)

Avatar

Level 2

Here is a PDF file that I just managed to do with my skills. Please click on the link, so you can download the pdf from the Url.

Need the option in the e-mail button that after filling out and sending the form you can only read and print it.

 

how do i get that?

 

LiveCycle Designer ES4 --> should be a dynamic fillable PDF form that can only be read and printed after being sent by e-mail.

 

Any help is welcome that could help a beginner.

(Yes, I had asked the question days ago, and so far only received half-words, which unfortunately could not help me because my knowledge is limited)

Thx in Advance

1 Accepted Solution

Avatar

Correct answer by
Level 10

You can use a recursive function to lock all fields below a certain node of your form. This script can eitber be executed form an event of an object or called from a script object.

 

function lockObjects (vNode) { 
    if (vNode.className === "field") {
    	vNode.access = "protected";
    }
    if (vNode.isContainer) {
        for (var i = 0; i < vNode.nodes.length; i += 1) {
        	lockObjects(vNode.nodes.item(i));
        }
    }
}

 

 

Given you want to lock the fields under page 2 of your form after you clicked a button.

function lockObjects (vNode) { if (vNode.className === "field") { vNode.access = "protected"; } if (vNode.isContainer) { for (var i = 0; i < vNode.nodes.length; i += 1) { lockObjects(vNode.nodes.item(i)); } } }
lockObjects (form1.page3);

 

If you have that script in a script object names "utils" and want to lock everyting in you form, then you call it this way.

 

utils.lockObjects (form1);

 

View solution in original post

5 Replies

Avatar

Community Advisor

HI @NikoGR 
Is this question related to AEM? or is it more like Pdf related question?

If it is not related to AEM then I would suggest moving this question to a dedicated community to get a faster response. https://experienceleaguecommunities.adobe.com/

 

Avatar

Level 2

Excuse me, but sometimes I have the feeling that no one wants to answer something

and my question is pushed back and forth.

 

To make myself as simple and understandable as possible (as far as I can),

I've created a Dynamic Form (which I've also included) with LiveCycle Designer ES4,

with an email button from the existing LiveCycle Designer library.

I converted this form into a form with Adobe Pro DC (ver.2015) so that it can be filled out with Acrobat Reader DC.

So far so good, only when I press the e-mail button does it send the file by e-mail as requested.

 

The problem is: After sending the file, the form must not be changed, it should only be possible to read and print.

How can I get that done?

 

*Please don't move the question again, it's no longer fun, all the moving made me dizzy... I would be grateful for any help, for any shift to nowhere..not.

 

Thx in Advance

Avatar

Correct answer by
Level 10

You can use a recursive function to lock all fields below a certain node of your form. This script can eitber be executed form an event of an object or called from a script object.

 

function lockObjects (vNode) { 
    if (vNode.className === "field") {
    	vNode.access = "protected";
    }
    if (vNode.isContainer) {
        for (var i = 0; i < vNode.nodes.length; i += 1) {
        	lockObjects(vNode.nodes.item(i));
        }
    }
}

 

 

Given you want to lock the fields under page 2 of your form after you clicked a button.

function lockObjects (vNode) { if (vNode.className === "field") { vNode.access = "protected"; } if (vNode.isContainer) { for (var i = 0; i < vNode.nodes.length; i += 1) { lockObjects(vNode.nodes.item(i)); } } }
lockObjects (form1.page3);

 

If you have that script in a script object names "utils" and want to lock everyting in you form, then you call it this way.

 

utils.lockObjects (form1);