1. A method implemented in a data processing and printing system for generating a self-authenticating printed document, comprising: (a) obtaining an original document image; (b) processing the original document image to generate processed data; (c) generating first barcode stamps which encode the processed data generated in step (b); (d) generating a hierarchical barcode stamp by repeating a barcode stamp element in accordance with a pre-defined pattern, the barcode stamp element encoding a code calculated from the processed data generated in step (b); (e) printing the hierarchical barcode stamp and the original document image on a front side of a recording medium, and printing the first barcode stamps on a front or back side of the same recording medium to generate the printed document.