Expand my Community achievements bar.

Convert a dynamic pdf to a static pdf for commenting?

Avatar

Level 2

Hello,

the server fill the pdf with data but there a some dynamic tables in it, so that I don't know the size of the table at design time so I need

dynamic pdf but when the user display it, the pdf is static the user can't edit it. The user should only add comments. So I need a transformation to static

pdf or flatten pdf. Or is there any other possibility?

I only have licence for ReaderExtentsions and ContentService and I can't buy any more.

Regards,

Christoph

9 Replies

Avatar

Former Community Member

You shodul be able to lock the fields that you do want to allow the user to change through javascript on the form. Here is an example that shows how to access all of the fields on a form and lock them. You will have to modify it to leave the ones you do not want to lock alone. Note that locking is not teh same as flattening but given the restrictions here I believe will achieve the same results.

paul

Avatar

Level 2

Hello,

that solution doesn't work. When the fields locked in your pdf I can't add an comment with acrobat.

Do I understand your answer correctly?

Is there any other solution?

Regards,

Christoph

Avatar

Former Community Member

Are you adding Comments to a comment field or are you adding Comments (like the yellow sticky note tool in Acrobat)?

If it is a Sticky Note then those comments cannot be applied to a dynamic form (which is what the sample is) but can be applied to a static form. The concept remains the same but the form type will change. Make sense?

Paul

Avatar

Level 2

Yes I need the yellow sticky notes in the pdf. So I need a static or flatten pdf. Can I do this without Output? I need a other solution because I can buy it.

Avatar

Former Community Member

Great script.

myScriptObject.LockAllFields(form1);

I got it to run under form1, but I got a body map. It do not lock the body.

Hierarchy: Form1-bill-body

How can I fix this?

Can I use something like this:

myScriptObject.LockAllFields(form1,bill,body);

Another problem:

Send e-mail do not work in reader, only in professional.

Avatar

Level 10

Hi,

The script object accepts a single variable. Try giving the SOM for the subform you want to lock. Replace the "," with "." so that it looks like this:

myScriptObject.LockAllFields(form1.bill.body);

Also attached is a summary for delpoying forms to users with Reader versus Acrobat.

If the form is not Reader Enabled, then it can't be saved by users with Reader, which would be required to send it back by email.

When the form is not Reader Enabled, users with Reader can send back the XML data, but not the PDF form itself. If you want that functionality you would need to Reader Enable it with Acrobat or LiveCycle Reader Extensions ES.

Hope that helps,

Niall

Avatar

Former Community Member

You are the best..

Last question:

On print I have:

xfa.host.print(1, "0", (xfa.host.numPages -1).toString(), 0, 0, 0, 0, 0);

I don´t want the user to print out backgrond image, how do I sett this?

Avatar

Level 10

Hi,

The easiest way to do this is to select the object in LC Designer and go to the Object / Field tab. Here you can set the presence of the object. Select "Visible - Screen Only" from the dropdown.

If you are using an earlier version of LC Designer that doesn't have this option then you can achieve this with script.

prePrint event:

this.presence = "invisible"; 

postPrint event:

this.presence = "visible"; 

Clearly the first option is preferable.

Good luck,

Niall

Avatar

Level 1

I created a form and all the code works to lock all fields.  When attached and sent via email, the file is not truly flattened.  Is there a way to ensure the form is locked without having to 'reprint' to PDF?