Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

printing form multiple time with different footer.

Avatar

Level 2

Hello all,

I have a form that needs to be print multiple time but with different text at the bottom of each copie.

As an example i would say like when you print a bill there's a copie that comes out with the mention "client copie" and another "merchand copie" and this form has autosize textbox and some subform instance can be add or remove.

I figured id just change the text then print the page 4 times.

this.parent.PDP.rawValue = "Copie1";

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

this.parent.PDP.rawValue = "Copie2";

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

this.parent.PDP.rawValue = "Copie3";

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

this.parent.PDP.rawValue = "Copie4";

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

This works fine if the form is open in acrobat reader but if the pdf is open in IE (or LiveCycle Designer prewview tab) the label text is changed 4 time before the first print thus all 4 copies have the text "Copie4";

I though of using a timeout before changing the value of PDP but since i have no way to know how long it would take the user to select the right printer / print each copy i donèt think this would work either.

Is there a way i can wait for the printing process of the form to process before having the text change?

Thanks

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

What you are needing is a different "Master Page" for each different footer you want.

The form I created has three different master pages, all with different footers.  Actually I have four different master pages, but the fourth is used as a "how do I fill in this form" help page.

When you have the form open, look at the left column and click on the page-1 master page.  From there, insert however many copies you'll need and give them names like "Customer_Copy", "Merchant_Copy", "Accounting_Copy", etcetera.  Shrink the content area (where the changeable stuff goes) on each master page and place your non-changing things like company logo, contact information, etcetera outside of the content area.  Now just add your footer text with "Customer_Copy", "Merchant_Copy" and so on on each of the respective master pages.

Now create a subform (i.e. content page) for each of your master pages.  Since these are copies, just duplicate/triplicate the content from page1 to all the other pages.  To make the so-called copied content, just replicate the information from page to page.  (You don't want to, or worse, have your users have to enter the same information multiple times; therefore, automate that replication.

If you have flowed content (where text entries can fill up a page and spill onto the next), you'll need to be aware of the master page settings you have--otherwise, your front "Customer_Copy" data will spill onto the "Merchant_Copy" and shove the "Merchant_Copy" stuff down onto your other master page(s) and make everything a jumbled mess.  To prevent that, set the start point for each copy to start at the top of its respective page/copy.  You can also set how many times each master page will replicate itself to ensure the spill-over doesn't affect subsequent copies.  For instance, overflowed "Customer_Copy" content will spill onto another "Customer_Copy" page, not the "Merchant_Copy" and so on.  Likewise, the "Merchant_Copy" will spill over onto another "Merchant_Copy" page, and so on.

Restricting a master page to a single page is useful, if for instance, you have a flowed content page with a large picture/company logo on page1 but all other pages behind it have smaller company logo.

So, hopefully, this helps point you in the right direction.  Master Pages.

View solution in original post

2 Replies

Avatar

Correct answer by
Former Community Member

What you are needing is a different "Master Page" for each different footer you want.

The form I created has three different master pages, all with different footers.  Actually I have four different master pages, but the fourth is used as a "how do I fill in this form" help page.

When you have the form open, look at the left column and click on the page-1 master page.  From there, insert however many copies you'll need and give them names like "Customer_Copy", "Merchant_Copy", "Accounting_Copy", etcetera.  Shrink the content area (where the changeable stuff goes) on each master page and place your non-changing things like company logo, contact information, etcetera outside of the content area.  Now just add your footer text with "Customer_Copy", "Merchant_Copy" and so on on each of the respective master pages.

Now create a subform (i.e. content page) for each of your master pages.  Since these are copies, just duplicate/triplicate the content from page1 to all the other pages.  To make the so-called copied content, just replicate the information from page to page.  (You don't want to, or worse, have your users have to enter the same information multiple times; therefore, automate that replication.

If you have flowed content (where text entries can fill up a page and spill onto the next), you'll need to be aware of the master page settings you have--otherwise, your front "Customer_Copy" data will spill onto the "Merchant_Copy" and shove the "Merchant_Copy" stuff down onto your other master page(s) and make everything a jumbled mess.  To prevent that, set the start point for each copy to start at the top of its respective page/copy.  You can also set how many times each master page will replicate itself to ensure the spill-over doesn't affect subsequent copies.  For instance, overflowed "Customer_Copy" content will spill onto another "Customer_Copy" page, not the "Merchant_Copy" and so on.  Likewise, the "Merchant_Copy" will spill over onto another "Merchant_Copy" page, and so on.

Restricting a master page to a single page is useful, if for instance, you have a flowed content page with a large picture/company logo on page1 but all other pages behind it have smaller company logo.

So, hopefully, this helps point you in the right direction.  Master Pages.

Avatar

Level 2

Thanks Kaydobe,

This idea crossed my mind, i was hoping maybe there was way to fix the pdf so it behave the same way on browser than in the adobe reader itself. When using acrobat reader it seem that every time host.print is call the process wait there until the page is either print or cancel while in the browser it doesn't.

as for the flowed content i do have some as well and section where the user can add or remove inner section. and other process to make sure the page is looking properly (no table header at the last line of a page ...)

Thanks for you help

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----