Пример #1
0
        public virtual void testGetMedia()
        {
            JDFLayout lo    = (JDFLayout) new JDFDoc("JDF").getRoot().appendElement(ElementName.RESOURCEPOOL).appendElement(ElementName.LAYOUT);
            JDFLayout s1    = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "s1");
            JDFMedia  media = lo.appendMedia();

            media.setMediaType(EnumMediaType.Plate);
            Assert.IsNull(lo.getMedia(EnumMediaType.Paper));
            Assert.IsNull(s1.getMedia(EnumMediaType.Paper));
            Assert.AreEqual(s1.getMedia(EnumMediaType.Plate), media);
            Assert.AreEqual(lo.getMedia(EnumMediaType.Plate), media);

            JDFMedia media2 = s1.appendMedia();

            media2.setMediaType(EnumMediaType.Paper);
            Assert.IsNull(s1.getMedia(EnumMediaType.Plate));
            Assert.AreEqual(s1.getMedia(EnumMediaType.Paper), media2);
            JDFMedia media3 = s1.appendMedia();

            media3.setMediaType(EnumMediaType.Plate);
            Assert.AreEqual(s1.getMedia(EnumMediaType.Paper), media2);
            Assert.AreEqual(s1.getMedia(EnumMediaType.Plate), media3);
            media3.makeRootResource(null, null, true);
            Assert.AreEqual(s1.getMedia(EnumMediaType.Paper), media2);
            Assert.AreEqual(s1.getMedia(EnumMediaType.Plate), media3);
        }
Пример #2
0
        ///
        ///	 * <param name="xm">
        ///	 * @return </param>
        ///
        protected internal virtual JDFMedia initPlateMedia()
        {
            if (theParentNode != null)
            {
                theNode.ensureLink(theParentNode.getResource(ElementName.MEDIA, EnumUsage.Input, 0), EnumUsage.Input, null);
            }
            JDFMedia m = (JDFMedia)theNode.getCreateResource(ElementName.MEDIA, EnumUsage.Input, 0);

            if (EnumMediaType.Paper.Equals(m.getMediaType()))
            {
                m = (JDFMedia)theNode.getCreateResource(ElementName.MEDIA, EnumUsage.Input, 1);
            }
            m.setResStatus(EnumResStatus.Available, false);
            m.makeRootResource(null, theNode.getJDFRoot(), true);
            theNode.getJDFRoot().getCreateResourcePool().moveElement(m, null);
            m.setDescriptiveName("the plates to use");
            m.setMediaType(EnumMediaType.Plate);
            m.setPartUsage(EnumPartUsage.Implicit);
            if (bPartitionedPlateMedia && vParts != null)
            {
                VJDFAttributeMap vSheets = getReducedMap(new VString("Side Separation PartVersion", null));
                for (int i = 0; i < vSheets.Count; i++)
                {
                    JDFAttributeMap part = new JDFAttributeMap(vSheets[i]);
                    // JDFResource mm=
                    m.getCreatePartition(part, partIDKeys);
                }
            }
            else
            {
                m.setDimensionCM(new JDFXYPair(70, 102));
            }
            return(m);
        }
Пример #3
0
        ///
        ///	 * <param name="icsLevel"> </param>
        ///
        protected internal virtual JDFMedia initPaperMedia()
        {
            JDFResourceLink rlM = null;

            if (thePreviousNode != null)
            {
                JDFMedia media = (JDFMedia)thePreviousNode.getResource(ElementName.MEDIA, EnumUsage.Input, 0);
                if (media != null && !EnumMediaType.Paper.Equals(media.getMediaType()))
                {
                    media = (JDFMedia)thePreviousNode.getResource(ElementName.MEDIA, EnumUsage.Input, 1);
                }
                if (media != null && !EnumMediaType.Paper.Equals(media.getMediaType()))
                {
                    media = null;
                }

                if (media == null)
                {
                    media = getMediaFromNode(thePreviousNode);
                    if (media == null)
                    {
                        VElement v = thePreviousNode.getPredecessors(true, false);
                        if (v != null)
                        {
                            int siz = v.Count;
                            for (int i = 0; i < siz; i++)
                            {
                                media = getMediaFromNode((JDFNode)v[i]);
                                if (media != null)
                                {
                                    break;
                                }
                            }
                        }
                    }
                }
                rlM = theNode.linkResource(media, EnumUsage.Input, null);
            }

            if (rlM == null && theParentNode != null)
            {
                rlM = theNode.linkResource(theParentNode.getResource(ElementName.MEDIA, EnumUsage.Input, 0), EnumUsage.Input, null);
            }

            paperMedia = (JDFMedia)theNode.getCreateResource(ElementName.MEDIA, null, 0);
            paperMedia.setDescriptiveName("the paper to print on");
            paperMedia.setResStatus(EnumResStatus.Unavailable, false);
            paperMedia.setMediaType(EnumMediaType.Paper);
            paperMedia.setDimensionCM(new JDFXYPair(70, 102));
            paperMedia.setWeight(90);
            paperMedia.setThickness(90 / 0.8);
            return(paperMedia);
        }
Пример #4
0
        public override void setUp()
        {
            base.setUp();
            JDFElement.setLongID(false);
            d = new JDFDoc("JDF");

            n = d.getJDFRoot();
            n.appendXMLComment("Example to illustrate JDF 1.3 Base and MIS compatible amount handling", null);
            n.setType(EnumType.Combined);
            inMedia = (JDFMedia)n.addResource(ElementName.MEDIA, null, EnumUsage.Input, null, null, null, null);
            outXM   = (JDFExposedMedia)n.addResource(ElementName.EXPOSEDMEDIA, EnumUsage.Output);
            outXM.refMedia(inMedia);
            n.addTypes(EnumType.Interpreting);
            n.addTypes(EnumType.Rendering);
            n.addTypes(EnumType.ImageSetting);
            n.setJobID("RIP-job");
            rlXMOut   = n.getLink(outXM, null);
            rlMediaIn = n.getLink(inMedia, null);
            inMedia.setProductID("Media-ProductID");
            inMedia.setMediaType(EnumMediaType.Plate);
            inMedia.setMediaTypeDetails("Aluminum");

            vRL = new VElement();
            vRL.Add(rlMediaIn);
            vRL.Add(rlXMOut);

            JDFExposedMedia xmPart = (JDFExposedMedia)outXM.addPartition(EnumPartIDKey.SignatureName, "Sig1");

            vsSheet = new VString("Cover Sheet1 Sheet2", " ");
            vsCMYK  = new VString("Cyan Magenta Yellow Black Spot1", " ");
            VElement v = xmPart.addPartitions(EnumPartIDKey.SheetName, vsSheet);

            for (int i = 0; i < v.Count; i++)
            {
                JDFResource xmPart2 = (JDFResource)v[i];
                xmPart2.getCreatePartition(EnumPartIDKey.Side, "Front", null).addPartitions(EnumPartIDKey.Separation, vsCMYK);
                // xmPart2.getCreatePartition(EnumPartIDKey.Side,"Back",null).
                // addPartitions(EnumPartIDKey.Separation, vsCMYK);
            }
            statCounter = new StatusCounter(n, null, vRL);
            statCounter.setDeviceID("Rip-DeviceID");
            statCounter.setCopyResInResInfo(rlMediaIn.getrRef(), true);
        }
Пример #5
0
        public virtual void testMediaCatalog()
        {
            JDFDoc doc = new JDFDoc(ElementName.JMF);
            JDFJMF jmf = doc.getJMFRoot();

            jmf.setSenderID("DeviceSenderID");

            JDFQuery q = jmf.appendQuery(EnumType.Resource);

            q.setXMLComment("This is the query for a catalog");

            JDFResourceQuParams rqp = q.appendResourceQuParams();

            rqp.setExact(true);
            rqp.setXMLComment("Scope=Allowed is a new attribute to describe that we want a complet list of all known resources");
            rqp.setResourceName(ElementName.MEDIA);
            //		rqp.setAttribute("Scope", "Allowed");

            JDFResponse r = q.createResponse().getResponse(0);

            r = (JDFResponse)jmf.moveElement(r, null);
            r.setXMLComment("This is the response to the query - generally it will be in it's own jmf...\nThe list of ResourceInfo + the ResourceQuParams could also be specified in a Signal.");

            for (int i = 1; i < 5; i++)
            {
                JDFResourceInfo ri = r.appendResourceInfo();
                ri.setResourceName("Media");
                JDFMedia m = (JDFMedia)ri.appendResource("Media");
                m.setDescriptiveName("Description of Media #" + i);
                m.setDimensionCM(new JDFXYPair(i * 10, 13 + i % 2 * 20));
                m.setBrand("Brand #" + i);
                m.setProductID("ProductID_" + i);
                m.setMediaType(EnumMediaType.Paper);
                m.setResStatus((i < 2 ? EnumResStatus.Available : EnumResStatus.Unavailable), false);
                ri.setXMLComment("More attributes can be added as needed; Available = loaded");
            }
            doc.write2File(sm_dirTestDataTemp + "MediaCatalog.jmf", 2, false);
            Assert.IsTrue(jmf.isValid(EnumValidationLevel.Complete));
        }
Пример #6
0
        public virtual void testCombinedVarnish()
        {
            JDFElement.setLongID(false);
            JDFDoc  d            = new JDFDoc("JDF");
            JDFNode n            = d.getJDFRoot();
            VString vCombiNodes  = new VString("ConventionalPrinting Varnishing", " ");
            VString vSeparations = new VString("Cyan Magenta Yellow Black Varnish", " ");

            n.setCombined(vCombiNodes);

            JDFConventionalPrintingParams cpp = (JDFConventionalPrintingParams)n.addResource(ElementName.CONVENTIONALPRINTINGPARAMS, null, EnumUsage.Input, null, null, null, null);

            cpp.setModuleAvailableIndex(new JDFIntegerRangeList("1 ~ 6"));
            cpp.setModuleIndex(new JDFIntegerRangeList("1 ~ 4 6"));
            cpp.appendXMLComment("Module 0 and 7 are varnishing modules, 1-4 are process colors and 6 is the ink module used to varnish", null);
            n.appendMatchingResource("Component", JDFNode.EnumProcessUsage.AnyOutput, null);
            JDFExposedMedia xm = (JDFExposedMedia)n.appendMatchingResource("ExposedMedia", JDFNode.EnumProcessUsage.Plate, null);

            n.appendNodeInfo();
            JDFMedia media = xm.appendMedia();

            media.setMediaType(EnumMediaType.Plate);
            JDFInk ink = (JDFInk)n.appendMatchingResource("Ink", JDFNode.EnumProcessUsage.AnyInput, null);

            JDFResource     vp           = n.addResource("VarnishingParams", EnumResourceClass.Parameter, EnumUsage.Input, null, null, null, null);
            JDFExposedMedia xmVarnish    = (JDFExposedMedia)n.addResource("ExposedMedia", null, EnumUsage.Input, null, null, null, null);
            JDFMedia        mediaVarnish = xmVarnish.appendMedia();

            mediaVarnish.setAttribute("MediaType", "Sleeve");

            JDFResourceLink    rl = n.getLink(xmVarnish, null);
            JDFColorantControl cc = (JDFColorantControl)n.appendMatchingResource(ElementName.COLORANTCONTROL, JDFNode.EnumProcessUsage.AnyInput, null);

            cc.getCreateDeviceColorantOrder().appendXMLComment("Should the VarnishingParams seps be excluded, as is shown here?", null);
            cc.getCreateDeviceColorantOrder().setSeparations(vSeparations);

            rl.setCombinedProcessIndex(new JDFIntegerList("1"));
            vSeparations.addAll(new VString("PreVarnish Varnish2", " "));

            for (int i = 0; i < vSeparations.Count; i++)
            {
                string sep = vSeparations.stringAt(i);
                ink.addPartition(EnumPartIDKey.Separation, sep);
                if (!sep.Equals("PreVarnish") && !sep.Equals("Varnish2"))
                {
                    xm.addPartition(EnumPartIDKey.Separation, sep);
                }
                if (sep.Equals("Varnish2"))
                {
                    vp.appendXMLComment("full varnishing in a varnishing module with or wihtout a sleeve. Full varnishing means to cover the complete media surface.", null);
                    xmVarnish.addPartition(EnumPartIDKey.Separation, sep);
                    JDFResource varnishPart = vp.addPartition(EnumPartIDKey.Separation, sep);
                    varnishPart.setAttribute("ModuleIndex", "7");
                    varnishPart.setAttribute("VarnishMethod", "Sleeve");
                    varnishPart.setAttribute("VarnishArea", "Spot");
                }
                else if (sep.Equals("Varnish"))
                {
                    vp.appendXMLComment("varnishing in a printing module only  with a mandatory plate. The plate may be exposed or not, for example,  for full varnihing. ", null);
                    // xmVarnish.addPartition(EnumPartIDKey.Separation, sep);
                    JDFResource varnishPart = vp.addPartition(EnumPartIDKey.Separation, sep);
                    varnishPart.setAttribute("ModuleIndex", "6");
                    varnishPart.setAttribute("VarnishMethod", "Plate");
                    varnishPart.setAttribute("VarnishArea", "Full");
                }
                else if (sep.Equals("PreVarnish"))
                {
                    vp.appendXMLComment("varnishing in a varnishing module only with a mandatory prepared sleeve ", null);
                    xmVarnish.addPartition(EnumPartIDKey.Separation, sep);
                    JDFResource varnishPart = vp.addPartition(EnumPartIDKey.Separation, sep);
                    varnishPart.setAttribute("ModuleIndex", "0");
                    varnishPart.setAttribute("VarnishMethod", "Sleeve");
                    varnishPart.setAttribute("VarnishArea", "Full");
                }
            }

            d.write2File(sm_dirTestDataTemp + "varnishing.jdf", 2, true);
        }