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
]
}
}
}