Overview
Translates between JDF — the CIP4 job ticket that MIS and prepress systems speak — and the DC job XML the Duplo PC Controller reads. Drop a file in and the direction is taken from it: a JDF becomes a DC job, a DC job becomes JDF 1.5.
How JDF and the Duplo DC job XML line up, converting in both directions, hot folders and JMF.
Translates between JDF — the CIP4 job ticket that MIS and prepress systems speak — and the DC job XML the Duplo PC Controller reads. Drop a file in and the direction is taken from it: a JDF becomes a DC job, a DC job becomes JDF 1.5.
Plenty of production software can write a JDF and nothing else — Prinect, Apogee, Avanti, EFI Pace, a web-to-print front end. None of them know what a Duplo DC wants. Rather than have someone read the JDF and retype the job into the controller, the bridge converts it. The other direction matters too: a DC job you have already built can be handed back to a JDF workflow so the MIS can track it.
Closer than you would expect. Duplo’s schema is plainly derived from JDF — the attribute names are the same ones CIP4 uses.
| Duplo DC job XML | JDF 1.5 |
|---|---|
DuploDCJobTemplate | JDF, a Combined node with
Types="Cutting Creasing Perforating" |
@MediaSize | Media/@Dimension |
CutBlock/@BlockName, @BlockSize |
CuttingParams/CutBlock — same attribute names |
CutBlock/@BlockPosition | CutBlock/@BlockTrf, as
1 0 0 1 x y |
Crease/@PositionY, @Depth |
CreasingParams/Crease with StartPosition, WorkingPath and
Depth |
Perforation/@StartPosition, @WorkingPath |
PerforatingParams/Perforate — same attribute names again |
@ToolID, Regmark, Skewmark, Shrinkagemark, Barcode |
a private duplo: namespace — see below |
Two things are not a straight rename, and they are where a careless converter would quietly cut the wrong job.
Perforation is
addressed relative to the piece it crosses, with y measured down from that piece’s trim top. JDF puts
everything in sheet coordinates with y up. Every perforation is moved between the two spaces. Creases
already agree — both are sheet-absolute and y-up — so those pass through untouched.Perforation to every
matching block, so a 4-up sheet with the same perf on each piece carries one entry. JDF has no such rule and wants
it written out per block. Going out to JDF expands — two entries become eight on a 4-up — and
coming back in collapses them again. The panel tells you when this happens.The One file tab is for one-offs. The Hot folders tab is the one that earns its keep: two watched folders, one in each direction, running in the background.
| Direction | What it does |
|---|---|
| JDF in → DC job XML out | Point the watch folder at wherever the MIS drops its JDF and the output folder at the PC Controller's Import XML folder. Jobs cross on their own. |
| DC job XML in → JDF out | The other way, so a finished DC job is handed back for the MIS to track. |
Each direction takes a watch folder and an output folder, and optionally a folder to file the original into and
one for anything that fails. The output name can use {name}, {job} and
{date}. Check now sweeps both folders immediately rather than waiting.
Three details that matter in a real shop:
| Situation | What happens |
|---|---|
| A file is still copying in | It is left until it stops growing. Reading a JDF half-written across the network gives a confusing error for a file that is perfectly good a second later. |
| The output folder is being watched too | Output is written under a temporary name and renamed into place, so the DC Controller never sees a partly written job and rejects it. |
| A DC job lands in the JDF folder | Left alone with a note rather than moved to the error folder — a file is not broken just because it came in the wrong door. |
Watching a mapped drive or a UNC share is normal in a print shop, and that is exactly where file-change events go missing without raising an error, so the folders are also re-checked on a timer. Under Settings → Notifications you can route JDF hot folder failed a job to a popup, email or text; a hot folder that has quietly stopped converting otherwise looks just like a quiet day.
Workflow Automation also has a Convert JDF ↔ DC job XML step under Output, for when the translation is one stage of a longer workflow rather than a folder on its own.
The Die Line Reader also has a Save as JDF… button beside its XML export, so a die-line PDF can go straight out as JDF. The JDF is produced from the DC XML rather than built separately, so the two exports can never describe different jobs.
JDF is the job; JMF — Job Messaging Format — is the conversation about it. Handing a workflow application a file and never speaking again leaves every job it sent sitting open on its list for ever. The JMF messaging tab is the bridge's half of that conversation with whatever application is driving the finisher.
Three settings at the top describe the shop rather than the job, so they are remembered: the application's JMF listener address, the Sender ID this bridge calls itself, and the Device ID of the finisher the messages are about. Below them go the job's details — their Job ID and queue entry ID, echoed back exactly as they sent them, since those are their handles for the job and swapping them is how an MIS loses track of something it is holding open.
| Say | What goes out |
|---|---|
| It arrived | A Response to their SubmitQueueEntry with ReturnCode 0 and the queue entry marked Waiting. A submission that gets no response is, to the sender, a failed one. |
| It started | A Status signal — device Running, job InProgress. |
| It finished | A Status signal — job Completed, 100%, with the good and wasted sheet counts attached. Those amounts are what an MIS bills from. |
| Hand the job back | A ReturnQueueEntry command pointing at the finished JDF, which is how a device gives the job back rather than just reporting on it. |
| It went wrong | A Notification signal, Class Error, carrying the explanation you typed. An error with no comment is a return code and nothing else. |
| What I can be asked | The answer to their KnownMessages query — the list of messages this bridge services. |
Send posts the message to the listener; Save and Copy are for a workflow that collects messages from a folder instead. If their answer comes back with a ReturnCode other than zero, that is a refusal and the bridge reports it — including their comment — rather than claiming the message was accepted.
Traffic goes the other way too. Drop a JMF they sent on Something arrived and the bridge reads it, shows what it learned — their message ID, the JDF's location, where to reply — and builds the response it owes them, ready to send back. Anything it cannot honestly service comes back as ReturnCode 5 naming the message type, because a sender that gets silence retries for ever.
JDF has no home for a Duplo tool id or for the registration, skew, shrinkage and barcode marks. Rather than drop
them, they travel in a private namespace — duplo:ToolID and a duplo:DCMarks block.
A JDF consumer ignores anything in a namespace it does not know, so the file stays valid JDF, and a round-trip
back to DC XML returns every one of them exactly.
Coming the other way, some things a JDF can describe are beyond the machine, and those are reported rather than guessed at:
| In the JDF | What happens |
|---|---|
A BlockTrf that rotates or scales a block | Only the position is used, and it says so — a DC can only place a block square to the sheet. |
| A perforation outside every block | Left out and reported. The DC addresses perforations relative to a piece, so one that belongs to no piece cannot be expressed. |
| A crease running down the sheet | Becomes a Score perforation — the DC Crease element
carries a Y position and nothing else. |
No Media dimension | Falls back to the output Component, and failing that
to the extent of the blocks, with a warning to check the sheet size before cutting. |
The Bridge above translates the cutting part of a JDF. The MIS also takes in the whole job ticket — who the customer is, how many, when it is due, the finished size, the stock, how many up, which files and which finishing — from any system that writes JDF or XJDF: EFI Pace, PrintSmith Vision, Avanti, Prinect, or a web-to-print front end. Open MIS → Jobs → JDF tickets.
| Way in | How it works |
|---|---|
| Hot folder | The sender drops a .jdf (and usually its PDF) in a folder. The ticket is
taken in and filed in Handled tickets go to; one that cannot be read goes to Failed tickets go to.
A PDF that was sitting beside it is filed with it once it has been copied into the job. |
| JMF | Turn on Listen for JMF and give the sender the address shown as its JMF device URL.
It sends a SubmitQueueEntry whose URL points at the JDF (a file, a share, or http). The reply carries
the MIS job number as the queue entry, so the sender can track it. If the sender gave a return address it is told
when the job is released or rejected. Device status sent to the same port goes to the floor tracking, as JMF from
a finisher always has. |
| By hand | Take in a JDF file… — for trying a new sender’s tickets before pointing it at the folder, or one that came by e-mail. |
Every ticket becomes a job on hold, waiting for review. The MIS fills in what it can:
| From the ticket | What the MIS does with it |
|---|---|
| Customer | Matched on the sender’s customer id against your customer code, then e-mail, then name. A customer you do not have is created, and the review says so in case it is a duplicate. |
| Press sheet | Matched to a catalog stock of that size, preferring one whose name shares words with the paper the ticket names. If nothing is that size, the review says to pick one. |
| Finishing processes | Routed to your cost centers — cut, crease and perf to one DC pass (the DC the ticket names, if you have it), spot UV to a DDC, foil to the DFL, folding, stitching, binding. A process no cost center does is listed so it can be added by hand. |
| Their imposition | Kept on the job. A workflow uses it instead of the estimate’s layout. |
| Cut blocks | Turned into a DC job by the Bridge and filed in the job folder. |
| Artwork | Copied into the job folder. A file that has not arrived yet is looked for again every 30 seconds, up to the Wait for artwork time. |
The job’s JDF job ticket card shows what came in and everything worth a second look. Correct anything on the job, then Release to production — or Reject it with a reason. Release is refused while the job has no quantity, no trim size, or artwork the ticket named is still missing. A held job cannot be moved off hold with the Status dropdown; it has to be released, so there is always a record of who let it go.
Not supported yet: JDF sent inside a MIME package (the sender is told to send a file or http link instead).
Every MIS job has a Finishing check card on its ticket. It checks the job against each Duplo finisher on its routing, using the limits from the Duplo brochures and product guides, so a job that a finisher cannot run is caught before the sheets are printed.
| Finisher | What is checked |
|---|---|
| DC-618, DC-648, DC-746 | Sheet fits the feeder (DC-618 330.5 mm wide, DC-648 and DC-746 370 mm; DC-746 B2 sheets through the DSF-20K / DC-20000). Stock weight. Pieces at least 48 × 50 mm. Gutters: under 3 mm cannot be cut; a slit gutter must be 0 or 5–15 mm, and one over 15 mm lands on the exit tray. Edge margins 3.2–55 mm for the slitter. Lead margin at least 3 mm, trail at least 5 mm; on the DC-618 a trail of 60 mm or more is not chopped into the bin. Slit count (6, or 8 on a DC-648 and 10 on a DC-746 with the extra modules), 30 cuts, 20 creases. Micro-perf stock range on the DC-618. |
| HC-550i, HC-680i | Sheet fits the cutter. Narrowest strip against the minimum cut, with and without the false clamp. |
| DDC-810 PRO, DDC-8000 | Sheet and stock. The 10 mm uncoated border when the job has spot UV, coating or foil. Coating width (DDC-810 322.5 mm) and thickness (DDC-810 from 15 µm, DDC-8000 from 10 µm). |
| DFL-500, DFL-700 | Sheet and stock. |
| UD-320, UD-M300, DSM-1000 | Sheet and stock; the waste separator needs 200 gsm or more; the DSM-1000 needs a 28 mm reference-edge margin. |
| DBM-150, DBM-350, DBM-700i, iSaddle | The open spread fits the feeder. Inside and cover stock. Sheets per book (pages ÷ 4): DBM-150 25 (20 on coated), DBM-350 25, DBM-700i 30 — up to 50 with the DBM-700S square spine and 24 gauge wire, 10 on stock under 64 gsm — iSaddle 30. |
| DPB-500, DB-300 | Book size and spine (pages ÷ 2 × the stock’s caliper): DPB-500 1–51 mm, DB-300 up to 50.8 mm. |
| CF375, CP375, TF375, DF-1300L | Sheet and stock; perforating range on the CP375; creases. |
Cannot run means the machine cannot take the job. Check means it may need an option, a setting or a test sheet.
From operator manuals. Where a maker’s own operator manual is on file (Duplo Docs → Competators), its figures replace the web page’s — a manual gives the gutters, edge trims and cut limits a web page leaves out. That covers the Horizon SmartSlitter (3 across with a gutter, 5 butted; gutters 5–15 mm; edge trim 3–60 mm), SmartStacker, AFC-566F, CRF-362, CRA-36 and RD-3346; the Uchida AeroCut X, Prime, Velocity, nano and nanoMax (2 mm gutter minimum, lead/trail trim, 20 cuts, creases and perforations per sheet in all); the Morgana DigiBook 200/300/450 perfect binders, AutoCreaser 33, 50 and Pro 385 and DigiFold Pro; the Challenge 305 TC cutter; the Graphic Whizard PT-330 S/SA and PT-335 SCC; and PDI Rhin-O-Tuff punches. Setup → Finishers shows “manual:” and the file name under Limits from.
POLAR (Heidelberg). POLAR cutters, formerly Polar-Mohr, are now sold by Heidelberg. Their limits come from Heidelberg’s product pages and sheets: the N 78, N 92, N 115, N 137, N 155 and N 176 high-speed cutters; the D 66 PLUS and D 80 PLUS hydraulic cutters; the TwinClamp 115/137; and the Autotrim M 137 label cutter. The check compares the sheet with the cut width and table depth. It compares the narrowest strip with the smallest cut, with and without the false clamp plate. For the Autotrim it also checks the label size (20 × 40 up to 230 × 1,010 mm). Heidelberg publishes no cut width for the TwinClamp, so the TwinClamp gives warnings only. Loading height is in the notes but is not checked. To match a cost center, put the model in its name, for example “Polar N 115”.
The Imposer’s Cutter Program… button saves the layout on screen as cutting data. The Cutter program (POLAR / Horizon) workflow step does the same after an Impose step, writing straight into a hot folder. Three files can be made:
Pick the cutter so the program knows its smallest cut. When a trim is narrower than that, the program turns the pile round and finishes from the other side. Tick False clamp plate fitted to use the larger false-clamp minimum. The shop’s own guillotines from Setup → Finishers are in the list too. In the step, [var.machines] uses the first guillotine on the MIS job’s routing.
Lead edge in the PPF / JDF sets which way up the sheet is written; the default puts the lead (gripper) edge at the bottom. Before the first live job, send one test file to Compucut or iCE LiNK and check that the sheet appears the right way round. If it doesn’t, switch the setting. The files follow the published CIP3 PPF 3.0 and JDF specifications, but they have not yet been tried on a live Compucut or iCE LiNK. Demo copies are marked DEMO inside the file and in its name.
Setup → Finishers also lists GBC — Catena, Ultima and Pinnacle roll laminators, Spire III, Foton 30, StreamPunch Ultra and VFX, eWire VFX, MagnaPunch Elite and the Ci500E coil inserter — and MBM, with the machines MBM sells: Uchida AeroCut X, X Pro, nanoMax, AeroDieCut and Precision Card Pro; Triumph 4350, 4815, 4850, 4855, 5255, 5260, 5560, 6655, 6660, 7260 and Speedcut 56/68 cutters; MBM 208J, 408A, 508A and 1800S folders; SF2, Sprint 3000, iBooklet and StitchMaster; GoCrease 3000, 4000 and SEMI; and the FoilGlazer II. As with Horizon, every limit comes from the maker’s own page or PDF. Roll laminators are checked on document width and board thickness (they publish no sheet length); inline punches on the page size, which must be one they punch; wire and coil binders on book thickness (from the caliper) or sheet count. Where MBM’s web page and its PDF disagree (the 1800S top weight), the lower figure is the limit and the rest is a Check — test first.
Shops that also run Horizon equipment — sold in the US by Standard Finishing Systems as Standard Horizon — are covered too. MIS → Setup → Finishers lists the Horizon models with published specs: SmartSlitter, RD-N4055, CRF-362, CRA-36, CRS-36, AFV-566/564 folders, PF-P3110, StitchLiner Mark V, Mark IV and 6000, SPF-200A/L, SPF-2000, BQ-160, BQ-280PUR, BQ-300, BQ-500, CABS6000, HT-30C, HT-300, HT-110, HT-80, APC-610 and PC-640. Each limit was taken from Horizon’s own product pages or Standard’s brochures, and only what Horizon publishes is checked — for example the SmartSlitter’s sheet size, weights, 48 × 50 mm minimum piece, 3-up and perforating range, but not a gutter or lead margin, because Horizon does not publish one. Models marked confirm came from a hard-to-read PDF and only warn.
On each cost center, pick the machine under Machine for the finishing check; a cost center named with the model (“Standard Horizon StitchLiner Mark V”) is matched on its own. For anything else — a Standard-sold Plockmatic or Hunkeler, an older Horizon, another maker — press Add a finisher, choose what kind of machine it is, and enter the limits from its spec sheet in millimetres and gsm. Only the limits you enter are checked. Stitchers are checked by stitch thickness when the stock has a caliper, or scaled from the maker’s “about N sheets of X gsm” when it does not (as a warning).
Paper weight. The card shows which weight it used and where it came from, in this order: the JDF ticket’s weight; the Weight (gsm) entered on the stock; the stock’s Basis weight (“100# cover” is 271 gsm, converted exactly); a basis weight in the stock’s name (“100# Silk Text”); or, last, the caliper — about 21 gsm per point, which is only an estimate, so a limit it breaks is shown as Check, not Cannot run. Setup → Stock shows every paper’s weight and flags the ones that are estimated or missing; a missing or estimated weight can also be typed straight into the job’s Finishing check card and saved to the stock.
Margins. When the Imposer generates a job it is linked to — or an Impose workflow step runs for an MIS job — it records the layout it really built: sheet, grid, gutters between columns and between rows, and the distance from each sheet edge to the nearest trim line. From then on the card says As imposed and checks those exact numbers. Before that the card says Forecast: the margins are worked out from the estimate (or the JDF ticket), centred between the lead grip and the other margins the way the Imposer places the block — not assumed equal on every side. Column gutters are checked as slit gutters and row gutters as cut gutters.
A JDF job with a Cannot run result will not release on its own. Fix the job, or tick Release anyway and give a reason: who overrode it, why, and every problem they overrode go in the job’s history.
[var.finishBlocks] in a Route step to send those jobs to an approval instead. It also sets
[var.finishWarns] and [var.finishSummary]. Put it after the Impose step and it
checks the sheet as imposed (the Impose step sets [var.marginLead], [var.marginTrail],
[var.marginLeft], [var.marginRight] and the [var.imposed…] grid); before it,
the forecast.