Jump to content

sschardan

Registered Users - Approved
  • Posts

    107
  • Joined

Posts posted by sschardan

  1. It's October, so that means Adobe has once again released Indesign updates that have broken FusionPro. I saw an email that there is a pending 13.1 FP soon to be released.

    Will this release be compatible with Adobe CC 2024?
    Will this release be compatible with MacOS 14, Sonoma? (is the current 13.0.4 compatible with Sonoma?)
    Will 13.1 fix the known Mac bug that crashes Producer Monitor when trying to view the log?

    I have seen posts here saying a native Mac Silicone version of FP is in the works. I understand and appreciate that this is a tall task. But the M1 chip has now been out for three years, come November, and we are now on the verge of the M3. Any news on when FP will run natively?

    Any info for these questions would be greatly appreciated.

    Thanks

  2. This is what I do for this situation:

     

    Create a pg. 1 with a design that bleeds past the trim so it can be seen from the edge when cut, like this:

    image.thumb.png.6eefc54652a43cc7d8f8c24d3ef57c90.png

     

    I put pertinent info on that page to make it easy for the finishers. I name it "divider" and set it to be unused.

    I then have this for OnRecordStart:

    FusionPro.Composition.repeatRecordCount = 125
    
    if (FusionPro.Composition.repeatRecordNumber % 25 == 1)
    
        {FusionPro.Composition.SetBodyPageUsage("divider", true)}

    and this text rule for my Pad # that prints on the divider page:

    return Int(FusionPro.Composition.repeatRecordNumber/25) + 1

    The Modulus (%) is the remainder from dividing the repeated record number by 25. So when the repeat record number is 1, the remainder is also 1, and the divider page prints as the first page of a set of 25.

    Hope this helps.

     

     

  3. Here is something I have done in the past. Maybe this will work for you:

     

    Javascript Global
    
    var SetCount = 0
    var SubSetCount = 1
    
    
    
    If using imposition stacking
    
    OnJobStart
    
    FusionPro.Composition.chunksBreakStacks = true;
    
    
    
    
    OnRecordStart
    
    var JobNumber = "78807 "
    var StackSize = 4000
    function NewName()
    {
    FusionPro.Composition.OpenNewOutputFile(JobNumber + Field("Package") + "_" + SubSetCount + "." + FusionPro.Composition.outputFormatExtension);
    }
    
    if (FieldChanged("Package"))
    
       {
           SetCount = 1;
           SubSetCount = 1;
           NewName()
       }
    
    else
    
       {
           if (SetCount < StackSize)
    
               {
                   SetCount = SetCount + 1;
               }
    
           else
    
               {
                   SubSetCount = SubSetCount + 1;
                   NewName()
                   SetCount = 1;
               }
       }

  4. I just had a job that was a coupon where each card had a unique code, and they wanted the job delivered in multiple sets of differing quantities. Here is the code I used to successfully produce the job:

     

    // 4 sets of 380
    
    if ((CurrentRecordNumber() >= 1) && (CurrentRecordNumber() <= 1520))
    
       {   
           SetQuantity = 380
       }
    
    // 9 sets of 350
    
    else if ((CurrentRecordNumber() >= 1521) && (CurrentRecordNumber() <= 4670))
    
       {   
           SetQuantity = 350
       }
    
    // 34 sets of 255
    
    else if ((CurrentRecordNumber() >= 4671) && (CurrentRecordNumber() <= 13340))
    
       {   
           SetQuantity = 255
       }
    
    // 26 sets of 215
    
    else if ((CurrentRecordNumber() >= 13341) && (CurrentRecordNumber() <= 18930))
    
       {   
           SetQuantity = 215
       }
    
    // 28 sets of 170
    
    else if ((CurrentRecordNumber() >= 18931) && (CurrentRecordNumber() <= 23690))
    
       {   
           SetQuantity = 170
       }
    
    // 11 sets of 115
    
    else if ((CurrentRecordNumber() >= 23691) && (CurrentRecordNumber() <= 24955))
    
       {   
           SetQuantity = 115
       }
    
    // 1 set of 45
    
    else if ((CurrentRecordNumber() >= 24956) && (CurrentRecordNumber() <= 25000))
    
       {   
           SetQuantity = 45
       }
    
    if (SetCounter == 1)
    
       {
           FusionPro.Composition.SetBodyPageUsage('divider', true)
       }
    
    if (SetCounter < SetQuantity)
       {
           SetCounter++;
       }
    else
       {
           SetCounter = 1;
       }

     

    In javascript globals I have defined SetCounter to 1 and SetQuantity to 0.

     

    Is there a way to make this more concise, and to determine the record numbers in a more dynamic way? I see this as being a repeating job in the future, but with differing set quantities and amounts per set. It would be nice to just enter the number of sets and quantities per set and have code to figure out the record numbers.

     

    I would appreciate any guidance anyone is willing to share!

     

    Thank you...

  5. This might be a reach, but try exporting with different compression settings in the Output tab of the composer. There is now an Advanced compression that has given me some bad output with images. It turned subtle variations in a background of an image to blocky chunks, even dropping some portions to white. When I switched to basic or no compression, the problems went away.
  6. For many years we have used a different software for personalized images. That software creates the images and creates an appended data list, such that the name of each unique image is in a new field named "Field1", "Field2", "Field3", etc. I bring that appended data into a simple template that I use to keep an updated contact sheet. Each page consists of 8 picture and text frames using the rules below:

     

    Text frame rule called label1:

     

    return (((FusionPro.Composition.currentPageNumber-1) * 8) + 1)

     

    Graphic frame rule called graphic1:

     

    var pic = CreateResource(".//images//" + Field("Field" + Rule("label1")), "graphic", true)
    
    return pic

     

    Theses rules are duplicated 7 more times and customized for each position.

     

    This works great. As I get more images, I duplicate as many pages as necessary, and it keeps bringing in the appropriate images and labels. Right now, I am up to 134 images.

     

    Now we are using FP Expression. So I thought I could continue with a similar style by using this rule:

     

    var ResourceName = Rule("label1"); 
    var Field1 = "First"; 
    
    var myPI = Resource(ResourceName);
    myPI.AddData(UntaggedRuleOrField(Field1) || " ");
    
    
    return myPI;

     

    and then name my FP Expression resources beginning at 135 to pick up where the other images ended.

     

    This is not working, because the call to create the Expression images happens before composition, so it is not bringing the composition page number into the label rule calculation, thus resulting in not being able to find resource 0, resource -1, resource -2, etc.

     

    Is there an alternative way to read the template body page number so it can be calculated up front?

     

    Thanks

  7. Use a loop to build the table, and insert a break tag to break out of the loop if a field is empty.

     

     

    for (var i = 0; i <= 16; i++)

     

    {

    var FieldToUse = (i + 1)

     

    if (Field("Item " + FieldToUse) == "" )

     

    break;

     

    insert your table structure here

     

    }

  8. Thanks. I did mean 10.14.5, fat fingers! Anyway Dan, your presumptions are true and I can not access the dropbox folder from within FP. What I did to work around this is to set up a folder action to sync the dropbox folder on my mac to a server folder that Producer can see.
  9. We have a client that is demanding that we use a Dropbox link as an image path to search for images. I am attempting this rule:

     

    var pic = CreateResource("dropbox link/"+Field("Image"), "graphic", true)

     

    return pic

     

    where "dropbox link/" is the actual private link.

     

    So far, it is not working. Not to say that I am surprised. Is this possible? My other solution would be to manually download all the images to a local folder just before composing new data.

     

    The dropbox link does go to the proper folder when placed in a web browser.

     

    Scott

  10. FYI:

     

    I have a template that uses the CopyFit line function on a text frame, and I get that same error when composing locally on my mac. But if I use Producer, I do not get the message. The job composes just fine, either way.

     

    I do not get this error message if I am just using the generic copy fitting on text frames that is activated from the "overflow..." menu.

     

    I am running 11.0.9 on Mac OS 10.14.5, Acrobat DC 2020

  11. Dan,

     

    Yes, I wholeheartedly agree that with Masking Text personalization, this is possible. But when it is an Image Character personalization like this example, I do not see how it can be accomplished. And that is the feature request I am suggesting for consideration in the future.

  12. Coming from DirectSmile, there is a feature that I miss, the ability to add an overlay strictly to the personalization. For instance, a personalization goes from a light area of an image into a dark area, such as the side of a building where a part of it is in daylight and a part is in the shadow of the overhang.

     

    In DirectSmile, I could apply an image to use as a shadow overlay to darken the personalization as it crosses into the darker area of the background image. This method would not darken the existing background image like the image overlay feature does in Expression, it would strictly darken the personalization alone.

     

    Just a wish for the future. :)

×
×
  • Create New...