Jump to content

Business Card Imposition


wellers_97

Recommended Posts

I am working on a 1 sided business card and a 2 sided card to be used on a DSF site. I have the cards set in Fusion Pro and now they've thrown something at me that I'm not sure how to execute.

 

The cards are printed on press not digitally. Because of this they are printed 4 up on and they want to give the customer the option of buying 1 name (4 up), 2 names (2x2up) or 4 names(1 of each up). What is the best way to go about this?

Link to comment
Share on other sites

Essentially what you want to do is set up your imposition to be 4 up and you want each record to produce 4 cards to fill the imposition.

 

So you'd present the customer with 4 name fields (Name1, Name2, etc) and then based on how many of those fields they actually fill in, you'll determine which name should display on each card. By repeating each record 4 times – each repetition will create another card for the current record until the imposition is full. Then, all you have to do is determine which name to show during each iteration. If the customer filled in all four "Name" fields, you'll fill in "Name1" for the first iteration, "Name2" for the second iteration, etc. If they only filled in two "Name" fields, you'll use "Name1" for the first and second iteration and "Name2" for the third and fourth iteration.

 

You can do that by putting this in your OnRecordStart callback:

var imposition = 4;
var FP = FusionPro.Composition;

var names = [];
for (var i = 1; i <= 4; i++)
 if (name = Field('Name' + i))
   names.push(name);

FP.repeatRecordCount = imposition;
FP.AddVariable('Name', names[Math.ceil(FP.repeatRecordNumber / (imposition / names.length)) - 1]);

 

I've also attached a sample template for an example.

bc.zip

Link to comment
Share on other sites

 

You can do that by putting this in your OnRecordStart callback:

var imposition = 4;
var FP = FusionPro.Composition;

var names = [];
for (var i = 1; i <= 4; i++)
 if (name = Field('Name' + i))
   names.push(name);

FP.repeatRecordCount = imposition;
FP.AddVariable('Name', names[Math.ceil(FP.repeatRecordNumber / (imposition / names.length)) - 1]);

I've also attached a sample template for an example.

 

The last week has been crazy so today is the first time I've had any real time to devote to this. So far I think it's working but I am having some issues, forgive me, I am new to this and don't have much clue what I'm doing :rolleyes:. The format for my cards is as follows:

 

Name, Credentials

Title 1

Title 2

 

First, I can only create one callback rule? So how do I accommodate all of my fields?

 

Also, not everyone in the office has credentials so I need the comma to drop out when there are none present. I have it set up using the following:

 

var result = Field("Full Name");

if (result && Field("Credentials"))

result += ", " + '<span font="Bernhard Modern BT Bold" pointsize=9>' + Field("Credentials") + '</span>';

return result;

 

Is this still ok given the new callback rule?

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...