Jump to content

Empty frame and page usage


MLobo

Recommended Posts

The project is a 2-sided letter sent to families of students in a school district. Letter is in English on the front, and one of 5 language translations on back, or no translation (blank back) if English is spoken at home. The pdf I create has many blank pages, and I'd like to save on click counts on the machine.

 

I can't universally "delete blank pages" because they aren't blank, they each contain an empty graphic frame.

 

I'm wondering if there is a way to suppress the page if the graphic frame, which is the only thing on the page, is empty?

Link to comment
Share on other sites

Well, a graphic frame is never really "empty." Though you can have a rule assign a NullResource to it. So what is it in your job that determines whether the frame is "empty"? Whatever that condition is can be used in a call to FusionPro.Composition.SetBodyPageUsage.
Link to comment
Share on other sites

Why don't you use "unused" pages, and have them be turned on via an "OnRecoredStart" rule based on the language translation (assuming that is a field in your data).

 

I use this sort of thing all the time. Works great.

Link to comment
Share on other sites

Why don't you use "unused" pages, and have them be turned on via an "OnRecoredStart" rule based on the language translation (assuming that is a field in your data).

 

I use this sort of thing all the time. Works great.

I don't know if you need to have a page for each language. That seems like a lot of repetitive work to me. I think you can just deactivate the one page if there's no need for it.

I have each other language fill the frame with a graphic, so if the data is English the frame isn't filled with anything. Does that help?

Well, I was hoping you would post the JavaScript that accomplishes that, then I could show you how to use the same logic in a call to FusionPro.Composition.SetBodyPageUsage. I can give more specific help if you ask more specific questions. Posting the template and the data would be the best way to help me help you. But I think you want to do something like this in OnRecordStart:

FusionPro.Composition.SetBodyPageUsage("YourPageName", Field("SecondLanguage") != "English");

Link to comment
Share on other sites

Dan Korn, don't help me if you don't want to, but no need to be snarky. "I was hoping you'd post the JavaScript" like I'm a mindreader. Ask for what you need please, because I don't know. This would "help me help you." Remember, "I can give more specific help if you ask more specific questions."

 

Thank you, scotts, for your suggestion. I'll figure it out. We were all newbies once, right?

Link to comment
Share on other sites

Dan Korn, don't help me if you don't want to, but no need to be snarky. "I was hoping you'd post the JavaScript" like I'm a mindreader. Ask for what you need please, because I don't know. This would "help me help you." Remember, "I can give more specific help if you ask more specific questions."

Sorry, I'm not trying to be snarky, and I apologize for any offense. But I'm not a mind reader either. How can I tell you what code I need to write to accomplish what you're trying to do without knowing, at the very least, what data field names I need to put into the code so that it can do something conditional based on those data field values?

 

To recap my specific questions and suggestions:

So what is it in your job that determines whether the frame is "empty"? Whatever that condition is can be used in a call to FusionPro.Composition.SetBodyPageUsage.

I think I implied pretty strongly here that the JavaScript code you need to write is similar to the rule you must already have to determine what to fill the frame with (and whether to fill it at all), based on a particular condition. Your answer "if the data is English the frame isn't filled with anything" is fine conceptual description of what that condition is, but (a) I already knew that from your original post, and (b) I was asking for something more specific than that, i.e. the code that accomplishes that conceptual description in a rule. Sorry if that wasn't clear.

I was hoping you would post the JavaScript that accomplishes that, then I could show you how to use the same logic in a call to FusionPro.Composition.SetBodyPageUsage.

Here I am asking specifically for the JavaScript code. Can you post that?

Posting the template and the data would be the best way to help me help you.

Here I am asking for something specific again. Can you provide it?

But I think you want to do something like this in OnRecordStart:

FusionPro.Composition.SetBodyPageUsage("YourPageName", Field("SecondLanguage") != "English");

Does that make sense? Did you try doing something like this? It's basically the same as Scott's suggestion, although it doesn't require making multiple "unused" pages; it just turns off the one page off as needed, which I think is closer to what you're looking for (and is less work). Note that I'm trying to make as close to a specific suggestion as I can without knowing any details about your job, including the data field name (or your page name, but you can name it anything you want and use that name in place of "YourPageName" in my example).

 

Again, I'm not trying to be snarky, but I'm not sure how asking for your job files, or at least the code, or really anything beyond just a high-level description of the problem, is any different than your mechanic asking to look at your car when you call him up and ask him why it's making that funny noise. I really am trying to help, but in order to give you the specific suggestions you seem to be asking for, I need something more than just the concept of what you're trying to do.

 

So I've reiterated several specific questions, which, if you choose to answer them, will allow me to help you further.

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...