2 Replies Latest reply on Oct 13, 2016 9:48 AM by JR_Boulay

    Combining several print jobs

    JR_Boulay Adobe Community Professional

      Hi experts.

       

       

      I need to print a PDF document (a contract) : pages 1 to 5 for the client and pages 1 to 2 for the reseller, using a different layer to display some relevant infos.

      Regarding client's choices, sometimes I must print page 6 and/or page 7 too (technical sheets).

       

      This cause several print jobs to be sent to the printer, maximum in this case is 4.

      Usually this is not an issue, but…

      Resellers works for a company where you must insert a personal card in any printer (several on each floor) to get printed sheets.

       

      This cause 2 issues:

      - sometimes the user just get the first print job (5 pages on 3 sheets, as the printer's screen said) and forget following sheets… OK, it's a human bug, but it's an issue too since they are wasting time.

      - users print accounts increase their number of printing regarding the number of printed jobs (not regarding the number of sheets, but it make sense here): they are penalized.

       

      So my question is:

      Can I easily merge several print jobs into one before sending to the printer?

      Or must I forgot layers and rethink my process?

       

      Thank you.

       

       

      Resellers uses Adobe Reader 9 or X (so I cannot use templates).

      Here is my script :

       

       

      // Pages 1, 2, 3, 4, 5 for the customer, displaying the "Client" layer
      var ocgArray1 = this.getOCGs();
      for (var i=0; i < ocgArray1.length; i++) {
          if (ocgArray1[i].name == "Client") {ocgArray1[i].state = true;}
          if (ocgArray1[i].name == "Agence") {ocgArray1[i].state = false;}
          }
      this.print({bUI: false, bShrinkToFit: true, nStart: 0, nEnd: 4});
      // Kit 1 (page 6) : conditional, displaying the same "Client" layer
      if (this.getField("KitIP").value != 0) {
          this.print({bUI: false, bShrinkToFit: true, nStart: 6, nEnd: 6});
          }
      // Kit 2 (last-page 7) : conditional, displaying the same "Client" layer
      if (this.getField("KitLiaison").value != 0) {
          this.print({bUI: false, bShrinkToFit: true, nStart: this.numPages-1});
          }
      // Pages 1 & 2 for the reseller, displaying the "Agence" layer
      var ocgArray1 = this.getOCGs();
      for (var i=0; i < ocgArray1.length; i++) {
          if (ocgArray1[i].name == "Client") {ocgArray1[i].state = false;}
          if (ocgArray1[i].name == "Agence") {ocgArray1[i].state = true;}
          }