This tool reads a CSV file and interprets the number of PDFs required and their copy count.  It is a print workflow component to generate imposed PDFs and corresponding JSON-based job tickets, providing copy-count information for each.


Needed items.

1. Batch file "Label Lane.bat" inside scripts folder at C:\Navigator\Navigator\Config\Scripts

2. Workflow with hotfolder scripting enabled and Label Lane.bat selected as the script.

3. Eberron.exe inside the utilities folder at C:\Navigator\Navigator\Utilities

4. Input JSON file

5. Test PDFs and CSV input files.

6. a workflow to output the final print jobs. (this is variable.  It depends on output device)


To set it up:

Put eberron.exe into the path above.

Put label lane.bat at the path above.

enable hotfolder scripting to use label lane.bat.  The workflow should consist of a folder and nothing else

make a second workflow that outputs normally.  

Make that second workflow's hotfolder the output for the JSON job tickets.

It's the line about halfway down that says JSONFolderPath.

If the paths inside the CSV file are accessible to Navigator Server, then great!  Be happy!

If not, the PDFs referred to in that file can be dropped into the PDFFallbackPath and they will still be found.



The rest of the options are:

 Field                          Type                   Description                             

  CSVPath                     String                 Path to the CSV generated by the Multilane Setup Tool

  PDFFallbackPath        String                 Where to look for an input PDF if the path specified in the CSV is not available

  PDFFolderPath           String                 Where to write the output PDF files     

  JSONFolderPath         String                 Where to write the output Json files. If omitted, the PDF output folder is assumed

  OutputFilename         String                 Filename to be used as the basis for the output files

  OnePdfPerPage          Boolean              true means write a one-page PDF for each imposition (default); false means write one                                                                 multi-page PDF. In both cases multiple Json files are written.

  Padding                      Number             Width in points (1/72" in) between the imposed labels. Default is 0.

  UseSingleThread        Boolean             Write output on a single thread. This ensures multiple output documents are written                                                                     in the order that they are created. When multi-threaded (false), this is not                                                                                 guaranteed. Default is true.

  InterPageDelay           Number              Delay in milliseconds after a PDF has been written. Can be used to throttle output, if                                                                     required. Default is 0.


To use it:

You need to make an input JSON file that configures eberron.  That's the one shown above.

Drop it onto the hotfolder scripting workflow described above.


For real live use there should be an application that makes these JSONs.  Work is planned to do that.

CDT has a tool that will soon do it.


If you configure your JSON output directory to be the hotfolder of the print workflow it will automatically flow through; each PDF with a custom copy count.


Drop your config JSON on the MultiLane Input workflow.  

Then, look inside the MultiLane output workflow and you will see the job come in.


How it works


1. Parse CSV file


Eberron begins by counting the number of lanes found the CSV. It then counts each row with the same set of input PDFs, and will throw an error if the count does not match the value given by the quantity column.


2. Generate PDF impositions


A PDF is created by imposing the source PDFs required for a given lane, reading the source from the path given in the CSV. Should the file not be found, the program will also look for the file at the path given by PDFFallbackPath.


The filename of the output is based on the output filename specified in the JSON configuration. Given the example above, the first three records (job lines) from the CSV file will be written as:


    colordyne_p001.json

    colordyne_p001.pdf

    colordyne_p002.json

    colordyne_p002.pdf

    colordyne_p003.json

    colordyne_p003.pdf


The pagenumber is padded with zeroes to ensure correct ordering.


3. Generate Json job tickets


For each PDF (or in the case of a single PDF, for each page) a Json job-ticket is written that specifies the path to the PDF and a copy count. It looks like this:


    {

        "JobFilePath": "C:\\ggsource\\bb\\TS\\xitron-eberron\\Test Files\\out\\colordyne_p001.pdf",

        "overrides": {

            "Job Ticket": {

                "NumberOfCopies": 504,

                "PageRange": [

                    1,

                    1

                ]

            }

        }

    }