SourceForge Project Page


also known as: ISO/IEC 15438:2001(E)


Example PDF417 symbol


The configuration for the default implementation is:

      <module-width>{length:0.352777mm}</module-width> <!-- 1 pixel at 72dpi -->
      <quiet-zone enabled="{boolean:true}">{length:2mw}</quiet-zone>
      <vertical-quiet-zone>{length:default is same as quiet-zone}</vertical-quiet-zone>


  • This symbology has no human-readable part!
  • "ec-level" is the error correction level and must be between 0 and 8.
  • If "vertical-quiet-zone" is not set explicitely, it is the same as the horizontal quiet zone.
  • Depending on the size of the message, "columns" and "ec-level" may need to be adjusted. Read possible error messages carefully.
  • Alternatively, you can remove the "columns" setting and work with "min/max-columns" and "min/max-rows" which allows the symbol to grow and shrink depending on the message. Using the "width-to-height-ratio" you can control the shape of the symbol. (Note: the valid number of rows must be between 3 and 90, the valid number of columns between 1 and 30)
  • Using the "columns" setting overrides the "min/max-columns" setting! Or in other words: Setting "columns" sets "min-columns" and "max-columns" to the same value.
  • Macro PDF417 functionality is not implemented, yet.
  • Compact PDF417 functionality is not implemented, yet.

Message format

  • All printable ASCII characters are valid characters.
  • Byte compaction mode permits all 256 possible 8-bit byte values to be encoded.
  • Using only numeric characters allows for smaller symbol sizes.
  • Currently, no ECI functionality is available. All characters are interpreted in "cp437" (PC437) encoding.