public virtual void testAutomateLayout1() { n.setXMLComment("This is the simplest example of an automated layout\n" + "The structure is aligned as closely as possible with a static Layout\n" + "note that the actual processes and outputs have been omitted for brevity"); setUpAutomatedInputRunList(); rl.setDescriptiveName("This is a RunList specifiying 100 instance documents of 14 pages each in a ppml file"); lo = (JDFLayout)n.appendMatchingResource(ElementName.LAYOUT, EnumProcessUsage.AnyInput, null); lo.setResStatus(EnumResStatus.Available, true); lo.setMaxOrd(14); lo.setMaxDocOrd(1); lo.setAutomated(true); lo.appendXMLComment("Layout for 2 Cover pages and 12 2 up two sided body pages\n The number of pages per instance document is fixed\n" + "This Layout is an example of an 'almost conventional' automated layout\n" + "MaxDocOrd is set to 1. This is redundant since 1 is the default.\n" + "A value of 1 explicitly resets all counters at a Document break.", null); JDFLayout cover = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Cover"); cover.setDescriptiveName("one sided cover - the inner = back side is empty"); JDFLayout coverFront = (JDFLayout)cover.addPartition(EnumPartIDKey.Side, EnumSide.Front); JDFContentObject co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(13); co.setDescriptiveName("Front Cover Page"); co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(0); co.setDescriptiveName("Back Cover Page - (back of brochure but front of sheet)"); for (int i = 0; i < 3; i++) { JDFLayout body = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Body" + (i + 1)); body.setDescriptiveName("sheet " + (i + 1) + " of 3 of the insert"); JDFLayout bodySide = (JDFLayout)body.addPartition(EnumPartIDKey.Side, EnumSide.Front); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(8 + 2 * (2 - i)); co.setDescriptiveName("Left Front Sheet Body Page"); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(1 + (2 * i)); co.setDescriptiveName("Right Front Sheet Body Page"); bodySide = (JDFLayout)body.addPartition(EnumPartIDKey.Side, EnumSide.Back); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(2 + (2 * i)); co.setDescriptiveName("Left Back Sheet Body Page"); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(7 + 2 * (2 - i)); co.setDescriptiveName("Right Back Sheet Body Page"); } doc.write2File(sm_dirTestDataTemp + "AutomatedLayout1.jdf", 2, false); }
public virtual void testAutomateLayout2() { n.setXMLComment("This another example of an automated layout\n" + "The structure is aligned close to a static Layout but additionally uses OrdExpression and allows for varying numbers of pages in the runlist\n" + "note that the actual processes and outputs have been omitted for brevity"); setUpAutomatedInputRunList(); rl.setDescriptiveName("This is a RunList specifiying 100 instance documents of varying pages each in a ppml file"); lo = (JDFLayout)n.appendMatchingResource(ElementName.LAYOUT, EnumProcessUsage.AnyInput, null); lo.setResStatus(EnumResStatus.Available, true); lo.setMaxDocOrd(1); lo.setAutomated(true); lo.appendXMLComment("Layout for 2 Cover pages and varying numbers of 2 up two sided body pages\n" + "The number of pages per instance document varies\n" + "MaxDocOrd is set to 1. This is redundant since 1 is the default.\n" + "A value of 1 explicitly resets all counters at a Document break.", null); JDFLayout cover = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Cover"); cover.appendXMLComment("In this example, the cover is assumed to be the first two pages of each runlist\n" + "\n!!! We unfortunately have an issue here:\n" + "we cannot differentiate whether the cover should be repeated of not, i.e. whether the cover is executed once (the correct choice) or repeated between each body sheet.\n" + "Note that no MaxOrd is not set, as it varies between documents", null); cover.setDescriptiveName("one sided cover - the inner = back side is empty"); JDFLayout coverFront = (JDFLayout)cover.addPartition(EnumPartIDKey.Side, EnumSide.Front); JDFContentObject co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrdExpression("1"); co.setDescriptiveName("Front Cover Page"); co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrdExpression("0"); co.setDescriptiveName("Back Cover Page - (back of brochure but front of sheet)"); JDFLayout body = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Body"); body.setDescriptiveName("abstract description of multiple body sheets"); JDFLayout bodySide = (JDFLayout)body.addPartition(EnumPartIDKey.Side, EnumSide.Front); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrdExpression("4 * (n+3)/4 - s*2 +1"); co.setDescriptiveName("Left Front Sheet Body Page"); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrdExpression("2*s +2"); co.setDescriptiveName("Right Front Sheet Body Page"); bodySide = (JDFLayout)body.addPartition(EnumPartIDKey.Side, EnumSide.Back); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrdExpression("2*s +3"); co.setDescriptiveName("Left Back Sheet Body Page"); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrdExpression("4 * (n+3)/4 - s*2 +0"); co.setDescriptiveName("Right Back Sheet Body Page"); doc.write2File(sm_dirTestDataTemp + "AutomatedLayout2.jdf", 2, false); }
public virtual void testAutomateLayout4() { n.setXMLComment("This is a simple example of an automated layout that positions multiple instance documents onto one sheet\n" + "The structure is aligned as closely as possible with a static Layout\n" + "note that the actual processes and outputs have been omitted for brevity"); setUpAutomatedInputRunList(); rl.setDescriptiveName("This is a RunList specifiying 100 instance documents of 14 pages each in a ppml file.\n" + "DocCopies requests a repeat of 50 copies per document"); rl.setAttribute("DocCopies", 50, null); lo = (JDFLayout)n.appendMatchingResource(ElementName.LAYOUT, EnumProcessUsage.AnyInput, null); lo.setResStatus(EnumResStatus.Available, true); lo.setMaxOrd(1); lo.setMaxDocOrd(4); lo.setAutomated(true); lo.appendXMLComment("Layout for 4stacks on a sheet\n The number of pages per instance document is fixed\n" + "\n", null); JDFLayout cover = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Stack"); cover.setDescriptiveName("one sided 4 up stack back side is empty"); JDFLayout coverFront = (JDFLayout)cover.addPartition(EnumPartIDKey.Side, EnumSide.Front); JDFContentObject co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(0); co.setDocOrd(0); co.setDescriptiveName("Front Cover Page, document 0,4,..."); co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(0); co.setDocOrd(1); co.setDescriptiveName("Front Cover Page, document 1,5,..."); co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 11 * 72)); co.setOrd(0); co.setDocOrd(2); co.setDescriptiveName("Front Cover Page, document 2,6,..."); co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 11 * 72)); co.setOrd(0); co.setDocOrd(3); co.setDescriptiveName("Front Cover Page, document 3,7,..."); doc.write2File(sm_dirTestDataTemp + "AutomatedLayout4.jdf", 2, false); }
public virtual void testAutomateLayout3() { n.setXMLComment("This is a simple example of an automated layout that positions multiple instance documents onto one sheet\n" + "The structure is aligned as closely as possible with a static Layout\n" + "note that the actual processes and outputs have been omitted for brevity"); setUpAutomatedInputRunList(); rl.setDescriptiveName("This is a RunList specifiying 100 instance documents of 14 pages each in a ppml file"); lo = (JDFLayout)n.appendMatchingResource(ElementName.LAYOUT, EnumProcessUsage.AnyInput, null); lo.setResStatus(EnumResStatus.Available, true); lo.setMaxOrd(7); lo.setMaxDocOrd(2); lo.setAutomated(true); lo.appendXMLComment("Layout for 2*1 Cover page and 2*6 2 up two sided body pages\n The number of pages per instance document is fixed\n" + "This Layout is an example of an 'almost conventional' automated layout\n" + "MaxDocOrd is set to 2. Thus 2 documents are positioned on each sheet.\n", null); JDFLayout cover = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Cover"); cover.setDescriptiveName("one sided cover - the inner = back side is empty"); JDFLayout coverFront = (JDFLayout)cover.addPartition(EnumPartIDKey.Side, EnumSide.Front); JDFContentObject co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(0); co.setDocOrd(0); co.setDescriptiveName("Front Cover Page, document 0,2,4,..."); co = coverFront.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(0); co.setDocOrd(1); co.setDescriptiveName("Front Cover Page, document 1,3,5,..."); for (int i = 0; i < 3; i++) { JDFLayout body = (JDFLayout)lo.addPartition(EnumPartIDKey.SheetName, "Body" + (i + 1)); body.setDescriptiveName("sheet " + (i + 1) + " of 3 of the insert"); JDFLayout bodySide = (JDFLayout)body.addPartition(EnumPartIDKey.Side, EnumSide.Front); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(1 + i); co.setDocOrd(0); co.setDescriptiveName("Front Sheet Body Page, document 0,2,4,..."); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(1 + (2 * i)); co.setDocOrd(1); co.setDescriptiveName("Front Sheet Body Page, document 1,3,5,..."); bodySide = (JDFLayout)body.addPartition(EnumPartIDKey.Side, EnumSide.Back); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 0, 0)); co.setOrd(2 + (2 * i)); co.setDocOrd(0); co.setDescriptiveName("Back Sheet Body Page, document 0,2,4,..."); co = bodySide.appendContentObject(); co.setCTM(new JDFMatrix(1, 0, 0, 1, 8.5 * 72, 0)); co.setOrd(2 + (2 * i)); co.setDocOrd(1); co.setDescriptiveName("Back Sheet Body Page, document 1,3,5,..."); } doc.write2File(sm_dirTestDataTemp + "AutomatedLayout3.jdf", 2, false); }