This paper presents the design of a two-stage bar code acquisition system that can be used to achieve error-free document recognition if the original document is enhanced by 1D or 2D bar codes. The unique point of our approach is the window-based method that can locate multiple bar codes in images with sub pixel per module resolution. The method consists of three steps: (1) candidacy test, (2) window clustering, and (3) orientation estimation. The candidacy test examines the local statistical properties (i.e., contrast, balance, and transition count) of each window and determines if it is a part of a bar code. The window clustering step eliminates small blocks of candidate windows generated by the background and then groups the remaining windows into bar code clusters. The orientation estimation step uses edge detection and least-square fit to find the aim line of each bar code. A prototype system has been implemented in the laboratory of Symbol Technologies, Inc., to test the performance of the proposed bar code acquisition algorithm. The experiment result shows that, by using 20 X 20 windows on 640 X 480 images, a Sun SPARCstation 2 can process one image in 0.3 second.