Intelligent document high-speed positioning self-service printer system

By integrating advanced image processing technology and multi-module collaborative work in the document printing system, high-precision document analysis and positioning are achieved, solving the problem of insufficient identification and positioning accuracy in existing systems when processing complex documents, significantly improving printing efficiency and quality.

CN119415056AActive Publication Date: 2025-02-11SHENZHEN BAIBU YINSHE TECH CO LTD

Patent Information

Application Number
CN202510022804.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-02-11
Estimated Expiration
2045-01-07

AI Technical Summary

Technical Problem

When existing document printing systems deal with complex typesetting or documents containing multiple elements, the identification and positioning accuracy is insufficient, resulting in inaccurate print output, affecting document quality and usability.

Method used

An intelligent document high-speed positioning self-service printer system was designed to realize high-precision document analysis and positioning by integrating advanced image processing technology and multi-module collaboration. The system includes a document entry device, an image capture unit, a physical feature analyzer, a content analysis interface, a page structure generator, a positioning instruction processor, a dynamic calibration component and an output control center to ensure the position and format of each element when printing out the output All meet the original requirements.

Benefits of technology

It significantly improves the accuracy of document recognition and positioning and the efficiency and quality of the overall printing process, and can efficiently and accurately identify and print complex document contents of graphic and text mixed arrangements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119415056A_ABST
    Figure CN119415056A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of printing, and particularly relates to an intelligent document high-speed positioning self-service printer system, which realizes high-precision document analysis by integrating an advanced image processing technology and multi-module cooperative work, and can efficiently and accurately identify various document contents from simple pure text to complex image-text mixed arrangement; based on deep understanding of document content, the system constructs an accurate page logic framework to ensure that the position and format of each element meet the manuscript requirements during printing output; besides, the close cooperation between the positioning instruction processor and the dynamic calibration assembly enables the system to adjust printing parameters in real time in the printing process, maintain extremely high positioning precision, and guarantee high-quality printing output even in the face of paper offset or other mechanical errors. In conclusion, the system remarkably improves the accuracy of document recognition and positioning and the efficiency and quality of the whole printing process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of printing technology, and in particular relates to an intelligent document high-speed positioning self-service printer system. Background Art

[0002] Existing document printing systems usually include basic document input, image capture, content recognition and print output functions. These systems can handle various types of documents from simple text files to complex graphic documents, but they often have limitations in the following aspects: Insufficient document recognition and positioning accuracy: Existing systems may rely on relatively basic optical character recognition (OCR) technology to parse document content. However, for documents with complex layouts or containing a large number of non-text elements (such as charts and images), the recognition rate and positioning accuracy of existing systems are often unsatisfactory.

[0003] Inefficient multi-step processing: In traditional printing systems, the process of document reception, image capture, physical feature analysis and final print output is usually carried out in stages. There is a lack of effective coordination mechanism between each stage, resulting in slow overall processing speed. In particular, when large quantities of documents need to be processed, the efficiency problem is more prominent.

[0004] In view of the problems of the above-mentioned prior art, a clear technical problem is: the accuracy of document recognition and positioning. Specifically, when a document contains a complex typesetting structure or a mixture of multiple types of elements (text, charts, pictures, etc.), it is difficult for existing systems to accurately parse the document content and correctly locate each element, which may lead to inaccurate print output and affect the quality and usability of the document. Summary of the invention

[0005] The purpose of the present invention is to provide an intelligent document high-speed positioning self-service printer system, which not only solves the problem of insufficient document recognition and positioning accuracy in the prior art, but also significantly improves the efficiency and quality of the entire printing process.

[0006] To achieve the above-mentioned purpose, the present invention adopts the following technical scheme: an intelligent document high-speed positioning self-service printer system, comprising: a document entry device for receiving documents to be printed; an image capture unit, connected to the document entry device, for obtaining document image information; a physical feature analyzer, connected to the image capture unit, for parsing the physical properties of the document, including but not limited to boundaries and page layout; a content parsing interface, immediately following the physical feature analyzer, for interpreting the document content and distinguishing between text and non-text elements; a page structure generator, located after the content parsing interface, for constructing a page logic framework according to the parsing results; a positioning instruction processor, connected to the page structure generator, for formulating a printing position guidance plan; a dynamic calibration component, coupled to the positioning instruction processor, for adjusting printing parameters in real time to ensure positioning accuracy; an output control center, connected to the dynamic calibration component, for directing the execution of printing operations, and for ensuring that documents are output in sequence; a user interaction panel, connected to the output control center, for providing a user interface for operation selection and status monitoring.

[0007] Preferably, the document entry device comprises: The receiving unit captures the document to be processed and starts an initialization sequence, which includes detecting the width W and length L of the document; The sizer calculates the document diagonal D_doc according to the formula D_doc=sqrt(W^2+L^2); The direction corrector compares the W and L values. When W is greater than L, it rotates 90 degrees clockwise; otherwise, it keeps the original direction unchanged. The transmission verifier checks whether the document is within the preset track using the boundary detection function B_bound=|x|+|y|-(W+L) / 2, where x and y represent the offset of the center of the document relative to the ideal position; if B_bound is less than zero, the document is confirmed to be in the correct position.

[0008] Preferably, the image capturing unit comprises: The light sensing array receives the document after direction correction and generates a preliminary grayscale image G_gray(x,y) by scanning; The brightness normalization processor processes the preliminary grayscale image G_gray(x,y) and applies the formula G_norm(x,y)=(G_gray(x,y)-Min(G_gray)) / (Max(G_gray)-Min(G_gray))*255; The edge enhancer uses the Laplace operator ΔG_norm(x,y)=G_norm(x+1,y)+G_norm(x-1,y)+G_norm(x,y+1)+G_norm(x,y-1)-4*G_norm(x,y) to enhance the boundary features of the document content; The image optimizer uses interpolation to calculate new pixel values: P_new(x',y')=(P_old(floor(x'),floor(y'))+P_old(ceil(x'),ceil(y'))) / 2, ensuring image clarity while maintaining the original document ratio; Where G_norm is the standardized grayscale value, ΔG_norm is the value after Laplace processing, P_old is the original pixel value, P_new is the new pixel value, x, y are the original coordinates, and x', y' are the high-resolution coordinates.

[0009] Preferably, the physical characteristic analyzer comprises: The boundary detection module receives the high-resolution image P_new(x',y') from the image capture unit and calculates the gradient strength of each pixel I_grad(x',y')=sqrt(Δx^2+Δy^2) through the edge detection operator; The boundary tracker identifies and connects adjacent strong edge points according to the gradient strength I_grad(x',y') to form a closed boundary path B_path; The layout parser uses the formed boundary path B_path to divide the document area and calculate the area of ​​the area: A_area=∑_(i=1)^n(x'i*y'(i+1)-x'_(i+1)*y'_i) / 2; The structure description generator constructs a geometric descriptor D_geom=(L_block, W_block, Cx_block, Cy_block) for each identified content block; Where Δx, Δy are grayscale change rates, x'_i, y'_i are boundary point coordinates, L_block is block length, W_block is block width, Cx_block, Cy_block are block center coordinates.

[0010] Preferably, the content parsing interface includes: The character detection module receives the geometric descriptor D_geom and boundary path B_path provided by the physical feature analyzer, and calculates the enhancement value E_enhance(x',y')=P_new(x',y')*(1+α*|I_grad(x',y')|) of each pixel through local contrast enhancement; The text area recognition unit uses the connected domain analysis method to find possible text blocks T_text based on the enhanced image E_enhance(x',y'); for each candidate text block, the area threshold method is used for screening, and the formula is Area(T_text)>A_min; The symbol splitter finely splits the text block T_text that meets the conditions to separate independent characters or symbols S_symbol; the projection histogram H_proj(x)=∑_(y'=min_y)^max_yE_enhance(x',y') is used to determine the cutting positions between characters; The non-text element classifier evaluates the remaining parts that have not been recognized as text by calculating the texture complexity index: C_complexity=Var(E_enhance(x',y')) / Mean(E_enhance(x',y')) distinguishes non-text elements such as images and charts and marks their positions; Where: P_new is the pixel value of the high-resolution image, I_grad is the gradient intensity, α is the enhancement coefficient, Area is the area, A_min is the minimum text block area threshold, and C_complexity is the texture complexity.

[0011] Preferably, the page structure generator includes: The text block association module receives the text block T_text and its position information provided by the content parsing interface; the text block association module determines the relative position relationship between text blocks by calculating the distance D_dist=sqrt((Cx_i-Cx_j)^2+(Cy_i-Cy_j)^2) between adjacent text blocks; The logical hierarchy construction unit establishes the hierarchical relationship of text blocks according to the distance D_dist between text blocks; for each text block, the formula Level_i=sum(D_dist<Dist_thresh) is used to determine its hierarchical level; The paragraph recognizer uses the hierarchical relationship to recognize and combine text blocks belonging to the same paragraph; it judges whether text blocks should be merged into one paragraph by calculating the overlap degree O_overlap=max(0,min_yi-max_yj) in the vertical direction of text blocks; The frame builder integrates the position information of all text and non-text elements to generate a complete page logical framework F_layout; using the formula: F_layout={S_symbol,T_text,NonTextElements}∪SegmentRelations to ensure that the page structure is clear and orderly; Where: Cx_i, Cy_i are the coordinates of the center of the text block, Dist_thresh is the distance threshold, Level_i is the level of the text block, O_overlap is the degree of overlap in the vertical direction, min_yi, max_yj are the coordinates of the upper and lower boundaries of the text block, S_symbol is the symbol, NonTextElements is the non-text element, and SegmentRelations is the set of relationships between paragraphs.

[0012] Preferably, the positioning instruction processor includes: The position initialization module receives the page logic framework F_layout provided by the page structure generator; the position initialization module calculates the initial printing coordinates (P_start_x, P_start_y) of each text block T_text and non-text element NonTextElements according to the element position information in the framework, using the formulas P_start_x=Cx-Offset_x and P_start_y=Cy-Offset_y; The boundary adjustment unit checks whether the initial print coordinates (P_start_x, P_start_y) exceed the print area boundary; if so, it is adjusted by the formula P_adjusted=(P_start_x+Δx_adj, P_start_y+Δy_adj) to make all elements within the valid print area and ensure that the final print coordinates (P_final_x, P_final_y) meet the condition MinPrint≤P_adjusted≤MaxPrint; The relative position optimizer uses the adjusted printing coordinates (P_final_x, P_final_y) to optimize the relative positions between adjacent elements. It ensures that the elements are properly spaced by calculating the ideal spacing between adjacent elements D_ideal = (P_final_xi-P_final_xj) / Scale_factor. The instruction generator generates accurate printing instructions I_print for each element based on the optimized printing coordinates and spacing information; the formula is: I_print={P_final_x,P_final_y,D_ideal} defines the set of printing parameters for each element to ensure accurate execution during the printing process; Where: Cx, Cy are the coordinates of the element center, Offset_x, Offset_y are the offsets, P_adjusted are the adjusted coordinates, Δx_adj, Δy_adj are the offset increments, MinPrint, MaxPrint are the print area boundaries, D_ideal is the ideal spacing, Scale_factor is the scale factor, and I_print is the print instruction.

[0013] Preferably, the dynamic calibration component comprises: The error detection module receives the print instruction I_print from the positioning instruction processor; the error detection module calculates the deviation ΔP_err=(P_actual_x-P_final_x, P_actual_y-P_final_y) between the actual print coordinates (P_actual_x, P_actual_y) and the expected coordinates (P_final_x, P_final_y) by monitoring the print head position in real time; The compensation calculation unit calculates the compensation values ​​in the X-axis and Y-axis directions according to the positioning error ΔP_err by applying the formulas Comp_x=ΔP_err_x*K_comp and Comp_y=ΔP_err_y*K_comp; The parameter adjuster uses the calculated compensation value (Comp_x, Comp_y) to modify the original printing instruction I_print and generate a new printing parameter I_new; the printing position of each element is updated through the formula I_new={P_final_x+Comp_x,P_final_y+Comp_y,D_ideal}; The feedback verification unit monitors the printing effect after adjustment; by comparing the difference between the new and old printing coordinates ΔP_new=(P_new_x-P_final_x, P_new_y-P_final_y), the adjustment effect is verified using the formula ErrorRate=sqrt(ΔP_new_x^2+ΔP_new_y^2) / Distance; if ErrorRate is lower than the preset threshold Err_thresh, the adjustment is confirmed to be successful; Where: Comp_x, Comp_y are compensation values, K_comp is the compensation coefficient, I_new is the new printing parameter, ErrorRate is the error rate, Distance is the ideal distance, and Err_thresh is the preset error threshold.

[0014] Preferably, the output control center includes: The task scheduling module receives the final printing parameter I_new provided by the dynamic calibration component; the task scheduling module arranges the printing task sequence according to the document priority and the page logic framework F_layout, and assigns a unique task identifier TaskID to each task; The instruction execution unit extracts the corresponding I_new from the printing parameter library according to the task identifier TaskID, and starts the print head to perform the actual printing operation; the execution status of each task is tracked through the formula PrintStat=Execute(I_new); During the printing process of the sequence verifier, the page output sequence is monitored in real time; the formula SeqCheck=(TaskID_i-TaskID_(i-1))==1 is used to check the continuity between two adjacent task identifiers; The completion confirmation module records the completed tasks and their output status; updates the task completion log through the formula CompletionLog={TaskID,PrintStat,OutputTime}, and checks whether all expected tasks have been successfully completed, and uses the formula TaskComplete=sum(PrintStat=='Completed')==TotalTasks to verify whether the entire document has been output in order; Where: PrintStat is the printing status, SeqCheck is the sequence check result, OutputTime is the output time, CompletionLog is the task completion log, and TotalTasks is the total number of tasks.

[0015] Preferably, the user interaction panel includes: The operation selection interface receives a print request from the user; the operation selection interface provides a series of preset options for the user to choose, including document type DocType, number of copies Copies, and duplex setting Duplex; the user's selection is encoded as a configuration parameter ConfigParam, and the formula ConfigParam={DocType,Copies,Duplex} is used to record the user's setting; The status monitoring module is connected to the output control center to obtain the execution status PrintStat of the current printing task in real time; through the formula: TaskProgress=(PagesCompleted / PagesTotal)*100 calculates the printing progress percentage; The error reporting unit monitors the information fed back by the status monitoring module; if an abnormality is detected, an error code ErrCode is generated, and the specific error information is displayed to the user through the formula ErrMsg="Error:"+ErrCode; The operation confirmation module integrates all user interaction data, including configuration parameters ConfigParam, print progress TaskProgress and error message ErrMsg, to form a complete operation log OpLog; using the formula: OpLog={ConfigParam,TaskProgress,ErrMsg,TimeStamp} updates the log record to ensure that every user interaction has a detailed record for reference; Where: PrintStat is the printing status, PagesCompleted is the number of completed pages, PagesTotal is the total number of pages, and TimeStamp is the timestamp.

[0016] Technical effects and advantages of the present invention: Compared with the prior art, the intelligent document high-speed positioning self-service printer system proposed by the present invention has the following advantages: The present invention achieves high-precision document parsing by integrating advanced image processing technology and multi-module collaboration, and can efficiently and accurately identify various document contents from simple plain text to complex mixed text and graphics; based on a deep understanding of the document content, the system builds an accurate page logic framework to ensure that the position and format of each element in the print output meet the requirements of the original manuscript; in addition, the close cooperation between the positioning instruction processor and the dynamic calibration component enables the system to adjust the printing parameters in real time during the printing process, maintain extremely high positioning accuracy, and ensure high-quality print output even in the face of paper offset or other mechanical errors. In summary, the system significantly improves the accuracy of document recognition and positioning as well as the efficiency and quality of the overall printing process. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A block diagram of the intelligent document high-speed positioning self-service printer system of the present invention. DETAILED DESCRIPTION

[0018] The following will be combined with the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. The specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0019] The present invention provides Figure 1 The intelligent document high-speed positioning self-service printer system shown includes: The document input device is used to receive the document to be printed; further comprising: The receiving unit captures the document to be processed and starts the initialization sequence, which includes detecting the width W and length L of the document; this step ensures that the system can accurately receive and preliminarily measure the size of the document, providing the necessary physical parameters for subsequent processing. By accurately obtaining the width and length of the document, processing errors caused by size differences can be effectively avoided, improving the adaptability and accuracy of the system.

[0020] The sizer calculates the document diagonal D_doc according to the formula D_doc=sqrt(W^2+L^2); this formula calculates the length of the document diagonal based on the Pythagorean theorem. D_doc represents the actual length of the document diagonal, while W and L are the width and length of the document, respectively. By calculating the diagonal length, the system can obtain a unified scale to evaluate the consistency of documents of different sizes, which is very important for subsequent layout analysis.

[0021] Assume that the document width W = 210mm (A4 paper width), length L = 297mm (A4 paper length); according to the formula: D_doc=sqrt(210^2+297^2)=sqrt(44100+88209)=sqrt(132309)≈363.74mm; Therefore, the document diagonal length is approximately 363.74mm.

[0022] The direction corrector compares the W and L values. When W is greater than L, it rotates 90 degrees clockwise; otherwise, it keeps the original direction unchanged. This step ensures that all documents have a uniform direction after entering the system, which facilitates the consistency of subsequent modules. For documents placed horizontally or vertically, the system can automatically adjust their direction, thereby simplifying the complexity of subsequent content analysis and improving processing efficiency.

[0023] If the document width W = 297mm and length L = 210mm (i.e. A4 paper placed horizontally), the system will automatically rotate it 90 degrees clockwise so that the document enters the subsequent processing flow in portrait format.

[0024] The transmission verifier checks whether the document is within the preset track, using the boundary detection function B_bound=|x|+|y|-(W+L) / 2, where x and y represent the offset of the center of the document relative to the ideal position; if B_bound is less than zero, the document is confirmed to be in the correct position. This formula is used to determine whether the document has deviated from the preset transmission path. B_bound is an indicator to measure the deviation of the document position, which is calculated by combining the coordinates of the center of the document (x, y) and the size of the document (W, L). Ideally, the document should be in the center of the track, and the value of B_bound is close to zero. If B_bound is less than zero, it means that the document is within the preset track and the position is correct; otherwise, adjustment is required.

[0025] Example: Assume that the offset of the document center is x=-5mm and y=3mm, the document width W=210mm, and the length L=297mm; according to the formula: B_bound=|x|+|y|-(W+L) / 2=|-5|+|3|-(210+297) / 2 =5+3-253.5 =8-253.5 =-245.5; Since B_bound < 0, this indicates that the document is indeed located within the preset track and is in the correct position.

[0026] The above steps work together to ensure that documents can be accurately and efficiently received and initially processed, laying a solid foundation for subsequent more complex processes such as image capture and content parsing. The technical effect of each step not only improves the overall performance of the system, but also enhances the convenience and reliability of user use.

[0027] An image capturing unit, connected to the document entry device, is used to obtain document image information; further comprising: The photosensitive array receives the document after direction correction and generates a preliminary grayscale image G_gray(x,y) by scanning; this step ensures that the system can accurately obtain the image information of the document and convert it into a preliminary grayscale image. The high-resolution scanning of the photosensitive array allows subsequent processing to be based on high-quality image data, improving the resolution accuracy of the entire system.

[0028] The brightness normalization processor processes the preliminary grayscale image G_gray(x,y) and applies the formula G_norm(x,y)=(G_gray(x,y)-Min(G_gray)) / (Max(G_gray)-Min(G_gray))*255; this formula is used to normalize each pixel value in the preliminary grayscale image to the range of [0,255] to ensure that all images have a uniform brightness range. G_norm(x,y) represents the grayscale value after normalization, and Min(G_gray) and Max(G_gray) are the minimum and maximum grayscale values ​​in the original grayscale image, respectively. This normalization process enhances the image contrast and makes subsequent analysis easier.

[0029] Assume that the grayscale value range in a certain area is from 50 to 180, and the grayscale value of a specific pixel (x, y) is 120; according to the formula: G_norm(x,y)=(120-50) / (180-50)*255=70 / 130*255 ≈140.77; Therefore, the grayscale value after normalization is about 140.77.

[0030] The edge enhancer uses the Laplace operator ΔG_norm(x,y)=G_norm(x+1,y)+G_norm(x-1,y)+G_norm(x,y+1)+G_norm(x,y-1)-4*G_norm(x,y) to enhance the boundary features of the document content; the Laplace operator is a commonly used edge detection method that highlights the edges in an image by calculating the difference between adjacent pixels. ΔG_norm(x,y) represents the change in grayscale value after Laplace processing. This step enhances the boundary features of the document content, making the text and other important elements more obvious in the image, which is convenient for subsequent recognition and analysis.

[0031] Example: Assume that the normalized grayscale values ​​of a pixel (x, y) and its surrounding adjacent pixels are: G_norm(x+1,y)=160; G_norm(x-1,y)=140; G_norm(x,y+1)=150; G_norm(x,y-1)=130; G_norm(x,y)=145; According to the formula: ΔG_norm(x,y)=160+140+150+130-4*145 =580-580 =0; If the pixel is located in a flat area, ΔG_norm(x,y) is close to zero; if it is located at an edge, ΔG_norm(x,y) will deviate significantly from zero, thereby effectively highlighting the edge feature.

[0032] The image optimizer uses interpolation to calculate new pixel values: P_new(x',y')=(P_old(floor(x'),floor(y'))+P_old(ceil(x'),ceil(y'))) / 2, ensuring image clarity while maintaining the original document ratio; Where G_norm is the standardized grayscale value, ΔG_norm is the value after Laplace processing, P_old is the original pixel value, P_new is the new pixel value, x, y are the original coordinates, and x', y' are the high-resolution coordinates.

[0033] The interpolation method is used to increase the image resolution while keeping the document's proportions unchanged. P_old represents the original pixel value, P_new represents the newly calculated pixel value, floor(x') and ceil(x') represent the floor and ceiling operations respectively. This step smoothly increases the image details through linear interpolation, improving the image clarity without changing the original proportions.

[0034] Assume that the coordinates of a pixel point in the original image are (x', y') = (2.3, 4.7), and the corresponding two nearest integer coordinates are (2, 4) and (3, 5), and their pixel values ​​are: P_old(2,4)=150; P_old(3,5)=160; According to the formula: P_new(2.3,4.7)=(P_old(2,4)+P_old(3,5)) / 2=(150+160) / 2 =155; Therefore, the new pixel value is 155, which allows the image to maintain a high definition and original ratio during the enlargement process.

[0035] The above steps work together to ensure that the image capture unit can efficiently and accurately acquire and process document image information. The technical effect of each step not only improves the quality of the image, but also provides a solid foundation for subsequent content analysis and enhances the overall performance and reliability of the system.

[0036] A physical feature analyzer, connected to the image capture unit, analyzes the physical properties of the document, including but not limited to boundaries and layout; further comprising: The boundary detection module receives the high-resolution image P_new(x',y') from the image capture unit and calculates the gradient strength of each pixel I_grad(x',y')=sqrt(Δx^2+Δy^2) through the edge detection operator; this step ensures that the system can accurately identify the boundaries and contours in the document. By calculating the gradient strength of each pixel, different areas of the document can be effectively distinguished, providing basic data for subsequent layout analysis.

[0037] Application principle and meaning: This formula is used to calculate the grayscale change rate of each pixel in the horizontal direction (Δx) and vertical direction (Δy), and derive the gradient strength I_grad(x',y') through the Pythagorean theorem. The gradient strength reflects the degree of brightness change in the image. A larger gradient strength means a more obvious edge.

[0038] Assume that the grayscale change rate of a pixel (x', y') and its surrounding adjacent pixels is: Δx=50; Δy=30; According to the formula: I_grad(x',y')=sqrt(50^2+30^2)=sqrt(2500+900)=sqrt(3400)≈58.31; Therefore, the gradient intensity of this pixel is approximately 58.31.

[0039] The boundary tracker identifies and connects adjacent strong edge points according to the gradient strength I_grad(x',y') to form a closed boundary path B_path; this step connects the identified strong edge points to form a complete closed boundary path. This helps to accurately define different parts of the document, such as text boxes, charts, etc., thereby providing clear separation for subsequent content parsing.

[0040] The boundary tracker traverses the pixels with high gradient strength in the image, identifies and connects these points to form continuous boundary paths. These paths not only define the outer contour of the document, but may also include internal closed areas (such as tables and graphics).

[0041] Assuming that a series of edge points with high gradient strength are identified in the image, the boundary tracker will connect them in sequence according to the spatial position relationship of these points, and finally form one or more closed boundary paths B_path.

[0042] The layout parser uses the formed boundary path B_path to divide the document area and calculate the area of ​​the area: A_area=∑_(i=1)^n(x'i*y'(i+1)-x'_(i+1)*y'_i) / 2; This formula is based on the polygon area calculation formula and is used to determine the area A_area enclosed by the boundary path B_path. x'_i and y'_i are the coordinates of the i-th point on the boundary path, and n is the total number of points on the path. By calculating the area of ​​the area, you can further understand the layout of the document, such as the text area, chart area, etc.

[0043] Assume a closed boundary path contains the following coordinate points: (x'_1,y'_1)=(10,20); (x'_2,y'_2)=(30,40); (x'_3,y'_3)=(50,60); (x'_4,y'_4)=(70,80); According to the formula: A_area=(10*40+30*60+50*80+70*20-(20*30+40*50+60*70+80*10)) / 2=(400+1800+4000+1400-(600+2000+4200+800)) / 2 =(7600-7600) / 2 =0; This example shows how to use the formula to calculate the area of ​​a polygon. In practice, complex boundary paths will produce non-zero area values ​​to help resolve various regions of the document.

[0044] The structure description generator constructs a geometric descriptor D_geom=(L_block, W_block, Cx_block, Cy_block) for each identified content block; Where Δx, Δy are grayscale change rates, x'_i, y'_i are boundary point coordinates, L_block is block length, W_block is block width, Cx_block, Cy_block are block center coordinates.

[0045] Generate detailed geometric descriptors for each identified content block, including block length L_block, width W_block and center coordinates (Cx_block, Cy_block). These descriptors provide key information about the shape and position of the content block, which facilitates subsequent processing and output control.

[0046] The geometry descriptor D_geom describes the main physical properties of each content block. L_block and W_block represent the length and width of the block, respectively, and Cx_block and Cy_block represent the coordinates of the center of the block. These parameters enable the system to accurately locate and operate each element in the document.

[0047] Assume that a rectangular content block is identified, with the coordinates of the upper left corner being (10, 20) and the coordinates of the lower right corner being (50, 60); according to the formula: L_block=50-10=40W_block=60-20=40; Cx_block=(10+50) / 2=30; Cy_block=(20+60) / 2=40; Therefore, the geometric descriptor of this block is D_geom=(40,40,30,40).

[0048] The above steps work together to ensure that the physical feature analyzer can efficiently and accurately analyze the physical properties of the document, including but not limited to boundaries and page layout. The technical effect of each step not only improves the system's analysis accuracy, but also provides a solid foundation for subsequent content analysis and page structure generation, and enhances the overall performance and reliability of the system.

[0049] The content parsing interface, which follows the physical feature analyzer, interprets the document content and distinguishes between text and non-text elements; further includes: The character detection module receives the geometric descriptor D_geom and boundary path B_path provided by the physical feature analyzer, and calculates the enhancement value E_enhance(x',y')=P_new(x',y')*(1+α*|I_grad(x',y')|) of each pixel through local contrast enhancement; this step enhances the contrast of characters and symbols in the image, making the text area more prominent and facilitating subsequent recognition and segmentation. By enhancing the contrast, the system can more accurately distinguish text from background and improve recognition accuracy.

[0050] This formula is used to enhance the brightness of each pixel in the image. E_enhance(x',y') represents the enhanced grayscale value, P_new(x',y') is the pixel value of the original high-resolution image, I_grad(x',y') is the gradient intensity, and α is the preset enhancement coefficient. The enhancement value is based on the product of the original pixel value and the gradient intensity to highlight edges and details.

[0051] Assume that the original pixel value of a pixel (x', y') is 150, the gradient strength is 58.31 (from the previous example), and the enhancement coefficient α=0.2: E_enhance(x',y')=150*(1+0.2*|58.31|)=150*(1+11.662)=150*12.662≈1899.3.

[0052] Therefore, the enhanced grayscale value is about 1899.3, which will significantly improve the contrast of the character area.

[0053] The text area recognition unit uses the connected domain analysis method to find possible text blocks T_text based on the enhanced image E_enhance(x',y'); for each candidate text block, the area threshold method is used for screening, and the formula is Area(T_text)>A_min; this step identifies possible text areas through connected domain analysis, and screens out qualified text blocks through the area threshold method. This method can effectively exclude non-text areas and ensure that subsequent processing is only for actual text content.

[0054] Connected domain analysis is a commonly used image segmentation method that classifies adjacent pixels with similar attributes into the same area. Area(T_text) represents the area of ​​the text block, and A_min is the preset minimum text block area threshold. Only when the area of ​​the text block is greater than A_min, it is considered a valid text area.

[0055] Assume that the area of ​​a candidate text block is 500 square pixels, and the minimum text block area threshold A_min is set to 400 square pixels: Area(T_text)=500A_min=400; Since Area(T_text)>A_min, the text block is confirmed as a valid text area.

[0056] The symbol segmenter performs fine segmentation on the text block T_text that meets the conditions, and separates independent characters or symbols S_symbol; the projection histogram H_proj(x)=∑_(y'=min_y)^max_yE_enhance(x',y') is used to determine the cutting position between characters; C_complexity=Var(E_enhance(x',y')) / Mean(E_enhance(x',y')) distinguishes non-text elements of images and charts, and marks their positions; this step further segments the text block into individual characters or symbols, providing an accurate basis for subsequent content analysis. The projection histogram method determines the boundaries between characters by calculating the gray value distribution in the vertical direction, thereby achieving accurate segmentation.

[0057] Projection histogram is a commonly used text segmentation method. It generates a histogram by accumulating the grayscale values ​​of each column. H_proj(x) represents the projection histogram calculated in the x direction, E_enhance(x',y') is the enhanced grayscale value, min_y and max_y are the upper and lower boundary coordinates of the text block respectively. By analyzing the peak and valley values ​​in the histogram, the cutting position between characters can be determined.

[0058] Assume that the height of a text block ranges from min_y=10 to max_y=50, and the grayscale value distribution on a column x' is as follows: E_enhance(x',10)=1899.3E_enhance(x',11)=1890.0...E_enhance(x',50)=1880.0; According to the formula: H_proj(x')=1899.3+1890.0+...+1880.0; By calculating the total gray value of each column, a histogram is formed to determine the cutting position between characters.

[0059] The non-text element classifier evaluates the remaining parts that are not recognized as text by calculating the texture complexity index: Where: P_new is the pixel value of the high-resolution image, I_grad is the gradient intensity, α is the enhancement coefficient, Area is the area, A_min is the minimum text block area threshold, and C_complexity is the texture complexity.

[0060] By classifying non-text parts, it can distinguish complex structures such as images and charts to avoid mistaking these elements for text. By calculating the texture complexity index, the system can effectively identify and mark non-text elements to ensure the accuracy of subsequent processing.

[0061] Application principle and meaning: The texture complexity index C_complexity measures the complexity of a region by calculating the variance Var(E_enhance(x',y')) and the mean Mean(E_enhance(x',y')) of the grayscale values ​​in the region. Complex textures usually have a higher variance and a lower mean ratio, which helps to distinguish non-text elements such as images and charts.

[0062] Assume that the enhanced gray value distribution in a region is as follows: E_enhance(x',y')=[1899.3,1890.0,...,1880.0]; According to the formula: Mean(E_enhance(x',y'))=(1899.3+1890.0+...+1880.0) / nVar(E_enhance(x',y'))=Σ((E_enhance(x', y')-Mean(E_enhance(x',y')))²) / nC_complexity=Var(E_enhance(x',y')) / Mean(E_enhance(x',y')); By calculating the C_complexity value, the system can determine whether the area is a non-text element and mark it accordingly.

[0063] The above steps work together to ensure that the content parsing interface can efficiently and accurately interpret the document content and distinguish between text and non-text elements. The technical effect of each step not only improves the parsing accuracy of the system, but also provides a solid foundation for subsequent page structure generation and print output, and enhances the overall performance and reliability of the system.

[0064] The page structure generator is located after the content parsing interface and builds the page logic framework according to the parsing results; it further includes: The text block association module receives the text block T_text and its position information provided by the content parsing interface; the text block association module determines the relative position relationship between text blocks by calculating the distance D_dist=sqrt((Cx_i-Cx_j)^2+(Cy_i-Cy_j)^2) between adjacent text blocks; this step ensures that the system can accurately identify and quantify the spatial relationship between text blocks, providing basic data for the subsequent construction of logical hierarchy and paragraph combination. By calculating the distance between the center points of text blocks, it is possible to effectively determine which text blocks are closely related.

[0065] This formula is based on the Euclidean distance formula and is used to calculate the distance D_dist between the center coordinates of two text blocks (Cx_i, Cy_i) and (Cx_j, Cy_j). This step helps to identify adjacent or close text blocks, thereby inferring that they may belong to the same logical unit.

[0066] Assume that the center coordinates of the two text blocks are: (Cx_i,Cy_i)=(30,50); (Cx_j,Cy_j)=(60,80); According to the formula: D_dist=sqrt((30-60)^2+(50-80)^2)=sqrt((-30)^2+(-30)^2)=sqrt(900+900)=sqrt(1800)≈42.43; Therefore, the distance between these two text blocks is approximately 42.43.

[0067] The logical hierarchy construction unit establishes the hierarchical relationship of text blocks according to the distance D_dist between text blocks; for each text block, the formula Level_i = sum(D_dist < Dist_thresh) is used to determine its hierarchical level; this step analyzes the distance between text blocks to establish the hierarchical relationship of text blocks, making the document structure more organized. The construction of the hierarchical relationship helps to understand the logical organization of the document, such as headings, body texts, etc.

[0068] This formula is used to calculate whether the distance between each text block and other text blocks is less than the preset distance threshold Dist_thresh. Level_i represents the hierarchical level of text block i, and sum(D_dist < Dist_thresh) calculates the number of neighboring text blocks that meet the condition to determine the hierarchical depth of the text block.

[0069] Example: Assume that the distances between a certain text block i and three surrounding text blocks are respectively: D_dist_1 = 20; D_dist_2 = 30; D_dist_3 = 50; The set distance threshold Dist_thresh = 40; According to the formula: Level_i = sum(D_dist < Dist_thresh) = sum([20, 30, 50] < 40) = sum([True, True, False]) = 2; Therefore, the hierarchical level of this text block is 2.

[0070] The paragraph recognizer uses the hierarchical relationship to identify and combine text blocks belonging to the same paragraph; it judges whether text blocks should be merged into one paragraph by calculating the vertical overlap degree O_overlap = max(0, min_yi - max_yj) of text blocks; this step analyzes the vertical overlap degree of text blocks to identify and combine text blocks belonging to the same paragraph. This helps to maintain the logical coherence of the document content and simplifies subsequent processing.

[0071] This formula is used to calculate the vertical overlap degree O_overlap of text blocks. min_yi and max_yj respectively represent the y coordinates of the upper and lower boundaries of two text blocks. If min_yi - max_yj is positive, it means that the two text blocks overlap vertically, otherwise there is no overlap.

[0072] Assume that the upper and lower boundary coordinates of the two text blocks are: Text block i: (min_yi=10,max_yi=30); Text block j: (min_yj=20,max_yj=40); According to the formula: O_overlap=max(0,min_yi-max_yj)=max(0,10-40)=max(0,-30)=0; Since O_overlap=0, the two text blocks have no vertical overlap and should not be merged into one paragraph.

[0073] The frame builder integrates the position information of all text and non-text elements to generate a complete page logic framework F_layout; using the formula: F_layout={S_symbol,T_text,NonTextElements}∪SegmentRelations ensures that the page structure is clear and orderly; Where: Cx_i, Cy_i are the coordinates of the center of the text block, Dist_thresh is the distance threshold, Level_i is the level of the text block, O_overlap is the degree of overlap in the vertical direction, min_yi, max_yj are the coordinates of the upper and lower boundaries of the text block, S_symbol is the symbol, NonTextElements is the non-text element, and SegmentRelations is the set of relationships between paragraphs.

[0074] This step integrates the location information of all text and non-text elements to build a complete page logic framework to ensure that the document structure is clear and orderly. This framework not only includes the specific location of each element, but also the logical relationship between them, which is convenient for subsequent printing and output.

[0075] This formula is used to generate the page logic framework F_layout, where S_symbol is a symbol, T_text is a text block, NonTextElements is a non-text element (such as an image, a chart), and SegmentRelations is a set of relationships between paragraphs. By integrating this information, the system can fully describe the content layout and logical structure of the page.

[0076] Example: Assume a page contains the following elements: Symbol S_symbol = [symbol1, symbol2]; Text block T_text=[text_block1,text_block2]; NonTextElements=[image1,chart1]; The relationship set between paragraphs SegmentRelations=[(text_block1,text_block2)]; According to the formula: F_layout={symbol1,symbol2,text_block1,text_block2,image1,chart1}∪[(text_block1,text_block2)]; The resulting page logic framework covers all elements and their logical relationships, ensuring a clear and orderly document structure.

[0077] The above steps work together to ensure that the page structure generator can efficiently and accurately build the page logic framework based on the parsing results. The technical effect of each step not only improves the parsing accuracy of the system, but also provides a solid foundation for subsequent printing output and enhances the overall performance and reliability of the system.

[0078] A positioning instruction processor is connected to the page structure generator to formulate a printing position guidance plan; further comprising: The position initialization module receives the page logic frame F_layout provided by the page structure generator; the position initialization module calculates the initial printing coordinates (P_start_x, P_start_y) of each text block T_text and non-text element NonTextElements according to the element position information in the frame, using the formula P_start_x=Cx-Offset_x and P_start_y=Cy-Offset_y; this step ensures that the system can determine the initial printing coordinates for each element based on the element position information in the page logic frame. By applying an offset, the starting position of an element on the page can be adjusted to meet specific layout requirements.

[0079] This formula is used to calculate the initial printing coordinates (P_start_x, P_start_y) of each element. Cx and Cy are the coordinates of the element center, and Offset_x and Offset_y are the preset offsets. This step ensures that the element is printed from the correct starting position.

[0080] Assume that the center coordinates of a text block are: (Cx,Cy)=(150,200); The offset is: (Offset_x,Offset_y)=(10,20); According to the formula: P_start_x=150-10=140P_start_y=200-20=180; Therefore, the initial printing coordinates of the text block are (140,180).

[0081] The boundary adjustment unit checks whether the initial print coordinates (P_start_x, P_start_y) exceed the print area boundary; if so, it is adjusted by the formula P_adjusted=(P_start_x+Δx_adj, P_start_y+Δy_adj) to make all elements within the valid print area and ensure that the final print coordinates (P_final_x, P_final_y) meet the condition MinPrint≤P_adjusted≤MaxPrint; this step ensures that the print coordinates of all elements are within the valid print area to avoid printing errors or waste of materials due to exceeding the boundary. Through proper adjustment, the system can ensure that all elements are printed correctly.

[0082] This formula is used to adjust the print coordinates that are beyond the boundary. Δx_adj and Δy_adj are the adjustment increments, MinPrint and MaxPrint are the minimum and maximum boundaries of the print area respectively. By adjusting the increments, ensure that the adjusted coordinates P_adjusted are within the valid print area.

[0083] Assume that the initial printing coordinates of a text block are: (P_start_x,P_start_y)=(30,280); The print area boundaries are: MinPrint=(50,50), MaxPrint=(250,250); The adjustment increment is: (Δx_adj, Δy_adj) = (20, -30); According to the formula: P_adjusted=(30+20,280-30)=(50,250); Therefore, the adjusted printing coordinates are (50,250), which is exactly within the printing area.

[0084] The relative position optimizer uses the adjusted printing coordinates (P_final_x, P_final_y) to optimize the relative positions between adjacent elements. It ensures that the elements are properly spaced by calculating the ideal spacing between adjacent elements D_ideal = (P_final_xi-P_final_xj) / Scale_factor. This step optimizes the relative positions between adjacent elements to ensure that there is proper spacing between them, avoid overlapping or too close arrangement, and thus improve the readability and aesthetics of the document.

[0085] This formula is used to calculate the ideal spacing D_ideal between adjacent elements. P_final_xi and P_final_xj are the final printing coordinates of two adjacent elements in the x direction, and Scale_factor is the preset scale factor. By adjusting the scale factor, the spacing between elements can be controlled.

[0086] Assume that the final printing coordinates of two adjacent text blocks are: (P_final_xi,P_final_yi)=(100,200); (P_final_xj,P_final_yj)=(150,200); The scale factor is: Scale_factor=2; According to the formula: D_ideal=(150-100) / 2=50 / 2=25; Therefore, the ideal spacing between these two text blocks is 25.

[0087] The instruction generator generates accurate printing instructions I_print for each element based on the optimized printing coordinates and spacing information; the formula is: I_print={P_final_x,P_final_y,D_ideal} defines the set of printing parameters for each element to ensure accurate execution during the printing process; this step generates detailed printing instructions to ensure that each element can be accurately printed at the specified position and spacing. These instructions provide clear operating guidelines for the printer to ensure high-quality print output.

[0088] This formula is used to construct the set of printing parameters I_print for each element. P_final_x and P_final_y are the final printing coordinates, and D_ideal is the ideal spacing. By integrating this information, the system is able to generate accurate printing instructions for each element.

[0089] Assume that the final printing coordinates of a text block are: (P_final_x,P_final_y)=(140,180); The ideal spacing is: D_ideal=25; According to the formula: I_print = {140,180,25}; Therefore, the printing instruction for this text block is {140,180,25}, ensuring that it is accurately printed at the specified position and spacing.

[0090] The above steps work together to ensure that the positioning instruction processor can efficiently and accurately formulate the printing position guidance plan. The technical effect of each step not only improves the system's parsing accuracy, but also provides a solid foundation for subsequent printing operations and enhances the overall performance and reliability of the system.

[0091] Where: Cx, Cy are the coordinates of the element center, Offset_x, Offset_y are the offsets, P_adjusted are the adjusted coordinates, Δx_adj, Δy_adj are the offset increments, MinPrint, MaxPrint are the print area boundaries, D_ideal is the ideal spacing, Scale_factor is the scale factor, and I_print is the print instruction.

[0092] A dynamic calibration component, coupled to a positioning instruction processor, adjusts printing parameters in real time to ensure positioning accuracy; further comprising: The error detection module receives the print instruction I_print from the positioning instruction processor; the error detection module calculates the deviation ΔP_err=(P_actual_x-P_final_x,P_actual_y) between the actual print coordinates (P_actual_x,P_actual_y) and the expected coordinates (P_final_x,P_final_y) by real-time monitoring of the print head position; this step ensures that the system can monitor the position deviation in the printing process in real time, and promptly discover and record any deviation from the expected situation. This provides an accurate data basis for subsequent compensation adjustments.

[0093] This formula is used to calculate the deviation ΔP_err between the actual position (P_actual_x, P_actual_y) of the print head and the expected position (P_final_x, P_final_y). The deviation value reflects the position error that may occur during the printing process and is the basic data for compensation adjustment.

[0094] Assume that the expected printing coordinates of an element are: (P_final_x,P_final_y)=(140,180); The actual printing coordinates are: (P_actual_x, P_actual_y) = (138, 179); According to the formula: ΔP_err=(138-140,179-180)=(-2,-1); Therefore, the position deviation of the print head is (-2,-1).

[0095] The compensation calculation unit calculates the compensation values ​​in the X-axis and Y-axis directions according to the positioning error ΔP_err by applying the formula Comp_x=ΔP_err_x*K_comp and Comp_y=ΔP_err_y*K_comp. This step corrects the position deviation of the print head by calculating the appropriate compensation value to ensure the accuracy of the final printing position. The compensation value is calculated based on the deviation value and the preset compensation coefficient to achieve precise adjustment.

[0096] This formula is used to calculate the compensation values ​​Comp_x and Comp_y in the X-axis and Y-axis directions. ΔP_err_x and ΔP_err_y are the components of the deviation value in the x-axis and y-axis directions, and K_comp is the preset compensation coefficient. The compensation value is used to adjust the position of the print head to reduce the deviation.

[0097] Assume the deviation value is: ΔP_err=(-2,-1); The compensation coefficient is: K_comp=0.8; According to the formula: Comp_x=-2*0.8=-1.6Comp_y=-1*0.8=-0.8; Therefore, the compensation values ​​in the X-axis and Y-axis directions are -1.6 and -0.8, respectively.

[0098] The parameter adjuster uses the calculated compensation value (Comp_x, Comp_y) to correct the original printing instruction I_print and generate new printing parameters I_new; the printing position of each element is updated through the formula I_new={P_final_x+Comp_x,P_final_y+Comp_y,D_ideal}; this step corrects the original printing instruction and generates new printing parameters to ensure that each element can be accurately printed at the adjusted position. This dynamic adjustment ensures high precision of the printing process.

[0099] This formula is used to generate new printing parameters I_new. P_final_x and P_final_y are the original expected printing coordinates, Comp_x and Comp_y are the calculated compensation values, and D_ideal is the ideal spacing. By updating the printing coordinates, the system can correct position deviations and ensure printing accuracy.

[0100] Assume that the original printing instruction is: I_print = {140,180,25}; The compensation value is: (Comp_x, Comp_y) = (-1.6, -0.8); According to the formula: I_new = {140 + (-1.6), 180 + (-0.8), 25} = {138.4, 179.2, 25}; Therefore, the new printing parameters are {138.4, 179.2, 25}.

[0101] The feedback verification unit monitors the printing effect after adjustment; by comparing the difference ΔP_new = (P_new_x - P_final_x, P_new_y - P_final_y) between the new and old printing coordinates, the adjustment effect is verified using the formula ErrorRate = sqrt(ΔP_new_x^2 + ΔP_new_y^2) / Distance; if ErrorRate is lower than the preset threshold Err_thresh, it is confirmed that the adjustment is successful; this step evaluates the effectiveness of the compensation adjustment by monitoring the printing effect after adjustment. By calculating the error rate, the system can determine whether the expected printing accuracy has been achieved and make further adjustments if necessary.

[0102] This formula is used to calculate the difference ΔP_new between the adjusted printing coordinates (P_new_x, P_new_y) and the expected coordinates (P_final_x, P_final_y), and to calculate the error rate ErrorRate. Distance is the ideal spacing, and Err_thresh is the preset error threshold. The lower the error rate, the better the adjustment effect.

[0103] Assume that the adjusted printing coordinates are: (P_new_x, P_new_y) = (138.4, 179.2); The expected coordinates are: (P_final_x, P_final_y) = (140, 180); The ideal spacing is: Distance = 25; The preset error threshold is: Err_thresh = 0.05; According to the formula: ΔP_new = (138.4 - 140, 179.2 - 180) = (-1.6, -0.8) ErrorRate = sqrt((-1.6)^2 + (-0.8)^2) / 25 = sqrt(2.56 + 0.64) / 25 = sqrt(3.2) / 25 ≈ 0.357 / 25 ≈ 0.0143; Since ErrorRate = 0.0143 < Err_thresh = 0.05, it is confirmed that the adjustment is successful.

[0104] The above steps work together to ensure that the dynamic calibration component can adjust the printing parameters in real time to ensure positioning accuracy. The technical effect of each step not only improves the printing accuracy of the system, but also provides a solid foundation for high-quality print output and enhances the overall performance and reliability of the system.

[0105] Where: Comp_x, Comp_y are compensation values, K_comp is the compensation coefficient, I_new is the new printing parameter, ErrorRate is the error rate, Distance is the ideal distance, and Err_thresh is the preset error threshold.

[0106] The output control center connects the dynamic calibration components, directs the execution of printing operations, and ensures that documents are output in sequence; further includes: The task scheduling module receives the final printing parameter I_new provided by the dynamic calibration component; the task scheduling module arranges the printing task sequence according to the document priority and the page logic framework F_layout, and assigns a unique task identifier TaskID to each task; This step ensures that the system can reasonably arrange printing tasks according to the priority and logical structure of the document, improving printing efficiency and sequence accuracy. By assigning a unique ID to each task, it is easy to track and manage it later.

[0107] The task scheduling module determines the order of printing tasks based on document priority and page logic framework F_layout. Each task is assigned a unique TaskID for identification and tracking during execution.

[0108] Suppose there is a document containing three pages, and the page logic framework is as follows: Page 1: High priority, contains title and important information Page 2: Medium priority, contains the main content Page 3: Low priority, contains appendix According to the document priority, the printing task order arranged by the task scheduling module is as follows: TaskID_1=Page 1; TaskID_2=Page 2; TaskID_3=Page 3.

[0109] The instruction execution unit extracts the corresponding I_new from the print parameter library based on the task identifier TaskID, and starts the print head to perform the actual printing operation; the execution status of each task is tracked through the formula PrintStat=Execute(I_new); this step ensures that each print task can be accurately executed according to the predetermined parameters and monitors the status of the task in real time. This helps to promptly discover and deal with any possible problems and ensure the smooth progress of the printing process.

[0110] This formula is used to start the printing operation and track its execution status. I_new is the final printing parameter, and the Execute(I_new) function is responsible for starting the print head and returning the printing status PrintStat of the current task, such as "Executing", "Completed" or "Failed".

[0111] Assume that the printing parameters of a task are: I_new={138.4,179.2,25}; The instruction execution unit starts the print head and returns the status: PrintStat=Execute({138.4,179.2,25})="Executing"; When printing is complete: PrintStat="Completed".

[0112] During the printing process, the sequence verifier monitors the page output sequence in real time; the formula SeqCheck=(TaskID_i-TaskID_(i-1))==1 is used to check the continuity between two adjacent task IDs; this step ensures that the print tasks are output in the correct order to avoid order confusion caused by task scheduling errors or exceptions. By monitoring the continuity of task IDs in real time, problems can be discovered and corrected in a timely manner.

[0113] This formula is used to check whether the difference between two adjacent task identifiers TaskID_i and TaskID_(i-1) is 1. If the difference is 1, it means that the task sequence is correct; otherwise, there may be a sequence error.

[0114] Assume that the current task is identified as: TaskID_i=2; The previous task is identified as: TaskID_(i-1)=1; According to the formula: SeqCheck=(2-1)==1=True; Therefore, the tasks are in the correct order.

[0115] The completion confirmation module records completed tasks and their output status; updates the task completion log through the formula CompletionLog={TaskID,PrintStat,OutputTime}, and checks whether all expected tasks have been successfully completed, and uses the formula TaskComplete=sum(PrintStat=='Completed')==TotalTasks to verify whether the entire document has been output in order; this step ensures that the system can accurately record the completion of each task, and verify after all tasks are completed to confirm whether the entire document has been output in order. This helps to ensure the integrity and accuracy of the printing task.

[0116] This formula is used to update the task completion log CompletionLog, recording the TaskID, PrintStat, and OutputTime of each task. sum(PrintStat=='Completed') calculates the number of completed tasks, and TotalTasks is the total number of tasks. By comparing these two values, you can verify whether all tasks have been successfully completed.

[0117] Assume that the task completion log is as follows: TaskID_1=Page 1, PrintStat="Completed",OutputTime="2024-12-30T16:00:00"; TaskID_2=Page 2, PrintStat="Completed",OutputTime="2024-12-30T16:01:00"; TaskID_3=Page 3, PrintStat="Completed",OutputTime="2024-12-30T16:02:00"; According to the formula: CompletionLog={{1,"Completed","2024-12-30T16:00:00"},{2,"Completed","2024-12-30T16:01:00"},{3,"Completed","2024-12-30T16:02:00"}}; TaskComplete=sum(PrintStat=='Completed')==3=3==3=True; Therefore, confirm that the entire document has been output in full and in order.

[0118] The above steps work together to ensure that the output control center can efficiently and accurately direct the execution of printing operations and ensure that documents are output in order.

[0119] Where: PrintStat is the printing status, SeqCheck is the sequence check result, OutputTime is the output time, CompletionLog is the task completion log, and TotalTasks is the total number of tasks.

[0120] A user interaction panel is connected to the output control center to provide a user interface for operation selection and status monitoring; further comprising: The operation selection interface receives the print request from the user; the operation selection interface provides a series of preset options for the user to choose, including document type DocType, number of copies Copies, and duplex setting Duplex; the user's selection is encoded as configuration parameter ConfigParam, and the formula ConfigParam={DocType,Copies,Duplex} is used to record the user's setting; this step ensures that the user can easily select the desired print settings through an intuitive interface, and encodes these selections as configuration parameters that the system can recognize. This improves the user experience and system flexibility.

[0121] This formula is used to create a ConfigParam containing the configuration parameters selected by the user. DocType indicates the document type (such as PDF, Word, etc.), Copies indicates the number of copies, and Duplex indicates whether to enable duplex printing. These parameters provide necessary information for subsequent printing tasks.

[0122] Assume the user selects the following options: Document typeDocType="PDF"; Print number of copies Copies = 2; For double-sided printing, set Duplex="True"; According to the formula: ConfigParam={"PDF",2,"True"}; Therefore, the configuration parameters are {"PDF",2,"True"}.

[0123] The status monitoring module is connected to the output control center to obtain the execution status PrintStat of the current printing task in real time; through the formula: TaskProgress = (PagesCompleted / PagesTotal) * 100 Calculate the percentage of printing progress; This step ensures that users can understand the progress of the printing task in real time, improving transparency and user satisfaction. By calculating the percentage of printing progress, users can clearly know the degree of task completion.

[0124] This formula is used to calculate the progress percentage TaskProgress of a print task. PagesCompleted is the number of completed pages, and PagesTotal is the total number of pages. The percentage of printing progress is obtained by dividing the number of completed pages by the total number of pages and multiplying by 100.

[0125] Assume that the total number of pages in a print job is: PagesTotal = 10; The number of completed pages is: PagesCompleted=7; According to the formula: TaskProgress=(7 / 10)*100=70; Therefore, the printing progress is 70%.

[0126] The error reporting unit monitors the information fed back by the status monitoring module; if an abnormal situation is detected, an error code ErrCode is generated, and the specific error information is displayed to the user through the formula ErrMsg="Error:"+ErrCode; this step ensures that when an abnormal situation occurs, the user can immediately receive detailed error information to help them quickly diagnose and solve the problem. This improves the reliability of the system and the user experience.

[0127] This formula is used to generate the error message ErrMsg. ErrCode is the error code generated by the system, which is appended to the "Error:" string to form the complete error message.

[0128] Assume that the status monitoring module detects an error and the generated error code is: ErrCode = "E001"; According to the formula: ErrMsg="Error:E001"; Therefore, the error message is "Error:E001".

[0129] The operation confirmation module integrates all user interaction data, including configuration parameters ConfigParam, print progress TaskProgress and error message ErrMsg, to form a complete operation log OpLog; using the formula: OpLog={ConfigParam,TaskProgress,ErrMsg,TimeStamp} Update log records to ensure that each user interaction has a detailed record for reference; this step ensures that all user interaction data is fully recorded for subsequent reference and analysis. This not only improves the transparency of the system, but also provides a basis for troubleshooting and performance optimization.

[0130] This formula is used to create the operation log OpLog. ConfigParam is the configuration parameter selected by the user, TaskProgress is the percentage of printing progress, ErrMsg is the error message, and TimeStamp is the timestamp. By integrating this information, the system can generate detailed log records.

[0131] Assume that the data of a user interaction is as follows: Configuration parameter ConfigParam={"PDF",2,"True"}; Print progress TaskProgress = 70; Error message ErrMsg="Error:E001"; TimestampTimeStamp="2024-12-30T16:45:00"; According to the formula: OpLog={{"PDF",2,"True"},70,"Error:E001","2024-12-30T16:45:00"}; Therefore, the operation log is: {{"PDF",2,"True"},70,"Error:E001","2024-12-30T16:45:00"}; The above four steps work together to ensure that the user interaction panel can efficiently and accurately provide a user interface for operation selection and status monitoring. The technical effect of each step not only improves the user experience and system flexibility, but also provides a solid foundation for high-quality print output and enhances the overall performance and reliability of the system.

[0132] Where: PrintStat is the printing status, PagesCompleted is the number of completed pages, PagesTotal is the total number of pages, and TimeStamp is the timestamp.

[0133] In summary, by integrating advanced image processing technology and multi-module collaboration, high-precision document parsing is achieved, which can efficiently and accurately identify a variety of document contents from simple plain text to complex mixed text and graphics; based on a deep understanding of the document content, the system builds an accurate page logic framework to ensure that the position and format of each element in the print output meet the requirements of the original; in addition, the close collaboration between the positioning instruction processor and the dynamic calibration component enables the system to adjust the printing parameters in real time during the printing process, maintaining extremely high positioning accuracy, and ensuring high-quality print output even in the face of paper offset or other mechanical errors. In summary, the system significantly improves the accuracy of document recognition and positioning, as well as the efficiency and quality of the overall printing process.

[0134] Finally, it should be noted that the above is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, it is still possible for those skilled in the art to modify the technical solutions described in the aforementioned embodiments or to make equivalent substitutions for some of the technical features therein. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. Intelligent document high-speed positioning self-service printer system, characterized by: Include: A document entry device for receiving documents to be printed; An image capturing unit, connected to the document entry device, for acquiring document image information; A physical feature analyzer, connected to the image capture unit, analyzes the physical properties of the document, including but not limited to boundaries and page layout; The content parsing interface, which follows the physical feature analyzer, interprets the document content and distinguishes between text and non-text elements; The page structure generator is located after the content parsing interface and builds the page logic framework according to the parsing results; Position the instruction processor, connect the page structure generator, and formulate the printing position guidance plan; Dynamic calibration components, coupled with positioning command processors, adjust printing parameters in real time to ensure positioning accuracy; The output control center connects the dynamic calibration components, directs the execution of printing operations, and ensures that documents are output in sequence; The user interaction panel is connected to the output control center and provides a user interface for operation selection and status monitoring.

2. The intelligent document high-speed positioning self-service printer system according to claim 1, characterized in that: The document entry device comprises: The receiving unit captures the document to be processed and starts an initialization sequence, which includes detecting the width W and length L of the document; The sizer calculates the document diagonal D_doc according to the formula D_doc=sqrt(W^2+L^2); The direction corrector compares the W and L values. When W is greater than L, it rotates 90 degrees clockwise; otherwise, it keeps the original direction unchanged. The transmission verifier checks whether the document is within the preset track using the boundary detection function B_bound=|x|+|y|-(W+L) / 2, where x and y represent the offset of the center of the document relative to the ideal position; if B_bound is less than zero, the document is confirmed to be in the correct position.

3. The intelligent document high-speed positioning self-service printer system according to claim 2, characterized in that: The image capturing unit comprises: The light sensing array receives the document after direction correction and generates a preliminary grayscale image G_gray(x,y) by scanning; The brightness normalization processor processes the preliminary grayscale image G_gray(x,y) and applies the formula G_norm(x,y)=(G_gray(x,y)-Min(G_gray)) / (Max(G_gray)-Min(G_gray))*255; The edge enhancer uses the Laplace operator ΔG_norm(x,y)=G_norm(x+1,y)+G_norm(x-1,y)+G_norm(x,y+1)+G_norm(x,y-1)-4*G_norm(x,y) to enhance the boundary features of the document content; The image optimizer uses interpolation to calculate new pixel values: P_new(x',y')=(P_old(floor(x'),floor(y'))+P_old(ceil(x'),ceil(y'))) / 2, ensuring image clarity while maintaining the original document ratio; Where G_norm is the standardized grayscale value, ΔG_norm is the value after Laplace processing, P_old is the original pixel value, P_new is the new pixel value, x, y are the original coordinates, and x', y' are the high-resolution coordinates.

4. The intelligent document high-speed positioning self-service printer system according to claim 3, characterized in that: The physical characteristic analyzer comprises: The boundary detection module receives the high-resolution image P_new(x',y') from the image capture unit and calculates the gradient strength of each pixel I_grad(x',y')=sqrt(Δx^2+Δy^2) through the edge detection operator; The boundary tracker identifies and connects adjacent strong edge points according to the gradient strength I_grad(x',y') to form a closed boundary path B_path; The layout parser uses the formed boundary path B_path to divide the document area and calculate the area of ​​the area: A_area=∑_(i=1)^n(x'i*y'(i+1)-x'_(i+1)*y'_i) / 2; The structure description generator constructs a geometric descriptor D_geom=(L_block, W_block, Cx_block, Cy_block) for each identified content block; Where Δx, Δy are grayscale change rates, x'_i, y'_i are boundary point coordinates, L_block is block length, W_block is block width, Cx_block, Cy_block are block center coordinates.

5. The intelligent document high-speed positioning self-service printer system according to claim 4, characterized in that: The content parsing interface includes: The character detection module receives the geometric descriptor D_geom and boundary path B_path provided by the physical feature analyzer, and calculates the enhancement value E_enhance(x',y')=P_new(x',y')*(1+α*|I_grad(x',y')|) of each pixel through local contrast enhancement; The text area recognition unit uses the connected domain analysis method to find possible text blocks T_text based on the enhanced image E_enhance(x',y'); for each candidate text block, the area threshold method is used for screening, and the formula is Area(T_text)>A_min; The symbol segmenter performs fine segmentation on the text block T_text that meets the conditions and separates independent characters or symbols S_symbol; the projection histogram H_proj(x)=∑_(y'=min_y)^max_yE_enhance(x',y') is used to determine the cutting position between characters; The non-text element classifier evaluates the remaining parts that are not recognized as text by calculating the texture complexity index: C_complexity=Var(E_enhance(x',y')) / Mean(E_enhance(x',y')) distinguishes images, charts and non-text elements and marks their locations; Where: P_new is the pixel value of the high-resolution image, I_grad is the gradient intensity, α is the enhancement coefficient, Area is the area, A_min is the minimum text block area threshold, and C_complexity is the texture complexity.

6. The intelligent document high-speed positioning self-service printer system according to claim 5, characterized in that: The page structure generator includes: The text block association module receives the text block T_text and its position information provided by the content parsing interface; the text block association module determines the relative position relationship between text blocks by calculating the distance D_dist = sqrt((Cx_i - Cx_j)^2+(Cy_i - Cy_j)^2) between adjacent text blocks; The logical hierarchy construction unit establishes the hierarchical relationship of text blocks according to the distance D_dist between text blocks; for each text block, the formula Level_i = sum(D_dist < Dist_thresh) is used to determine its hierarchical level; The paragraph recognizer uses the hierarchical relationship to recognize and combine text blocks belonging to the same paragraph; it judges whether text blocks should be merged into one paragraph by calculating the overlap degree O_overlap = max(0, min_yi - max_yj) in the vertical direction of text blocks; The frame constructor integrates the position information of all text and non - text elements to generate a complete page logical frame F_layout; using the formula: F_layout = {S_symbol, T_text, NonTextElements} ∪ SegmentRelations to ensure that the page structure is clear and orderly; In the formula: Cx_i, Cy_i are the center coordinates of text blocks, Dist_thresh is the distance threshold, Level_i is the hierarchical level of text blocks, O_overlap is the overlap degree in the vertical direction, min_yi, max_yj are the upper and lower boundary coordinates of text blocks, S_symbol is the symbol, NonTextElements is the non - text element, and SegmentRelations is the set of relationships between paragraphs.

7. The intelligent document high-speed positioning self-service printer system according to claim 6, characterized in that: The positioning instruction processor includes: The position initialization module receives the page logical frame F_layout provided by the page structure generator; the position initialization module calculates the initial printing coordinates (P_start_x, P_start_y) of each text block T_text and non - text element NonTextElements according to the element position information in the frame, using the formulas P_start_x = Cx - Offset_x and P_start_y = Cy - Offset_y; The boundary adjustment unit checks whether the initial printing coordinates (P_start_x, P_start_y) exceed the boundary of the printing area; if so, it is adjusted by the formula P_adjusted=(P_start_x + Δx_adj, P_start_y + Δy_adj) to make all elements within the valid printing area, ensuring that the final printing coordinates (P_final_x, P_final_y) satisfy the condition MinPrint ≤ P_adjusted ≤ MaxPrint; The relative position optimizer uses the adjusted printing coordinates (P_final_x, P_final_y) to optimize the relative positions between adjacent elements. It ensures that the elements are properly spaced by calculating the ideal spacing between adjacent elements D_ideal = (P_final_xi-P_final_xj) / Scale_factor. The instruction generator generates accurate printing instructions I_print for each element based on the optimized printing coordinates and spacing information; the formula is: I_print={P_final_x,P_final_y,D_ideal} defines the set of printing parameters for each element to ensure accurate execution during the printing process; Where: Cx, Cy are the coordinates of the element center, Offset_x, Offset_y are the offsets, P_adjusted are the adjusted coordinates, Δx_adj, Δy_adj are the offset increments, MinPrint, MaxPrint are the print area boundaries, D_ideal is the ideal spacing, Scale_factor is the scale factor, and I_print is the print instruction.

8. The intelligent document high-speed positioning self-service printer system according to claim 7, characterized in that: The dynamic calibration component comprises: The error detection module receives the print instruction I_print from the positioning instruction processor; the error detection module calculates the deviation ΔP_err=(P_actual_x-P_final_x, P_actual_y-P_final_y) between the actual print coordinates (P_actual_x, P_actual_y) and the expected coordinates (P_final_x, P_final_y) by monitoring the print head position in real time; The compensation calculation unit calculates the compensation values ​​in the X-axis and Y-axis directions according to the positioning error ΔP_err by applying the formulas Comp_x=ΔP_err_x*K_comp and Comp_y=ΔP_err_y*K_comp; The parameter adjuster uses the calculated compensation value (Comp_x, Comp_y) to modify the original printing instruction I_print and generate a new printing parameter I_new; the printing position of each element is updated through the formula I_new={P_final_x+Comp_x,P_final_y+Comp_y,D_ideal}; The feedback verification unit monitors the printing effect after adjustment; by comparing the difference between the new and old printing coordinates ΔP_new=(P_new_x-P_final_x, P_new_y-P_final_y), the adjustment effect is verified using the formula ErrorRate=sqrt(ΔP_new_x^2+ΔP_new_y^2) / Distance; if ErrorRate is lower than the preset threshold Err_thresh, the adjustment is confirmed to be successful; Where: Comp_x, Comp_y are compensation values, K_comp is the compensation coefficient, I_new is the new printing parameter, ErrorRate is the error rate, Distance is the ideal distance, and Err_thresh is the preset error threshold.

9. The intelligent document high-speed positioning self-service printer system according to claim 8, characterized in that: The output control center includes: The task scheduling module receives the final printing parameter I_new provided by the dynamic calibration component; the task scheduling module arranges the printing task sequence according to the document priority and the page logic framework F_layout, and assigns a unique task identifier TaskID to each task; The instruction execution unit extracts the corresponding I_new from the printing parameter library according to the task identifier TaskID, and starts the print head to perform the actual printing operation; the execution status of each task is tracked through the formula PrintStat=Execute(I_new); During the printing process of the sequence verifier, the page output sequence is monitored in real time; the formula SeqCheck=(TaskID_i-TaskID_(i-1))==1 is used to check the continuity between two adjacent task identifiers; The completion confirmation module records the completed tasks and their output status; updates the task completion log through the formula CompletionLog={TaskID,PrintStat,OutputTime}, and checks whether all expected tasks have been successfully completed, and uses the formula TaskComplete=sum(PrintStat=='Completed')==TotalTasks to verify whether the entire document has been output in order; Where: PrintStat is the printing status, SeqCheck is the sequence check result, OutputTime is the output time, CompletionLog is the task completion log, and TotalTasks is the total number of tasks.

10. The intelligent document high-speed positioning self-service printer system according to claim 9, characterized in that: The user interaction panel comprises: The operation selection interface receives a print request from the user; the operation selection interface provides a series of preset options for the user to choose, including document type DocType, number of copies Copies, and duplex setting Duplex; the user's selection is encoded as a configuration parameter ConfigParam, and the formula ConfigParam={DocType,Copies,Duplex} is used to record the user's setting; The status monitoring module is connected to the output control center to obtain the execution status PrintStat of the current printing task in real time; through the formula: TaskProgress=(PagesCompleted / PagesTotal)*100 calculates the printing progress percentage; The error reporting unit monitors the information fed back by the status monitoring module; if an abnormality is detected, an error code ErrCode is generated, and the specific error information is displayed to the user through the formula ErrMsg="Error:"+ErrCode; The operation confirmation module integrates all user interaction data, including configuration parameters ConfigParam, print progress TaskProgress and error message ErrMsg, to form a complete operation log OpLog; using the formula: OpLog={ConfigParam,TaskProgress,ErrMsg,TimeStamp} updates the log record to ensure that every user interaction has a detailed record for reference; Where: PrintStat is the printing status, PagesCompleted is the number of completed pages, PagesTotal is the total number of pages, and TimeStamp is the timestamp.

Citation Information

Patent Citations

  • Image forming apparatus and electronic document management method

    CN101063836A

  • Dimension error compensation method, apparatus, device, and storage medium for printing image output

    CN109062520A

  • Self-service printer document automatic typesetting and printing system and method combined with visual identification

    CN118915982A

  • Archive digitization method and system based on intelligent image enhancement and automatic classification

    CN119049066A

  • Method for detecting block boundary and apparatus thereof

    KR1020110077825A

Cited By

  • DTG printing method and system based on line scanning camera visual deformation and rigid body positioning

    CN120534091A