XML can be sent via Wasatch ImageNET HTTP, or files with the extension ".xml" will be processed when dropped in to SoftRIP's "hot folders". Output is sent to the print unit for the hot folder, and the XML file is immediately removed upon processing. The XML namespace is simple, and easily explained with examples, and solutions based on this can be easily validated with the various "RIP to file" drivers available in Wasatch SoftRIP. A log file named "hotxml.log" is maintained in the "wwrip" home folder to assist with debugging. Note: Jobs submitted by JavaScript, or HTTP Post, must include a "PRINTUNIT" tag inside the "WASATCH" root node. Simply include;with n set to select Print Unit 1 through 4. XML jobs submitted by hot folder must not include this tag, because Print Unit is inferred from the folder. Examples:The "WASATCH" root tag must always have the attribute "ACTION=JOB". Here are some useful examples for hot folders (or add the PRINTUNIT tag for HTTP submission):Print three copies of a PDF fileThe file can be PDF, ps, Tiff, jpg, or any other file format supported by Wasatch SoftRIP. The file can be located anywhere that it can be opened, and need not be in the hot folder itself. This can save a lot of network traffic. Set "Copies" to zero to cause the file to be RIP'ed, and left in the print queue to await further user interaction. Set "Copies" to "-1" to cause the file to be added to the RIP Queue as a job for later processing, but not RIP'ed or printed. A single-page file is assumed by default. Print from WebIf the value of "FILENAME" begins with "http:" or "https:", it will be treated as a URL and opened from the Internet. Sometimes URL's may contain characters that are not valid XML values. A "FILENAMEHEX" tag is available to allow these URL's to be passed via hexadecimal encoding.Suppress Generation of User Interface PreviewsThe default behavior of SoftRIP, when a job is submitted to the RIP Queue, is to run a RIP process to create a preview image for use by the user interface. That greatly increases the work that happens at the time of job submission, and it is often of no value to automated workflows. It is easily prevented by use of the 'NOPREVIEW' tag. Here is how to suppress generation of user interface previews, for the above example.Special Note: Use of the 'NOPREVIEW' tag is not supported when using the 'SCALE' or 'ROTATE' tags. A preview must be generated for the 'SCALE' or 'ROTATE' tags to process output correctly. Specify file by Regular ExpressionFile names may also be specified by the use of 'regular expression' string matching. This sample will find any file named 'acmeJob74', regardless of its extension, in the folder 'm:/archive'. It will print three copies of whatever it finds. The tag 'SOURCEFILEREGEXI' performs a string match that is not case-sensitive. For case-senstitive matching, use the tag 'SOURCEFILEREGEX'. The full power of regular expression string matching is available. If a match must be done without reference to either the extension, or the last two digits of the file name, something like this will do it:
Print one copy of page two of a Multi-page PDF fileIt is the submitting software's responsibility to ensure that the "Pageno" tag is valid for the file. Print a page with Rotation, Scaling and MirroringThe "Rotate" tag may be 90, 180, or 270. The "Scale" tag is in percent, and the "Mirror" tag is either one or zero, for on and off. Special Note: When using the "Rotate" or "Scale" tags a preview must be generated. Do not submit jobs with the 'NOPREVIEW' tag when using the 'SCALE' or 'ROTATE' tags. Print with a special choice of Imaging ConfigurationThe 'IMGCONF' tag overrides the default Imaging Configuration assigned by hot folders or by the print unit number. If the 'IMGCONF' tag is used for pages in a layout, it must be identical for every page. Failure to do this will produce undefined results.
Note that while Imaging Configurations encapsulate all information related to color management, they may not capture all device specific settings, including in some cases, settings of resolution. The setting made by this tag will fail silently if the Imaging Configuration is not available. See "XML Status Retrieval" for a means of finding what Imaging Configurations are currently installed and available for a particular print unit. If the 'IMGCONF' tag is used for pages in a layout, it must be identical for every page. Failure to do this will produce undefined results. Print two copies of a layout of two different pages, with one rotatedThe individual page's "Copies" tags must be set to zero to cause the layout to be the only output printed. The "XPOSITION" and "YPOSITION" attributes are the offset of the upper left corner of the page from the upper left corner of the layout, in inches. The "Notes" attribute of the layout tag will be placed in the notes column of SoftRIP's print queue. File types can be mixed freely. It is the submitting software's responsibility to put pages in places that make a reasonable layout. Print a layout of pre-rip'ed Print Queue entriesIt is also possible to use the PRT tag to print a layout of jobs that are already RIP'ed and waiting in the Print Queue, if the index numbers are known. Ensure that a 'w' is prepended to the index number as shown here. This can be very useful when there is a need to print pre-ripped jobs at different positions. It makes the Print Queue into a powerful cache. Print a layout and generate cutting instructionsA cutting outline will be generated for each of the two pages. The outline will be a bleed of 0.25 inches into the page for the page on the left. In addition, the page on the left will be cut with round corners, with a radius of 0.5 inches. The page on the right will have a bleed of 0.5 inches, and square corners. Annotate Pages for Identification later in the workflowIf Annotations are active for the Print Unit, the XML file can cause a unique comment and/or code-128 barcode to be printed to accurately identify the print later in the workflow. Caveat: This feature only works if at least one other annotation has been set up on the user interface for Annotation Details. Date/Time works well for this, and is typically useful itself.When Annotations are active, this will cause "Print number 27 for Fred's Sign Shop" to be included among the annotations on the print, and "BRCD 1234" to be included as a code-128 bar code. Also see "Changing Annotation Barcode fonts" under System Control. This XML will also produce a QR Code. The "HEIGHT" attribute of the "QRCODE" tag is in inches. "QR Code" must be configured on the Annotation Details screen. The string from the XML will be used instead of the file name, and all other QR Code settings will come from the configuration in Annotation Details. Clean up Queue EntriesJobs submitted through this system are placed into the RIP and Print Queues of Wasatch SoftRIP, where they are processed in the same manner as jobs submitted via SoftRIP's main interface. In all of the examples above, entries will be left in these queues after the job has been processed. This can be handy if there is a need to reprint or otherwise make use of the queue system. It can be a problem when all user interaction is to be handled outside of SoftRIP's main interface. Two special tags, "DELETEAFTERPRINT" and "DELETEAFTERRIP", are provided to specify that the queues be cleaned up following jobs. Inside of any "PAGE" tag, include both tags to cause queues to be cleaned up immediately after output. To illustrate, here is the first example from above modified to clean up all its queue entries.
The DELETEAFTERRIP tag may optionally contain the attribute "source". When this is set to "true", the source file will be deleted as well as the RIP queue entry. This can be used to automatically clean up files dropped into hot folders. The DELETEAFTERPRINT tag can also be placed in LAYOUT's. After the layout has been output, it will be deleted, and all of the Print Queue entries that it references will also be deleted. By placing DELETEAFTERPRINT in a LAYOUT, and DELETEAFTERRIP in every page contained in that layout, large layouts can be specified to completely clean up after themselves. There is an additional tag available for layouts, LAYOUTDELETEAFTERPRINT, which causes the layout to be deleted without deleting the entries that it references. Print jobs that have already been RIP'ed (print from Print Queue)Wasatch SoftRIP's Print Queue can serve as a database of pre-rip'ed files, ready for instant printing without delay. The PRINTQUEUE tag makes it possible to print directly from the Print Queue, simply setting a copy count for the desired number of prints. The Print Queue job to be printed can be specified by its index number where that is known, or otherwise by the source file that produced it. Both methods are shown in this sample.
By default, when printing is specified by source file, every entry in the queue that shares that source file will be affected. This must be managed by the system integrator. Additional specification, to select source files by both their name, and by the Imaging Configuration that was used to render them, can be done with an optional "imgconf" attribute.
This can be useful when keeping multiple different renderings of the same file in the Print Queue. Use the "Repeat" feature of SoftRIP TXThis only works if the TX option has been purchased and enabled for the copy of Wasatch SoftRIP receiving this job. Including a valid REPEAT tag in a PAGE will cause the TX "Repeats" feature to be active. The tag must include the following attributes:
Optional attributes are:
If "dspercent" is defined and is non-zero, two more attributes are required:
See documentation for Wasatch SoftRIP TX for further clarification. Variable Data Printing with Embedded PostScriptThe above example will print the words "Hi There" on top of the graphics in "background.ps", in the lower left corner. The APPENDPOSTSCRIPT tag uses the same mechanisms as the Wasatch Variable Data Printing option to allow PostScript to be specified for rendering at the end of the display list, and "on top of" background graphics. PostScript is a rich and complex language, well beyond the scope of this document. Obtain documentation and test the solutions that you create carefully. More on Appending PostScript for Variable Data Deleting Items from the RIP and Print QueuesSubmitting jobs puts entries into the RIP and Print Queues, so some means of removing them is needed. To do this, first examine the status of your queues using "xmlQueueStatus.dyn". Considerable information will be returned, and decisions about deletion can be based on this. A common and simple choice is to delete print queue entries when "output" is greater than zero. Something fancier would be to implement a "least-recently-used" buffering scheme based on "LOG" reports. There are many possibilities. For items in the RIP Queue, the unique identifier is the "job" attribute, and for the Print Queue, it is the "index" attribute. The 'DELETE' tag only requests deletions. If the item is still in use by RIP or Spool processes, the request will be held until deletion of the item is safe. Depending on what is being done with the item the request may be held for only a few seconds, or for the entire time it takes while the item is being printed, which may be many minutes. This XML deletes an item from the RIP Queue: This XML deletes an item from the Print Queue: The attribute doNotWaitForOutput="true" can be used to immediately delete an item from the Print Queue without waiting for output:Specify email recipient for Internet Deployment DriverFor jobs submitted to the Internet Deployment driver, the MAILTO tag can be used to override the email recipient specified on the system. Print Job already RIP'ed and waiting in Print QueueIn some workflows, input files may be RIP'ed and held in the Print Queue to be pulled out later. This code illustrates two ways to print a job that is already in the Print Queue and ready to output. Job can be pulled by index number, or where that is not known, by the name of the source file. More on Pulling jobs Using Barcodes The SOURCEFILE tag requires an exact match to the file name, but we also provide tags to allow flexible matching by use of regular expressions. If it is desired to pull the above file without specifying the file extension, this tag could be substituted:That is case-insensitive. If a case-sensitive matching rule is needed, use this tag instead (without the 'I'): The full power of regular expression string matching is availale. If a match must be done without reference to either the extension, or the first three letters of the file name, something like this will do it:
|