2 Replies Latest reply on Jul 13, 2016 7:50 AM by Gary Richter

    Data matrix not printing when quality level higher than 0

    Gary Richter

      I'm attempting to print a data matrix barcode. When I encode my information from standard ASCII characters it works fine at quality level 200. However, when I run it through an encrypting process It will not print after more than a few characters.

       

      I'm writing the information to the barcode as HEX regardless of whether I am encrypting the data or not. I've tested using other barcode types (PDF417, Aztec) and they work successfully.

       

      When I set the quality level to 0, my encrypted data successfully generates a data matrix barcode that seems to be properly encoded (I scan it with a barcode reader that sends keystrokes). But at quality level 0 (anything less than industry recommended 200), barcode reading applications won't read the barcode. But as soon as I increase the quality level above 0, the barcode no longer prints.

       

      I'm not sure what I'm missing.

       

      Here is the ZPL I can successfully send to a printer, with ECC quality level 0, that will print a badge with barcode. The barcode is readable by a keystroke scanner (if you test it be aware this information is encrypted so you won't "see" all of the actual characters).

       

      ^XA^PON^LH0,0

      ^FO190,200^BXN,4,0,0,0,,,1^FH_^FD_38_30_30_30_30_33_7c_5d_a9_4a_ec_11_c5_82_47_4d_c5_f2_f8_9e_48_16_24_32_aa_36_06_8f_2c_d8_39_3b_85_08_e9_0f_85_3b_a1_84_ad_25_dc_d5_34_da_c6_1c_23_84_d3_73_77_af_1c_a5_70_2b_43_bf_74_17_16_9b_0f_7e_03_f8_4a_57_06_4c_fb_46_5d_f2_63_1c_71_7c_77_5b_27_0c_58_df_55_37_4c_ae_8a_e7_c3_c6_16_5b_57_db_7c_2d_2c_8b_1c_e3_01_2e_ee_66_cf_8d_98_79_c9_8d_d2_10_55_1a_3c_62_7b_2c_ea_1a_cc_2f_dc_65_bd_93_c8_97_db_2f_99_ff_6b_da_d7_3f_92_ad_68_6a_93_f4_51_4a_c4_14_9f_1a_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_06_0b_12_75_85_8b_07_fb^FS

      ^BY2^FS

      ^XZ

       

      Here is the same ZPL but with ECC quality level 200 which will no longer print the barcode. All other ZPL except the "200" specification is identical

       

      ^XA^PON^LH0,0

      ^FO190,200^BXN,4,200,0,0,,,1^FH_^FD_38_30_30_30_30_33_7c_5d_a9_4a_ec_11_c5_82_47_4d_c5_f2_f8_9e_48_16_24_32_aa_36_06_8f_2c_d8_39_3b_85_08_e9_0f_85_3b_a1_84_ad_25_dc_d5_34_da_c6_1c_23_84_d3_73_77_af_1c_a5_70_2b_43_bf_74_17_16_9b_0f_7e_03_f8_4a_57_06_4c_fb_46_5d_f2_63_1c_71_7c_77_5b_27_0c_58_df_55_37_4c_ae_8a_e7_c3_c6_16_5b_57_db_7c_2d_2c_8b_1c_e3_01_2e_ee_66_cf_8d_98_79_c9_8d_d2_10_55_1a_3c_62_7b_2c_ea_1a_cc_2f_dc_65_bd_93_c8_97_db_2f_99_ff_6b_da_d7_3f_92_ad_68_6a_93_f4_51_4a_c4_14_9f_1a_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_06_0b_12_75_85_8b_07_fb^FS

      ^BY2^FS

      ^XZ

       

      Any help solving this would be greatly appreciated. Any additional reference knowledge (what should I have been looking for/should I have been aware of to troubleshoot) would be very greatly appreciated.

        • Re: Data matrix not printing when quality level higher than 0
          Robin West

          Hi Gary,

          I added the _ escape character to the Datamatrix parameters to get it to print.  Let me know if this produces the result you were looking for:

           

          ^XA^PON^LH0,0^CVY

          ^FO190,200^BXN,4,200,0,0,,_,1^FH_^FD_38_30_30_30_30_33_7c_5d_a9_4a_ec_11_c5_82_47_4d_c5_f2_f8_9e_48_16_24_32_aa_36_06_8f_2c_d8_39_3b_85_08_e9_0f_85_3b_a1_84_ad_25_dc_d5_34_da_c6_1c_23_84_d3_73_77_af_1c_a5_70_2b_43_bf_74_17_16_9b_0f_7e_03_f8_4a_57_06_4c_fb_46_5d_f2_63_1c_71_7c_77_5b_27_0c_58_df_55_37_4c_ae_8a_e7_c3_c6_16_5b_57_db_7c_2d_2c_8b_1c_e3_01_2e_ee_66_cf_8d_98_79_c9_8d_d2_10_55_1a_3c_62_7b_2c_ea_1a_cc_2f_dc_65_bd_93_c8_97_db_2f_99_ff_6b_da_d7_3f_92_ad_68_6a_93_f4_51_4a_c4_14_9f_1a_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_06_0b_12_75_85_8b_07_fb^FS

          ^BY2^FS

          ^XZ

           

          I added the ^CVY to help figure out what was wrong.

            • Re: Data matrix not printing when quality level higher than 0
              Gary Richter

              Robin you are clearly the resident miracle worker. Thank you very much, this works now.

               

              I have a few follow up questions please.

               

              1. Without the underscore escape character my code produced the INVALID-C error. If the ^FH identified I was writing HEX and my ^FD data used the underscore as the HEX identifier, and HEX conversion takes place before character escaping.... what exactly did the underscore you set as the escape character escape/fix (what could have been in my data that caused the error that required the underscore as opposed to say the default tilde)?
              2. I noticed that when I write the same encrypted or un-encrypted data as an AZTEC barcode, or write my (200 character data) as an un-encrypted data matrix, my barcodes maintain the relative size I am trying to keep to (about 1" square). But when I sent encrypted data to the data matrix (the example you fixed for me) I noticed that the amount of data I'm sending to the barcode is not significantly greater than the un-encrypted data. Yet the data matrix barcode that printed un-encrypted grew from 1" wide and 4 sections to about 1 1/4" wide and 16 sections when encrypted (why not 9 sections, etc)? Is there any theory/knowledge you can pass on about this?
              3. Our current process for generating ZPL labels is probably a bit ancient. Is there a way to get in more direct contact with you to discuss possible options that Zebra provides to maybe bring our process into a more modern state as well as discuss problems we've never been able to solve that would help us improve our processes as a whole? My company uses the card and label printers pretty heavily, we probably own hundreds of them. It would be great to make improvements but would probably not be easy to do through individual forum posts/comments.