startdate, enddate);
startdate, enddate, clone);
    public Printable print(UserDataVO userdata,                       String[] pincodes, String[] pukcodes,	                  String hardtokensn, String copyoftokensn) throws IOException, PrinterException {      // Initialize	  DNFieldExtractor dnfields = new DNFieldExtractor(userdata.getDN(), DNFieldExtractor.TYPE_SUBJECTDN);	  // DNFieldExtractor subaltnamefields = new DNFieldExtractor(dn,DNFieldExtractor.TYPE_SUBJECTALTNAME);	  Date currenttime = new Date();	  String startdate = DateFormat.getDateInstance(DateFormat.SHORT).format(currenttime);	  	  String enddate = DateFormat.getDateInstance(DateFormat.SHORT).format(new Date(currenttime.getTime() + (this.validityms)));      String hardtokensnwithoutprefix = hardtokensn.substring(this.hardtokensnprefix.length());      String copyoftokensnwithoutprefix = copyoftokensn.substring(this.hardtokensnprefix.length());      // Get Text rows      process( "text", userdata, dnfields, pincodes, pukcodes,	  			hardtokensn, hardtokensnwithoutprefix,				copyoftokensn, copyoftokensnwithoutprefix,				startdate, enddate);			        process( "svg:text", userdata, dnfields, pincodes, pukcodes,	  			hardtokensn, hardtokensnwithoutprefix,				copyoftokensn, copyoftokensnwithoutprefix,				startdate, enddate);			                               // Add Image      /**      if(userdata.hasimage()){        addImage(userdata);             }        */	  insertImage(userdata); // special dravel for demo            final SVGDocument clone = (SVGOMDocument)svgdoc.cloneNode(true);      PrintTranscoder t = new PrintTranscoder();	  TranscoderInput input = new TranscoderInput(clone);	  TranscoderOutput output = new TranscoderOutput(new ByteArrayOutputStream());	  t.transcode(input, output);      final String aDoNot = clone.getRootElement().getAttribute("doNotScaleToPage").trim();	      t.addTranscodingHint(PrintTranscoder.KEY_SCALE_TO_PAGE, new Boolean(aDoNot==null||aDoNot==""));      return t;    }