mwhayes Posted April 10, 2017 Share Posted April 10, 2017 I have a ticket that I want to print 4 tickets and a filler on a sheet. I need the 4 tickets to number consecutive and the fifth filler to be the same on each page. The filler is not numbered. The ticket and the filler are 2.5 x 7.75. They will print 5 across on 12.5 x 7.75. I amusing Fusion Pro 9.37. How do I do this? Thanks Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted April 11, 2017 Share Posted April 11, 2017 In FP Imposer, create an imposition with a 12.5" x 7.75" press sheet, 2.5" x 7.75" pages, and a horizontal repeat of 5, and save the FPI file. Create a FusionPro template with two pages (2.5" x 7.75"). In the Page Usage dialog, name both pages something like "ticket" and "filler". Then create the OnRecordStart callback rule with this syntax: if (!(CurrentRecordNumber() % 4)) FusionPro.Composition.repeatRecordCount = 2; var isFiller = FusionPro.Composition.repeatRecordNumber == 2; FusionPro.Composition.SetBodyPageUsage("ticket", !isFiller); FusionPro.Composition.SetBodyPageUsage("filler", isFiller); On the "ticket" page, create a text frame, edit it, select $inputrecordnumber from the Variables list, and click Insert. Assign the FPI file on the Imposition tab of the Composition Settings dialog, select your record range (ticket numbers) on the Input tab, and compose. Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 11, 2017 Author Share Posted April 11, 2017 Attached is a pdf file of what I am trying to do.Anheuser-Buch_Sat Suite Tix.pdf Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted April 11, 2017 Share Posted April 11, 2017 Attached is a pdf file of what I am trying to do. Okay. If you do what I suggested in my previous post, it should make that output. The only differences are: You need to set up a duplexed imposition in FP Imposer, with 2 pages per record.You need front and back pages for the ticket and the filler. So I would make four pages named something like "TicketFront", "TicketBack", "FillerFront", and "FillerBack".You'll need to set the usage of all four pages in OnRecordStart:if (!(CurrentRecordNumber() % 4)) FusionPro.Composition.repeatRecordCount = 2; var isFiller = FusionPro.Composition.repeatRecordNumber == 2; FusionPro.Composition.SetBodyPageUsage("TicketFront", !isFiller); FusionPro.Composition.SetBodyPageUsage("TicketBack", !isFiller); FusionPro.Composition.SetBodyPageUsage("FillerFront", isFiller); FusionPro.Composition.SetBodyPageUsage("FillerBack", isFiller);Instead of using the $inputrecordnumber variable in the text frame for the ticket number, you can make a rule that does this and use it:return return FormatNumber("00000", FusionPro.Composition.inputRecordNumber); Quote Link to comment Share on other sites More sharing options...
dreimer Posted April 11, 2017 Share Posted April 11, 2017 Dan I was trying out your code but on the imposed file, the filler shift one position to the left for each set of four. I assumed the OP wanted the filler to always be the right most position. Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted April 11, 2017 Share Posted April 11, 2017 Dan I was trying out your code but on the imposed file, the filler shift one position to the left for each set of four. I assumed the OP wanted the filler to always be the right most position. Hmm, maybe the first line should be: if (!(FusionPro.Composition.inputRecordNumber % 4)) Although, I think the logic is correct for putting the front filler page on the right side of the sheet. That statement is true only when the record number is a multiple of four. Quote Link to comment Share on other sites More sharing options...
dreimer Posted April 11, 2017 Share Posted April 11, 2017 That did the trick. I like this, and will use this in the future I am sure. Thanks. Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 12, 2017 Author Share Posted April 12, 2017 OK, I have a TicketFront pdf file, a TicketBack pdf file and a FillerFront pdf file. The fileer is only printed on the front. I have set up a duplexed imposition with 2 records, 5 tickets across on 12.5 x 7.75 press sheet. Now, which pdf file do I use to create the the imposed job? This is where I am getting lost Michael Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted April 12, 2017 Share Posted April 12, 2017 OK, I have a TicketFront pdf file, a TicketBack pdf file and a FillerFront pdf file. The fileer is only printed on the front. I have set up a duplexed imposition with 2 records, 5 tickets across on 12.5 x 7.75 press sheet. Now, which pdf file do I use to create the the imposed job? This is where I am getting lost All of the pages should go into a single PDF, which is your FusionPro VDP template (background) PDF. Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 12, 2017 Author Share Posted April 12, 2017 I am a rookie. I do not understand what I name TicketFront, TicketBack, FillerFront. Do I name the pdf file which is the template or the FP Imposer file? I really wish you could help me step by because the more I try the more confused I get. Thanks for all the help Michael Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted April 12, 2017 Share Posted April 12, 2017 I am a rookie. I do not understand what I name TicketFront, TicketBack, FillerFront. Do I name the pdf file which is the template or the FP Imposer file? I really wish you could help me step by because the more I try the more confused I get. I recommend learning more about the product before jumping in. The User Guide and tutorials are a good place to start. We also offer training. You can also contact Support. As my signature says, this forum is not a substitute for Support, and, while I can point you in the right direction, I'm not able to go step by step with you through the entire template-building process. Although someone else here on the forum may be able to do that, if they want to. That said, step one is creating a FusionPro VDP template is to get all of the pages into a single PDF, then click the orange F icon in the FusionPro tools to assign a data source. This PDF will be your FusionPro template PDF. Once you've done that, you need to go into the menu, under FusionPro -> Manage Pages -> Page Usage, select each page, and type in a name for the page. That's what I mean by naming the pages. Quote Link to comment Share on other sites More sharing options...
Leosmith Posted April 12, 2017 Share Posted April 12, 2017 Your forms should be one up and will be imposed properly. Ticket, Filler, Ticket Back and Filler Back. example is attached. Dan thanks for the example. It is should get much use.Anheuser-Buch_Sat.zip Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 12, 2017 Author Share Posted April 12, 2017 The 2nd sheet of tickets, the filler ticket moves back 1 position. How do I stop this? Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 13, 2017 Author Share Posted April 13, 2017 After the second set of four tickets, it's putting the number 6 instead of the number 5. The filler is not numbered. Quote Link to comment Share on other sites More sharing options...
Leosmith Posted April 13, 2017 Share Posted April 13, 2017 All your pages should be set to unused and the OnRecordStart should be: if (!(FusionPro.Composition.inputRecordNumber % 4)) FusionPro.Composition.repeatRecordCount = 2; var isFiller = FusionPro.Composition.repeatRecordNumber == 2; FusionPro.Composition.SetBodyPageUsage("TicketFront", !isFiller); FusionPro.Composition.SetBodyPageUsage("TicketBack", !isFiller); FusionPro.Composition.SetBodyPageUsage("FillerFront", isFiller); FusionPro.Composition.SetBodyPageUsage("FillerBack", isFiller); When I test the imposition is correct. Leo Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 13, 2017 Author Share Posted April 13, 2017 One more question, How do I add more filler to a page? I have one that has three fillers. Quote Link to comment Share on other sites More sharing options...
Leosmith Posted April 13, 2017 Share Posted April 13, 2017 one way is to create a data file in excel using the fill sequence. An example attached. The seq is Sequence Ticket T_00001 TicketFront T_00002 TicketFront F_00001 FillerFront F_00002 FillerFront F_00003 FillerFront T_00003 TicketFront T_00004 TicketFront F_00004 FillerFront F_00005 FillerFront change the InputRecordNumber rule var str = Field("Sequence"); var result = str.substr(2, 5); return result;This will return the number such as 00001. Change the OnRecordStart rule if (Field("Ticket")=="TicketFront") { FusionPro.Composition.SetBodyPageUsage("TicketFront", true); FusionPro.Composition.SetBodyPageUsage("TicketBack", true); } else if (Field("Ticket")=="FillerFront") { FusionPro.Composition.SetBodyPageUsage("FillerFront", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); }the output should be 2 sequenced tickets and 3 filler tickets per sheet. There are other ways to get the results for this that are more simple and elegant.AB_Ticket_Data.txt Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 13, 2017 Author Share Posted April 13, 2017 2 questions. If there are 3 different fillers, what do I name them. (FillerFront1, FillerFront2, FillerFront3) What in the code do I change for 2 different fillers. Thanks, Michael Quote Link to comment Share on other sites More sharing options...
Leosmith Posted April 13, 2017 Share Posted April 13, 2017 Yes you can...name them. (FillerFront1, FillerFront2, FillerFront3) In your data file follow the same pattern. In FusionPro you would have 4 templates - Ticket and 3 Fillers. Using the same logic - add bodypage usage. else if (Field("Ticket")=="FillerFront1") { FusionPro.Composition.SetBodyPageUsage("FillerFront1", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } and so on. I would suggest going through training videos https://marcom.com/resources/support-training/fusionpro-video-tutorials/ and as Dan suggested the Users guide and examples. Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 13, 2017 Author Share Posted April 13, 2017 I am just a small family printer. I have been using FusionPro for 5 years. Up until now, all I did was addresses and numbering. I have this customer that needs these tickets. This is all new to me. I am trying to get by with ya'lls help this time. When this project is over, I will have time to go through the videos and the manual. I do appreciate very much any help I can get with this. I want to very much thank the ones that helped. Michael Quote Link to comment Share on other sites More sharing options...
mwhayes Posted April 20, 2017 Author Share Posted April 20, 2017 Where in the body page do I insert the last code to print 2 tickets and 3 fillers. Thanks Quote Link to comment Share on other sites More sharing options...
Leosmith Posted April 20, 2017 Share Posted April 20, 2017 It goes in the OnRecordStart Rule -- Not in the body of your form. If you are using a data file that is sequence with two "TicketFront" followed by FillerFront1, FillerFront2, FillerFront3. and you have corresponding forms 1 ticket, 3 fillers, and a couple backs named in the SetBodyPageUsage. //OnRecordStart if (Field("Ticket")=="TicketFront") { FusionPro.Composition.SetBodyPageUsage("TicketFront", true); FusionPro.Composition.SetBodyPageUsage("TicketBack", true); } else if (Field("Ticket")=="FillerFront1") { FusionPro.Composition.SetBodyPageUsage("FillerFront1", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } else if (Field("Ticket")=="FillerFront2") { FusionPro.Composition.SetBodyPageUsage("FillerFront2", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } else if (Field("Ticket")=="FillerFront3") { FusionPro.Composition.SetBodyPageUsage("FillerFront3", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted April 22, 2017 Share Posted April 22, 2017 It goes in the OnRecordStart Rule -- Not in the body of your form. If you are using a data file that is sequence with two "TicketFront" followed by FillerFront1, FillerFront2, FillerFront3. and you have corresponding forms 1 ticket, 3 fillers, and a couple backs named in the SetBodyPageUsage. //OnRecordStart if (Field("Ticket")=="TicketFront") { FusionPro.Composition.SetBodyPageUsage("TicketFront", true); FusionPro.Composition.SetBodyPageUsage("TicketBack", true); } else if (Field("Ticket")=="FillerFront1") { FusionPro.Composition.SetBodyPageUsage("FillerFront1", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } else if (Field("Ticket")=="FillerFront2") { FusionPro.Composition.SetBodyPageUsage("FillerFront2", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } else if (Field("Ticket")=="FillerFront3") { FusionPro.Composition.SetBodyPageUsage("FillerFront3", true); FusionPro.Composition.SetBodyPageUsage("FillerBack", true); } Or: var isTicket = Field("Ticket") == "TicketFront"; FusionPro.Composition.SetBodyPageUsage("TicketBack", isTicket); FusionPro.Composition.SetBodyPageUsage("FillerBack", !isTicket); FusionPro.Composition.SetBodyPageUsage(Field("Ticket"), true); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.