JDF: delusions of grandeur

Keebler

New member
I was incredibly excited to stumble on the recent "JDF for beginners" thread - I've been searching the web for articles on JDF (with very little success) for the better part of a year. What I seek is "JDF for the coder", which doesn't seem to exist as far as I can tell (neither virtually nor in a book). I have the 13-webinar series from CIP4 which does little to lift the veil, and everything out there seems to be focused on explaining it to business owners rather than someone looking to do something practical with it. From reading the previous thread, maybe this is because it's simply so complicated it's useless to understand from a coding perspective. Maybe.



Here's what I know: JDF is an implementation of XML Schema which is an implmentation of XML. I'm familiar with XML, have the O'Reilly book on XML schema next to me, and I've downloaded all the official JDF specs and schema. Doesn't help me with much other that preparing for a nap, frankly. It's completely impractical to approach from this angle as far as I can tell.



If anyone could look over this and offer their opinion of A) whether it's too ridiculous to pursue and B) where I can look for more practical examples of JDF, I'd really appreciate it. :) I'm no brilliant programmer, and I have no ambition to write a universal JDF app. My goal is to be able to dynamically author a fairly specific JDF document with minimal variables to talk to a single printer and get basic feedback.



I have coded (PHP) a system that creates print-ready, imposed PDFs of business cards (and other products) on the fly from web-based user input. I want to be able to log in and hit a button and have them pop out of the printer without downloading them and opening Acrobat. I know, crazy. ;)



We're using an IKON CPP 650. I need to tell it quantity, duplexing, stock, and select color settings (I'd settle for just getting it to print without specifying any of that to start). My problem is two-fold: how do I talk to the printer (over http?) and what's the minimum JDF/JMF file I need to send it? Maybe step one is just to say "hello" to the printer with JMF and get it to say "hello, I'm on" back?



Thanks for any help :) As I said it's been a long journey just to find a place that someone's even talking about practical JDF.

Edited by: Lincoln Russell on Jun 16, 2008 12:02 PM
 
Re: JDF: delusions of grandeur

can you drop a jdf (xml) file + pdf in a hotfolder as a way of "posting" to the machine and then parse a log file or read a database to poll for results?
 
Re: JDF: delusions of grandeur

I think this is possible in theory, although from what I can tell, your device can not consume JDF. So you have to decide: is it worth the time and resources you'll put into programming something like this? Weigh that against the time and resources you'll save through automation.

JDF itself is structured according to the XML standard, but that's where it ends. A JDF can call a PDF and give instructions to an output device. BUT- the output device must consume the instructions. If your goal is to merely receive a confirmation from the device, and/or automate a file submission process, that can probably more easily be scripted than made into a JDF workflow using the software that's out there now, unless you hire a $peciali$t like OA Symbio. Even then, your choices are pretty limited.

I say all of this because I've tried to do something similar to what you're talking about: 1- receive PDF 2- attach instructions for output 3- preflight 4- forward PDF/JDF mime package to the output device 5- receive notification (pass/fail preflight, job event notification, etc.) Since I'm not a programmer, all I can do is conceptualize it. :(

Sorry, dude. I sincerely wish I had the answer to this. I really believe, right now, it's up to software makers to build a JDF parsing machine that can translate input files. CIP4 is not much help because their main function is to develop the standard. Output devices can consume the files, but there isn't much out there which can CREATE a usable and flexible file.
 
Re: JDF: delusions of grandeur

> {quote:title=Keebler wrote:}{quote}
> I have coded (PHP) a system that creates print-ready, imposed PDFs of business cards (and other products) on the fly from web-based user input. I want to be able to log in and hit a button and have them pop out of the printer without downloading them and opening Acrobat. I know, crazy. ;)


Great, you know some basics. Should be doable.

>

> We're using an IKON CPP 650. I need to tell it quantity, duplexing, stock, and select color settings (I'd settle for just getting it to print without specifying any of that to start).

Find out the PostScript commands that set those things.
For example, I needed to make sure a print job came out of a specific paper tray on a HP LaserWriter 4MV. To do that, I needed to add this to the beginning of the PostScript sent :

statusdict begin 0 setpapertray

Tray "one" is set by filling the "setpapertray" variable with zero on that machine. Look at the PPD for your device, and there should be comments in there to figure out what PostScript commands need to be in the job to set the printer the way you want it.

>My problem is two-fold: how do I talk to the printer (over http?)

I would convert that PDF to PostScript and then add your magic incantations to it to set up the device as desired, and then send the PostScript over the existing print communication.

For example, if you are running PHP on a Linux / UNIX host, it is easy to <?php exec()?> a shell script that calls sed to insert the special PostScript lines. I would have a CUPS queue for the printer setup, and then you can call another shell script to push the final PostScript into the queue, and stuff should shoot out the printer.

I use a small, simple PostScript file to test the CUPS to printer connection, and that I have the setup commands correct. Make sure the CUPS queue is set to send input raw, or you will get a print out of your PostScript code. My test PostScript is like :

%%!PS-Adobe-3.0
% The following set the paper tray for the LaserJet 4:
% tray 0 = upper cassette
% tray 1 = lower cassette (optional high-capacity tray)
% tray 2 = envelope feeder (if installed)
% tray 3 = multipurpose tray


% Set paper tray to upper cassette
statusdict begin 0 setpapertray

% Draws a square
newpath
270 360 moveto
0 72 rlineto
72 0 rlineto
0 -72 rlineto
-72 0 rlineto
4 setlinewidth

% Strokes the square and tells the printer to image the page
stroke showpage

>and what's the minimum JDF/JMF file I need to send it?

Unless the printer knows about JDF, it is probably better to give it PostScript.

Chasd.
 
JDF connectivity

JDF connectivity

Hi,

I have Xerox docucolor 242 with external RIP, and i communicate JDF files to the printer through Fiery JDF connector client.

For the web-to-print solution I need to set only a few of basic priting options such as:
Tray, number of copies, brightness of printing, paper size, paper weight and paper type.

I have created some JDF files through Adobe Acrobat 9 Pro Extended just for try-out. But I have problems with the compatibility. I am able to send the file to print with defined Tray, number of copies, paper size and orientation.

But I have a problem with:
- Paper options (paper size, paper type) I have them set in the JDF file syntax, but the printer ignores them. I tried to set them in Acrobat, JDF connector also directly in the syntax, but the printer ignores the command.

- Printing brightness. I am not able to find a simple command for setting the brightness.

I would like to ask that if there is a problem with the compatibility, and if there is a way how to fix it, or if it is a problem with the syntax of JDF
I have attachet one JDF syntax, that i have been using.
 

Attachments

  • Test JDF.txt
    5.6 KB · Views: 271

PressWise

A 30-day Fix for Managed Chaos

As any print professional knows, printing can be managed chaos. Software that solves multiple problems and provides measurable and monetizable value has a direct impact on the bottom-line.

“We reduced order entry costs by about 40%.” Significant savings in a shop that turns about 500 jobs a month.


Learn how…….

   
Back
Top