A server-based printing method and related apparatus

By segmenting a large image into multiple segments and uploading and printing them using multi-server parallel communication technology, the problem of printers being unable to print large images was solved, achieving complete image printing and improving time efficiency.

CN114756182BActive Publication Date: 2026-01-09SHENZHEN RUNTIANZHI DIGITAL EQUIP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210454867.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-24
Publication Date
2026-01-09
Estimated Expiration
2042-04-24

AI Technical Summary

Technical Problem

Existing printers, when printing large images, will crop off portions exceeding the maximum print width, making it impossible to print a complete image and thus failing to meet customer requirements.

Method used

By configuring multiple print servers, the original image is divided into multiple segmented images. Multi-server concurrent communication technology is used to upload the segmented images to the image queues of each print server. The system's multi-core central processing unit performs multi-threaded uploading, and finally the print server prints the images.

Benefits of technology

It enables the printing of complete images without cropping, meeting customer needs and reducing user waiting time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114756182B_ABST
    Figure CN114756182B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a kind of print method based on server, for solving image printing problem.The method of embodiments of the present application includes: configuring M print servers, M is greater than or equal to 1;When obtaining N original images, the N original images are split to obtain M*N split images, N is greater than or equal to 1;The M*N split images are uploaded to the image queue corresponding to the M print servers, wherein the split images contained in the image queue belong to different original images;When the M*N split images are uploaded, start printing information is sent to the M print servers, so that the M print servers print the M*N split images.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of computer printing, and in particular to a printing method based on a server. BACKGROUND

[0002] With the network tide sweeping the world, as an important part of the network, LAN is increasingly popular. Network printing client that combines network and printing function is constantly moving into the field of network office, its use and popularity not only embodies the network of convenient and fast, but also saves a lot of office equipment, can say a hit. Network printing refers to connecting the printing client as an independent device to the LAN or the Internet through the printing server (built-in or external), so that the printing client is freed from the status of computer peripherals, and becomes an independent member of the network, and becomes a network node and information management output terminal that can be used with other devices. Other members can directly access and use the printing client.

[0003] The existing printer only prints images without considering the maximum supported image printing width of the printer. That is, when the image file size (width) printed by the printer is very large and exceeds the maximum printing width, the image exceeding the part will be cropped. The printer cannot print a complete image according to the actual image file size, so it cannot meet the customer's requirements. SUMMARY

[0004] Embodiments of the present application provide a printing method based on a server, which is used to solve the image printing problem.

[0005] The first aspect of the embodiments of the present application provides a printing method based on a server, applied to a printing client, comprising:

[0006] Configuring M printing servers, M is greater than or equal to 1;

[0007] After obtaining N original images, the N original images are divided to obtain M*N divided images, N is greater than or equal to 1;

[0008] The M*N divided images are uploaded to the image queue corresponding to the M printing servers, wherein the divided images contained in the image queue belong to different original images;

[0009] After the M*N divided images are uploaded, start printing information is sent to the M printing servers, so that the M printing servers print the M*N divided images.

[0010] In the embodiments of the present application, the original image is cut into a plurality of cut images, and the cut images are uploaded to a plurality of print servers and printed. Thus, when the maximum print width is exceeded, the excess part of the image will not be cropped, and the print server can print the complete image according to the actual image file size, thereby meeting the requirements of the customer.

[0011] The second aspect of the embodiments of the present application provides a server-based printing method applied to a print client, comprising:

[0012] configuring M print servers, wherein M is greater than or equal to 1;

[0013] after obtaining N original images, cutting the N original images to obtain M*N cut images, wherein N is greater than or equal to 1;

[0014] uploading the M*N cut images to the image queues corresponding to the M print servers, wherein the cut images contained in the image queues belong to different original images;

[0015] after the uploading of the M*N cut images is completed, sending start printing information to the M print servers, so that the M print servers print the M*N cut images.

[0016] Optionally, the cutting of the N original images comprises:

[0017] cutting the N original images by using an image cutting algorithm.

[0018] Optionally, the uploading of the M*N cut images to the image queues corresponding to the M print servers comprises:

[0019] uploading the M*N cut images to the image queues of the M print servers by using multi-path server concurrent communication technology.

[0020] Optionally, after the printing of the M*N cut images, the method further comprises:

[0021] obtaining a next period image, taking the next period image as an original image, and returning to the step of cutting the N original images.

[0022] Optionally, after the uploading of the M*N cut images to the image queues corresponding to the M print servers, the method further comprises:

[0023] after the uploading of the M*N cut images is completed, receiving uploading completion information fed back by the print servers, wherein the uploading completion information is used to indicate that the uploading of the M*N cut images is completed.

[0024] The embodiment of the present application provides a printing method based on a server, each slice image of a same large image file is transmitted to each server by using multi-path server parallel communication, and each slice data of the large image file is uploaded to the server simultaneously by using the multi-thread idea of a system multi-core central processing unit, so that the image file is uploaded to the server faster, and the time of waiting of a user in an actual production process is reduced.

[0025] The third aspect of the embodiment of the present application provides a printing method based on a server, applied to a printing server, and including the following steps.

[0026] Obtaining a slice image obtained by slicing an original image by a printing client;

[0027] Adding the slice image to an image queue corresponding to the printing server, wherein the slice images contained in the image queue belong to different original images;

[0028] When the slice image is uploaded, receiving starting printing information sent by the printing client to print the slice image.

[0029] The embodiment of the present application provides a printing method based on a server, the printability of the scheme is improved by printing the slice image in the image queue.

[0030] The fourth aspect of the embodiment of the present application provides a printing method based on a server, applied to a printing server, and including the following steps.

[0031] Obtaining a slice image obtained by slicing an original image by a printing client;

[0032] Adding the slice image to an image queue corresponding to the printing server, wherein the slice images contained in the image queue belong to different original images;

[0033] When the slice image is uploaded, receiving starting printing information sent by the printing client to print the slice image.

[0034] Optionally, the receiving starting printing information sent by the printing client to print the slice image includes the following steps.

[0035] Receiving starting printing information sent by the printing client to enter a printing state;

[0036] When the printing server enters the printing state, printing the slice image.

[0037] Optionally, the receiving the start printing information sent by the print client to print the split images comprises:

[0038] receiving the start printing information sent by the print client;

[0039] When the print server receives the start printing information, the split images are obtained from the image queue, and the split images are printed.

[0040] Optionally, after the receiving the start printing information sent by the print client to enter the print state, the method further comprises:

[0041] feeding back the information of the print state to the print client.

[0042] Embodiments of the present application provide a print method based on a server. A print server prints split images in an image queue by receiving a start printing instruction sent by a print client, thereby improving the realizability of the scheme.

[0043] The fifth aspect of the embodiments of the present application provides a print system based on a server, applied to a print client, comprising:

[0044] a configuration unit configured to configure M print servers, wherein M is greater than or equal to 1;

[0045] a splitting unit configured to split N original images to obtain M*N split images when the N original images are obtained, wherein N is greater than or equal to 1;

[0046] an uploading unit configured to upload the M*N split images to image queues corresponding to the M print servers, wherein the split images contained in the image queues belong to different original images;

[0047] a sending unit configured to send start printing information to the M print servers to make the M print servers print the M*N split images when the uploading of the M*N split images is completed.

[0048] The print system based on the server provided in the fifth aspect of the embodiments of the present application is used to execute the method provided in the first aspect.

[0049] The sixth aspect of the embodiments of the present application provides a print system based on a server, applied to a print client, comprising:

[0050] a configuration unit configured to configure M print servers, wherein M is greater than or equal to 1;

[0051] a splitting unit, configured to split the N original images to obtain M*N split images after the N original images are obtained, wherein N is greater than or equal to 1;

[0052] an uploading unit, configured to upload the M*N split images to image queues corresponding to the M print servers, wherein the split images contained in the image queues belong to different original images;

[0053] a sending unit, configured to send start printing information to the M print servers after the M*N split images are uploaded, so that the M print servers print the M*N split images.

[0054] Optionally, the splitting unit comprises a splitting subunit.

[0055] The splitting subunit is configured to split the N original images by using an image splitting algorithm.

[0056] Optionally, the uploading unit comprises an uploading subunit.

[0057] The uploading subunit is configured to upload the M*N split images to the image queues of the M print servers by using a multi-path server concurrent communication technology.

[0058] Optionally, the system further comprises an executing unit.

[0059] The executing unit is configured to obtain a next period image, take the next period image as an original image, and return to the step of splitting the N original images.

[0060] Optionally, the system further comprises a receiving unit.

[0061] The receiving unit is configured to receive uploading completion information fed back by the print servers after the M*N split images are uploaded, wherein the uploading completion information is used to indicate that the M*N split images are uploaded.

[0062] The sixth aspect of the embodiment of the present application provides a server-based printing system for executing the method of the second aspect.

[0063] The seventh aspect of the embodiment of the present application provides a server-based printing system applied to a print server, comprising:

[0064] an obtaining unit, configured to obtain split images obtained by splitting original images by a print client;

[0065] an adding unit, configured to add the split image to an image queue corresponding to the print server, wherein the split images contained in the image queue belong to different original images;

[0066] a receiving unit, configured to receive start printing information sent by the print client when the uploading of the split image is completed, so as to print the split image.

[0067] The seventh aspect of the embodiment of the present application provides a print system based on a server, which is used to execute the method in the third aspect.

[0068] The eighth aspect of the embodiment of the present application provides a print system based on a server, which is applied to a print server and includes:

[0069] an obtaining unit, configured to obtain a split image obtained by splitting an original image by a print client;

[0070] an adding unit, configured to add the split image to an image queue corresponding to the print server, wherein the split images contained in the image queue belong to different original images;

[0071] a receiving unit, configured to receive start printing information sent by the print client when the uploading of the split image is completed, so as to print the split image.

[0072] Optionally, the receiving unit includes a first receiving subunit and a printing subunit.

[0073] The receiving subunit is configured to receive the start printing information sent by the print client, so as to enter a printing state.

[0074] The printing subunit is configured to print the split image when the print server enters the printing state.

[0075] Optionally, the receiving unit includes a second receiving subunit and an obtaining unit.

[0076] The second receiving subunit is configured to receive the start printing information sent by the print client.

[0077] The obtaining unit is configured to obtain the split image from the image queue and print the split image when the print server receives the start printing information.

[0078] Optionally, the system further includes a feedback unit.

[0079] The feedback unit is configured to feed back information of the printing state to the print client.

[0080] The eighth aspect of the embodiment of the present application provides a server-based printing system for executing the method of the fourth aspect.

[0081] The ninth aspect of the embodiment of the present application provides a server-based printing device, comprising:

[0082] a central processing unit, a memory, an input and output interface, a wired or wireless network interface and a power supply;

[0083] The memory is a volatile memory or a persistent memory.

[0084] The central processing unit is configured to communicate with the memory and execute the instruction operation in the memory to execute the method of any one of the first aspect to the fourth aspect.

[0085] The tenth aspect of the embodiment of the present application provides a computer readable storage medium, characterized in that the computer readable storage medium comprises instructions, when the instructions are executed on a computer, the computer executes the method of any one of the first aspect to the fourth aspect.

[0086] From the above technical solutions, the embodiment of the present application has the following advantages:

[0087] The embodiment of the present application provides a server-based printing method, which cuts an original large image into a plurality of cut images, uploads the cut images to a plurality of printing servers, and prints the cut images, so that the part of the image exceeding the maximum printing width will not be cut off, and the printer can print a complete image according to the actual image file size, thereby meeting the requirements of customers. BRIEF DESCRIPTION OF DRAWINGS

[0088] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed in the embodiment description. Obviously, the drawings in the following description are only some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art according to these drawings.

[0089] Figure 1 A system architecture diagram disclosed by the embodiment of the present application;

[0090] Figure 2 An implementation structure diagram of a server-based printing method disclosed by the embodiment of the present application;

[0091] Figure 3 An implementation framework diagram of a multi-server large image file transmission communication technology disclosed by the embodiment of the present application;

[0092] Figure 4An implementation framework diagram of a RIP image multi-server segmentation technology disclosed by the embodiment of the present application;

[0093] Figure 5 An implementation framework diagram of a multi-server starting printing technology disclosed by the embodiment of the present application;

[0094] Figure 6 A flowchart of a server-based printing method disclosed by the embodiment of the present application;

[0095] Figure 7 A structural diagram of a server-based printing system disclosed by the embodiment of the present application;

[0096] Figure 8 A structural diagram of another server-based printing system disclosed by the embodiment of the present application;

[0097] Figure 9 A structural diagram of a server-based printing system disclosed by the embodiment of the present application;

[0098] Figure 10 A structural diagram of another server-based printing system disclosed by the embodiment of the present application;

[0099] Figure 11 A structural diagram of a server-based printing device disclosed by the embodiment of the present application. DETAILED DESCRIPTION

[0100] The terms "first", "second", "third", "fourth" and the like in the description and in the claims of the present application, if any, are used for distinguishing between similar objects talking about the embodiments and not necessarily for describing a specific sequential or chronological order. It is to be understood that the data so distinguished can be interchanged under appropriate circumstances such that, for example, any embodiment described herein can be carried out in a different order than illustrated or described herein without changing the scope of the embodiments. Furthermore, terms "comprise", "have" and any variations thereof are intended to cover a non-exclusive inclusion, for example, a process, method, article, or apparatus that comprises a list of steps or units can not necessarily be limited to those steps or units but can include other not expressly listed steps or units, or such steps or units inherent to such process, method, article, or apparatus.

[0101] It should be noted that the description in the present application involving "first", "second" and the like is only for the purpose of description, and cannot be understood as indicating or implying the relative importance of the indicated technical features or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first", "second" can explicitly or implicitly include at least one of the features. In addition, the technical solutions of various embodiments can be combined with each other, but it must be based on the fact that the technical solutions can be realized by those skilled in the art, and when the combination of technical solutions appears contradictory or cannot be realized, it should be considered that the combination of technical solutions does not exist, nor within the scope of protection claimed by the present application.

[0102] The technical solutions in the embodiments of the present application will be described clearly and completely in the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0103] With the continuous tide of network sweeping the world, as an important part of the network, LAN is increasingly popular. Network printing client, which combines network and printing function, is constantly moving into the field of network office. Its use and popularity not only embody the convenience and speed of network, but also save a lot of office equipment, which can be said to be a hit. Network printing refers to connecting the printing client as an independent device to the LAN or the Internet through the printing server (built-in or external), so that the printing client is freed from the subordinate position as a computer peripheral device, and becomes an independent member of the network, a network node and an output terminal of information management, which can be used directly by other members.

[0104] The prior art only prints images without considering the maximum supported image printing width of the printer. When the size (width) of the image file printed by the printer is very large and exceeds the maximum printing width, the excess part of the image will be cropped. The printer cannot print a complete image according to the actual image file size, so it cannot meet the customer's production requirements. In order to solve the problem of large size (width) image printing, multi-server printing is introduced. Of course, it should be noted that unless the single server or single personal computer (PC, personal computer) hardware supports more than 8 printheads, multi-server printing is the best choice for printing large width image files.

[0105] Thus, the embodiment of the present application provides a printing method based on a server, which is used for solving the image printing problem. Of course, it is understood that the method is implemented based on a transfer control protocol (TCP) / internet protocol (IP), or a client / server mode communication technology. The method is based on the client / server communication technology and the image cutting technology, and is born in the background of the image cutting processing technology and the client / server communication technology. It is not difficult to understand that the TCP is used for the data transmission control from the application program to the network. The TCP is responsible for dividing the data into IP packets before the data transmission, and then recombining the data when the data arrives. The IP is responsible for the communication between computers, and sends and receives the data packets on the Internet. For the convenience of description, the technology used by the embodiment of the present application will not be described in detail, and the technology used by the embodiment of the present application will not be limited. The above will not be described in detail.

[0106] Meanwhile, the method is a technology based on the (client / server) communication mode, and the printing task is completed by the printing client and the printing server. It is also understood that the client and the server are often on two computers far away from each other. The task of the client program is to submit the requirements of the user to the server program, and then display the results returned by the server program to the user in a specific form. The task of the server program is to receive the service request of the client program, perform corresponding processing, and then return the results to the client program. Although the traditional C / S architecture adopts an open mode, this is only the openness of the system development level. In a specific application, both the client end and the server end need specific software support. Because the open environment expected by the user cannot be provided, the software of the C / S structure needs to develop different versions of software for different operating systems. In addition, the product is updated very quickly, and it is already difficult to adapt to the simultaneous use of more than 100 computers in a local area network. Moreover, the cost is high and the efficiency is low. For the convenience of description, the technology used by the printing client or the printing server will not be described in detail, and the technology used by the printing client or the printing server will not be limited. The above will not be described in detail.

[0107] Please refer to Figure 1 , Figure 1A system architecture diagram disclosed by the embodiment of the present application comprises a print client 101 and a print server 102. The print client 101 is connected with the print server 102, but it needs to be understood that the print client 101 can be connected with multiple print servers 102, that is, the embodiment of the present application does not limit the number of print servers 102. Generally, the number of print servers 102 depends on whether the printer can print a complete image according to the actual image file size. If it can, only one print server 102 can be needed; if it cannot, it depends on the size, width and other objective conditions, which are not described here in detail.

[0108] The print client 101 can cut the original image into multiple slice images through an image cutting algorithm, and then upload the cut slice images to the print server 102 based on a service communication framework.

[0109] Specifically, the print client 101 uses the idea of cutting a large image file from the image header through a background thread, avoiding the disadvantage of wasting time in cutting one slice image and then starting to cut the next slice image from the image header. The entire cutting process only needs to open the file once, and the large image can be cut after the image file is read. The image cutting and color separation speed is greatly improved compared with other algorithms.

[0110] The print server 102 contains a board card driver layer, a printhead driving board card, and a physical printhead. Meanwhile, the print server 102 can place the obtained cut image into an image queue. When the print server 102 performs printing, it can print the images in sequence according to the arrangement order in the image queue. It can also be understood that the board card driver layer generally comprises a hardware abstraction layer (HAL), a board support package (BSP) and a driver, and is an indispensable part of an embedded system. Its function is to provide an operating interface of an external device for an upper program and to implement a device driver. In the embodiment of the present application, the board card driver layer is only used to run the program instructions sent by the print client 101. The printhead driving board card is mainly used to receive the printhead running instructions and print the image file in the embodiment of the present application. The physical printhead is mainly used for inkjet in the embodiment of the present application.

[0111] It is not difficult to understand that the embodiment of the present application does not limit the specific functions of the print client 101 and the print server 102 or the modules contained therein. The print client 101 and the print server 102 can also have other functions or modules, which are not limited here and will not be described in detail later.

[0112] Please refer to Figure 2 , Figure 2This is a structural diagram illustrating an implementation of a server-based printing method disclosed in an embodiment of this application.

[0113] Figure 2 This primarily presents two server configuration examples, specifically an implementation diagram showing two print servers configured in each print unit. Taking print unit Y as an example, it is configured with two print servers: Print Server 1 and Print Server 2. Based on the above description of the print client and print servers, it can be understood that when two print servers are configured, the print client can split large image files or other images into two segmented images (segments). Figure 1 , cut Figure 2 Then, the print client uploads the two segmented images to print server 1 and print server 2 respectively. That is, print server 1 or print server 2 obtains the segmented images respectively. Figure 1 Or cut Figure 2 It should be understood that the embodiments of this application do not limit the number of print servers, but it should be noted that the number of images obtained by splitting a large image file or other image is related to the number of print servers.

[0114] It's also understandable that a single server configuration example means configuring one print unit with one print server (i.e., a standard single-server printing mode), as described above. Figure 2 Each printing unit has only one print server. The multi-server printing we're discussing also includes a single print server, and this technology also applies to single-print-server systems. It's easy to understand; other server configuration examples follow the same pattern as the diagram above, which will not be described in detail here.

[0115] Please see Figure 3 , Figure 3 This is a schematic diagram illustrating the implementation framework of a multi-server large image file transmission communication technology disclosed in this application. Figure 3 This section primarily introduces an example of uploading images (to 3 print servers) using a raster image processor (RIP). It should be noted that this is only one embodiment of RIP image uploading. In reality, there can be N print servers, where N is an integer greater than or equal to 1. No specific limit is imposed here.

[0116] Specifically, the RIP is a tool capable of converting PostScript information formed by image processing and layout software into a high-resolution dot matrix image. The formed image can be output on paper or film by a laser printer, inkjet printer, or image setter, etc. At the same time, the RIP is also an interpreter used to interpret and convert the layout information (various images, graphics, and text) described by the page description language into data information that can be output by the output device, and output it to the designated output device. It can also be said that the graphics, images, and text are interpreted into a language that can be recognized by the printer and image setter. For convenience of description, the RIP will not be described in detail hereinafter.

[0117] Figure 3 The print client in the system divides the RIP source image into slice image 1, slice image 2, and slice image 3, and then uses a multi-path server to perform parallel communication to transmit each slice image of the same large image file to each server (print server 1, print server 2, and print server 3), and upload each slice data of the large image file to the server simultaneously by using the idea of multi-threading of the system multi-core central processing unit (CPU), so as to upload the image file to the server faster and reduce the waiting time of the user in the actual production process.

[0118] It can also be understood that the slice image 1 can be uploaded to the print server 1, can be uploaded to the print server 2, or can be uploaded to the print server 3, and the other slice images are the same. The embodiment of the present application does not limit the print server to which the slice image is uploaded, as long as the slice image in each print server is not the slice image after the original image is divided.

[0119] Please refer to Figure 4 , Figure 4 An implementation framework of the RIP image multi-server division technology disclosed in the embodiment of the present application is shown in the figure. Figure 4 The RIP image (3 print servers) division example is mainly introduced. It should be noted that this is only one embodiment of the RIP image division. In actual situations, the print server can be N, and N is an integer greater than or equal to 1, and the specific value is not limited here.

[0120] Specifically, the RIP source image multi-server segmentation is performed at the print client rather than being segmented by the print server, that is, the technology is a print client RIP image file segmentation technology according to the number of print servers. In the multi-server printing, the print width of each server needs to be calculated, and then the RIP image is segmented into multiple slice images according to the print width. When the image is segmented, the physical characteristics of the nozzle joint between the servers need to be considered, that is, the joint length needs to be accurately calculated, and the starting position of the image segmentation is determined according to the joint length between the servers.

[0121] In Figure 4 , there are three print servers, namely print server 1, print server 2 and print server 3. The print client segments the RIP source image according to the number of the three print servers, and segments it into slice image 1, slice image 2 and slice image 3.

[0122] Please refer to Figure 5 , Figure 5 for the implementation framework of the multi-server print start technology disclosed in the embodiment of the present application. Figure 5 The main introduction is the print client (3 print servers) print start example. It should be noted that this is only one embodiment in the print client print start, and in actual situations, the print server can be N, N is an integer greater than or equal to 1, and the specific place is not limited.

[0123] Specifically, the print client sends a start print network message to all print servers. The start network print message contains the print job ID (i.e. the ID of each slice image).

[0124] In Figure 5 , the print client sends a start print network message to print server 1, print server 2 and print server 3. The start print network message contains the ID of the slice image, such as the ID of slice image 1, the ID of slice image 2 and the ID of slice image 3.

[0125] Based on the above various technologies, the embodiment of the present application proposes a server-based printing method. For solving the problem of large size (width) image printing, including steps 601-606.

[0126] 601, configure the number of multi-servers.

[0127] Before printing the large image file, the number of print servers needs to be configured. It can be understood that the large image file mentioned in the embodiment is the original image described in the above part. For the convenience of understanding and description, the description of the large image file hereinafter is described as the original image, and the following will not be repeated.

[0128] It can be understood that the number of configured print servers can be 1 or M, M being an integer greater than or equal to 1. It is not difficult to understand that the number of print servers is not limited in the embodiment, and the number of print servers can be any integer greater than or equal to 1, but for the convenience of description, the number of print servers is set to 3 in the embodiment, and subsequent description will not be repeated.

[0129] 602, original image file segmentation.

[0130] When the print client obtains the original image, the original image is segmented.

[0131] Specifically, when the print client obtains N original images, it can be understood that a file Word can have N pages, and the print client can identify the N pages as a whole to identify N images. Then, the print client takes the N images as N original images. It is not difficult to understand that the obtaining of the original image in step 602 of the embodiment is only one embodiment, and the embodiment does not limit the obtaining method or number of the original image, and subsequent description will not be repeated. The print client can also obtain the original image in other ways, for example, a file PPT can have N PPT pages, and the print client can identify the N pages as a whole to identify N images. Then, the print client takes the N images as N original images.

[0132] It can be understood that the print client uses the idea of reading and cutting from the image header by background thread to avoid the disadvantage of cutting one cut image and then starting from the image header to cut the next cut image (time-consuming). The entire cutting process only needs to open the file once, and the image file is read and cut at the same time. The image cutting and color separation speed is greatly improved compared with other algorithms.

[0133] It should also be understood that image segmentation is performed in the print client, which is a technology for cutting original images according to the number of servers. Multi-server printing needs to calculate the print width of each server, and then cut the original image into multiple slice images according to the print width. When cutting the image, the physical characteristics of the printhead joint between the servers need to be considered (the joint length needs to be accurately calculated), and the image cutting start position is determined according to the joint length between the servers.

[0134] It can be understood that the number of original images can be 1 or N, N being an integer greater than or equal to 1. It can be understood that the number of original images is not limited in the embodiment, and the number of original images can be any integer greater than or equal to 1. Therefore, it can be understood that the number of cut images is the number of print servers multiplied by the number of original images, that is, N*M. For the convenience of description, the number of original images is set to 2 in the embodiment. Because the number of print servers is 3, there are cut image 1, cut image 2, cut image 3, cut image 4, cut image 5 and cut image 6. Among them, cut image 1, cut image 2 and cut image 3 belong to the first original image. Cut image 4, cut image 5 and cut image 6 belong to the second original image.

[0135] 603, upload all cut image data.

[0136] Upload M*N cut images to the image queue corresponding to the M print servers.

[0137] Specifically, the print client cuts the cut image data in advance, and then the client uploads the cut image to the print server job queue using multi-server concurrent communication technology. Because the print client uses the multi-server parallel upload idea, the upload speed is faster than single server, and the job image file is uploaded faster. It can be understood that the job queue described in the embodiment is the image queue described in the above part. For the convenience of description, the job queue is described in the subsequent description. It can also be understood that using multi-server parallel communication, transmitting each cut image of the same original image file to each server, using the idea of multi-thread execution of system multi-core CPU to upload each cut data of the original image file to the server, so as to upload the image file to the server faster, and reduce the user waiting time in the actual production process.

[0138] In the embodiment, specifically, cut image 1 to cut image 6 are uploaded to the job queue on print server 1, print server 2 and print server 3. Correspondingly, cut image 1 and cut image 4 are in the print server 1 job queue, cut image 2 and cut image 5 are in the print server 2 job queue, and cut image 3 and cut image 6 are in the print server 3 job queue. It can be understood that the embodiment does not limit the cut image data in the print server job queue. For example, cut image 2 and cut image 4 can be in the print server 1 job queue, cut image 3 and cut image 5 can be in the print server 2 job queue, and cut image 1 and cut image 6 can be in the print server 3 job queue. The job queue in the print server only needs to satisfy that the contained cut images belong to different original images.

[0139] 604、Wait for all slice image data uploading all servers to complete.

[0140] When all slice image data uploading all servers to complete, the print server will upload feedback complete message, so that the print client determines the job upload complete.

[0141] In this embodiment, when 6 slice image data uploading to 2 print servers to complete, the print server will upload complete information feedback to the print client, so that the print client can determine the image upload complete.

[0142] 605、Start all servers to print image.

[0143] When M*N slice image upload complete, the print client sends start print information to M print servers, so that M print servers print M*N slice image.

[0144] Specifically, the print client sends start print network message to all print servers, and waits for all print servers to enter print state, that is, the print client start print success.

[0145] In this embodiment, the print client sends start print message to print server 1, print server 2 and print server 3, wherein the start print message contains image ID information of slice image 1 to slice image 6. When the print server receives the start print message, the print server will take out slice image from the corresponding job queue according to the start print message for printing.

[0146] For example, print server 1 receives the start print message, analyzes and parses the start print message, and takes out slice image 1 and slice image 4 from the job queue according to the analysis result. Correspondingly, print server 2 takes out slice image 2 and slice image 5 from the job queue, and print server 3 takes out slice image 3 and slice image 6 from the job queue. It can be understood that the slice image data taken out from the job queue by the print server and the corresponding ID are the result caused by the print client uploading the slice image to the print server, so it is not difficult to understand that the embodiment does not limit the data or ID of the slice image taken out from the job queue by the print server.

[0147] When the print server takes out the slice image from the job queue and prints it, that is, the print server will enter the print state, and then the print server will feedback the print state to the print client. That is, the print client start print success at this time.

[0148] 606、Wait for print complete or print end.

[0149] When all the slice images are printed, the print server prints the print image completion notification sent by the print client.

[0150] Specifically, in this embodiment, when the six slice images are printed, the print server 1, the print server 2, and the print server 3 send the print completion notification to the print client to inform the print client that the printing is completed.

[0151] It should be understood that when the print client obtains a new large image file (original image file), the print client can not perform step 601, but can directly perform step 602, that is, directly split the obtained new large image file (original image file), that is, perform steps 602-606.

[0152] It should also be understood that in various embodiments of the present application, the size of the serial number of each step does not mean the order of execution, and the execution order of each step should be determined according to its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0153] The embodiment provides a server-based printing method, which splits an original large image into a plurality of slice images, uploads the slice images to a plurality of print servers, and prints the slice images, so that when the maximum printing width is exceeded, the excess image will not be cropped, and the printer can print a complete image according to the actual image file size, thereby meeting the requirements of the customer.

[0154] The method in the embodiment of the present application is described above, and the structure of a server-based printing system in the embodiment of the present application is described below. Please refer to Figure 7 The structure of a server-based printing system is applied to a print client and includes:

[0155] The configuration unit 701 is configured to configure M print servers, and M is greater than or equal to 1.

[0156] The splitting unit 702 is configured to split N original images to obtain M*N slice images when the N original images are obtained, and N is greater than or equal to 1.

[0157] The uploading unit 703 is configured to upload the M*N slice images to image queues corresponding to the M print servers, wherein the slice images included in the image queues belong to different original images.

[0158] The sending unit 704 is configured to send start printing information to the M print servers when the M*N slice images are uploaded, so that the M print servers print the M*N slice images.

[0159] In the embodiment, the original image is cut into a plurality of cut images, and the cut images are uploaded to a plurality of print servers and printed. Thus, when the maximum print width is exceeded, the excess image will not be cropped, and the print server can print a complete image according to the actual image file size, thereby meeting the requirements of the customer.

[0160] The structure of the server-based printing system in the embodiment of the application is described in detail above, please refer to Figure 8 The structure of another server-based printing system disclosed in the embodiment of the application is applied to a print client, and includes:

[0161] The configuration unit 801 is configured to configure M print servers, and M is greater than or equal to 1.

[0162] The cutting unit 802 is configured to cut N original images to obtain M*N cut images when the N original images are obtained, and N is greater than or equal to 1.

[0163] The uploading unit 803 is configured to upload the M*N cut images to image queues corresponding to the M print servers, wherein the cut images contained in the image queues belong to different original images.

[0164] The sending unit 804 is configured to send start printing information to the M print servers when the M*N cut images are uploaded, so that the M print servers print the M*N cut images.

[0165] Exemplarily, the cutting unit 802 includes a cutting sub-unit 8021.

[0166] The cutting sub-unit 8021 is configured to cut the N original images by using an image cutting algorithm.

[0167] Exemplarily, the uploading unit 803 includes an uploading sub-unit 8031.

[0168] The uploading sub-unit 8031 is configured to upload the M*N cut images to the image queues of the M print servers by using a multi-path server concurrent communication technology.

[0169] Exemplarily, the system further includes an execution unit 805.

[0170] The execution unit 805 is configured to obtain a next period image, take the next period image as an original image, and return to the step of cutting the N original images.

[0171] Exemplarily, the system further includes a receiving unit 806.

[0172] The receiving unit 806 is configured to receive upload completion information fed back by the print server when the uploading of the M*N split images is completed, and the upload completion information is used to indicate that the uploading of the M*N split images is completed.

[0173] The embodiment provides a server-based printing method, which transmits each slice image of a same large image file to each server by using parallel communication of multiple servers, simultaneously uploads each slice data of the large image file to the servers by using the idea of multi-thread execution of a system multi-core central processing unit, so that the image file is uploaded to the servers more quickly, and the time for waiting of a user in an actual production process is reduced.

[0174] The structure of the server-based printing system in the embodiment of the application is described below. Figure 9 The structure of the server-based printing system is applied to a print server and includes the following.

[0175] The obtaining unit 901 is configured to obtain split images obtained by splitting an original image by a print client.

[0176] The adding unit 902 is configured to add the split images to an image queue corresponding to the print server, wherein the split images contained in the image queue belong to different original images.

[0177] The receiving unit 903 is configured to receive start printing information sent by the print client when the uploading of the split images is completed, so as to print the split images.

[0178] The embodiment provides a server-based printing method, which prints the split images in the image queue, and improves the realizability of the scheme.

[0179] The structure of the server-based printing system in the embodiment of the application is described in detail above. Figure 10 The structure of another server-based printing system disclosed by the embodiment of the application is applied to a print server and includes the following.

[0180] The obtaining unit 1001 is configured to obtain split images obtained by splitting an original image by a print client.

[0181] The adding unit 1002 is configured to add the split images to an image queue corresponding to the print server, wherein the split images contained in the image queue belong to different original images.

[0182] The receiving unit 1003 is configured to receive start printing information sent by the print client when the uploading of the split images is completed, so as to print the split images.

[0183] Exemplarily, the receiving unit 1003 comprises a first receiving subunit 10031 and a printing subunit 10032.

[0184] The first receiving subunit 10031 is configured to receive the print starting information sent by the print client to enter the print state.

[0185] The printing subunit 10032 is configured to print the split image when the print server enters the print state.

[0186] Exemplarily, the receiving unit 1003 comprises a second receiving subunit 10033 and an obtaining subunit 10034.

[0187] The second receiving subunit 10033 is configured to receive the print starting information sent by the print client.

[0188] The obtaining subunit 10034 is configured to obtain the split image from the image queue and print the split image when the print server receives the print starting information.

[0189] Exemplarily, the system further comprises a feedback unit 1004.

[0190] The feedback unit 1004 is configured to feed back the information of the print state to the print client.

[0191] The embodiment provides a server-based printing method, and the print server prints the split image in the image queue by receiving the print starting instruction sent by the print client, thereby improving the realizability of the scheme.

[0192] Please refer to Figure 11 The embodiment of the application discloses a structural diagram of a server-based printing device.

[0193] The central processing unit 1101, the memory 1105, the input and output interface 1104, the wired or wireless network interface 1103 and the power supply 1102;

[0194] The memory 1105 is a temporary storage memory or a persistent storage memory.

[0195] The central processing unit 1101 is configured to communicate with the memory 1105 and execute the instruction operation in the memory 1105 to perform the method in the foregoing Figure 6 The embodiment shown in the method.

[0196] The embodiment of the application further provides a chip system, characterized in that the chip system comprises at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used to run a computer program or instruction to execute the method in the foregoing Figure 6 The embodiment shown in the method.

[0197] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0198] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.

[0199] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0200] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0201] When the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, read-only memory), a random access memory (RAM, random access memory), a magnetic disk or an optical disk, and various program code storage media.

Claims

1. A server-based printing method, characterized by, The method applied to a print client comprises: Configuring M print servers corresponding to the size of an original image to be printed based on the size of the original image to be printed and the print width of a single print server, wherein M is greater than or equal to 1; After N original images are acquired, a cutting start position is determined according to the length of the printhead joint between each of the print servers, the printing width of each of the print servers is calculated, and each of the N original images is edge-reading and cutting based on the cutting start position and the printing width of each of the print servers, so as to acquire M N cutting images, where N is greater than or equal to 2, and M is the number of cutting images obtained after a single original image is cut. M N segmented images are uploaded to the image queues corresponding to the M print servers, wherein the segmented images contained in the image queues of each print server belong to different original images; When the M After uploading of the N cut images is completed, start printing information is sent to the M print servers so that the M print servers print the M N cut images.

2. The method of claim 1, wherein, The step of splitting the N original images comprises: Splitting the N original images by using an image splitting algorithm.

3. The method of claim 1, wherein, The M The N cut images are uploaded to the image queues corresponding to the M print servers, comprising: The M N split images are uploaded to the image queue of the M print servers.

4. The method of claim 1, wherein, said pair of said M After printing the N segmented images, the method further comprises: Obtaining a next period image to take the next period image as an original image and returning to the step of splitting the N original images.

5. A server-based printing method, characterized by, The method applied to a print server comprises: Get M after the printing client has segmented N original images. N segmented images; wherein the number of segmented images obtained after segmenting a single original image is the same as the number of print servers M; wherein M is greater than or equal to 1, N is greater than or equal to 2, and M The N segmented images are obtained by the printing client by reading and segmenting the N original images simultaneously, based on the segmentation start position determined according to the printhead seam length between each of the printing servers and the calculated print width of each of the printing servers. Adding the split images to an image queue corresponding to the print server, wherein the split images contained in the image queue belong to different original images; When the split images are uploaded, receiving start printing information sent by the print client to print the split images.

6. The method of claim 5, wherein, The step of receiving start printing information sent by the print client to print the split images comprises: Receiving start printing information sent by the print client to enter a printing state; When the print server enters the printing state, printing the split images.

7. The method of claim 5, wherein, The step of receiving start printing information sent by the print client to print the split images comprises: Receiving start printing information sent by the print client; When the print server receives the start printing information, obtaining the split images from the image queue and printing the split images.

8. A server-based printing system, characterized by The system comprises: A configuration unit configured to configure M print servers corresponding to the size of an original image to be printed based on the size of the original image to be printed and the print width of a single print server, wherein M is greater than or equal to 1; a cutting unit, configured to determine a cutting start position according to the length of the printhead joint between each of the print servers after obtaining N original images, calculate the printing width of each of the print servers, and perform edge-reading and cutting on the N original images based on the cutting start position and the printing width of each of the print servers to obtain M N cut images, where N is greater than or equal to 2, and M is the number of cut images obtained after cutting a single original image. uploading unit, configured to upload the M N split images to the image queue corresponding to the M print servers, wherein the split images contained in the image queue of each print server belong to different original images; The sending unit is configured to send, to the M print servers, start printing information when the N split images are uploaded, so that the M print servers print the M images according to the start printing information. N split images are uploaded, to the M print servers, start printing information, so that the M print servers print the M images according to the start printing information. N split images are uploaded, to the M print servers, start printing information, so that the M print servers print the M images according to the start printing information.

9. A server-based printing apparatus, characterized by comprising: The device comprises: A central processing unit, a memory, an input and output interface, a wired or wireless network interface and a power supply; The memory is a transitory storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instruction operations in the memory to perform the method in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium comprises instructions which, when executed on a computer, cause the computer to perform the server-based printing method in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Image storing apparatus, image control apparatus, output control apparatus, information processing apparatus, system of these apparatuses, print control method therefor, and storage medium storing computer readable program realizing print control

    US20020054303A1

  • Printable image data generation in large-scale printing

    US20170212713A1

  • Printing image slices in parallel by print engines

    US8958114B2