Print control program, terminal device, print control method

The print control program addresses the lack of comprehensive printing information management by generating and transmitting smaller data formats to both printing devices and servers, enhancing printing efficiency and user convenience.

JP2026112750APending Publication Date: 2026-07-07SEIKO EPSON CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SEIKO EPSON CORP
Filing Date
2024-12-25
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing technologies lack a method to provide comprehensive information related to printing status and management across devices using a general-purpose printer driver.

Method used

A print control program and method that generates and transmits first data to a printing device and second data to a print information management server, where the second data is smaller in size, allowing for efficient printing control and information management.

Benefits of technology

Enables efficient printing management and information services by reducing data storage needs and enhancing user convenience through smaller data formats, enabling status tracking and improved user interfaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026112750000001_ABST
    Figure 2026112750000001_ABST
Patent Text Reader

Abstract

In an environment where a terminal device uses a general-purpose printer driver to perform printing on a printing device, there has been a need for a technology that can provide information related to that printing to other devices. [Solution] A print control program that causes a computer to function as a first processing unit that, in response to a print request for print target data, transmits to a printing device first data, which is a first data format generated based on the print target data, and as a second processing unit that, in response to the print request, transmits to a print information management server second data, which is a second data format with a smaller data size than the first data, generated based on the print target data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a print control program, a terminal device, and a print control method.

Background Art

[0002] Patent Document 1 describes a method for a registrant who has registered file information (document) to grasp the printing status (unprinted / printed) of a user with respect to the file information.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In an environment where a general-purpose printer driver is used in a terminal device to cause a printing device to perform printing, a technology that can provide information related to the printing to other devices has been desired.

Means for Solving the Problems

[0005] A print control program for solving the above problems causes a computer to function as a first processing unit that transmits first data, which is a first data format generated based on print target data, to a printing device in response to a print request for the print target data, and a second processing unit that transmits second data, which is a second data format smaller in data size than the first data and generated based on the print target data, to a print information management server in response to the print request.

[0006] A terminal device for solving the above problems comprises: a first processing unit that, in response to a print request for print target data, transmits to a printing device first data, which is a first data format generated based on print target data; and a second processing unit that, in response to a print request, transmits to a print information management server second data, which is a second data format with a smaller data size than the first data, generated based on print target data.

[0007] A print control method for solving the above problems includes: a first processing unit sending first data, which is a first data format generated based on the data to be printed, to a printing device in response to a print request for the data to be printed; and a second processing unit sending second data, which is a second data format with a smaller data size than the first data, generated based on the data to be printed, to a print information management server in response to a print request. [Brief explanation of the drawing]

[0008] [Figure 1] A block diagram showing the configuration of the printing system. [Figure 2] A sequence diagram showing an example of a printing sequence. [Figure 3] A sequence diagram showing an example of a printing sequence. [Figure 4] A sequence diagram showing an example of a printing sequence. [Figure 5] A sequence diagram showing an example of a printing sequence. [Figure 6] A sequence diagram showing an example of a printing sequence. [Figure 7] A sequence diagram showing an example of a printing sequence. [Modes for carrying out the invention]

[0009] Here, embodiments of the present invention will be described in the following order. (1) Configuration of the printing system: (1-1) Configuration of the printing device: (1-2) Configuration of the print information management server: (1-3) Configuration of the terminal device: (2) Printing sequence: (3) Other embodiments:

[0010] (1) Configuration of the printing system: Figure 1 is a block diagram showing an example configuration of a printing system including a terminal device 100 according to an embodiment of the present invention. The printing system includes a terminal device 100, a print information management server 200, and a printing device 300. The terminal device 100 is an information processing device equipped with communication functions, such as a PC (Personal Computer), smartphone, or tablet terminal, and is used by a user requesting printing. The terminal device 100 can communicate with the print information management server 200 and the printing device 300 via a network N such as a LAN or the Internet. When a user requests that the printing target data 121 be printed by the printing device 300 by operating the terminal device 100, first data D1, which is the printing target data converted into a format suitable for printing by the printing device 300, is transmitted from the terminal device 100 to the printing device 300, and the printing device 300 performs printing based on the first data D1. The print information management server 200 is a server that stores image data representing printed materials from the printing device 300, specifically the second data D2 and third data D3, which are generated by converting the print target data 121, the source of the first data D1. The configuration of each device will be described below.

[0011] (1-1) Configuration of the printing device: The printing apparatus 300 comprises a processor 310, a storage medium 320, a communication unit 330, a UI unit 340, and a printing unit 350. The processor 310 includes a CPU, ROM, RAM, etc. (not shown), and controls each part of the printing apparatus 300 by executing a control program stored in the storage medium 320. The processor 310 may consist of a single chip, multiple chips, or be configured as an SoC together with various functional blocks that operate the printing apparatus 300. Furthermore, an ASIC may be used instead of a CPU, or a configuration in which a CPU and an ASIC cooperate is also possible. When each device in this embodiment is equipped with a processor, that processor can be realized in various forms, similar to the processor 310.

[0012] The storage medium 320 stores various programs and control data executed by the processor 110. It also stores the first data D1 of the print target transmitted from the terminal device 100 during the operation of the printing system. The communication unit 330 includes circuits used for communication with other devices in accordance with various wired or wireless communication protocols. In this embodiment, the printing device 300 can communicate with the terminal device 100 via the communication unit 330. The UI unit 340 displays various information to the user and includes a touch panel display, keys, etc., for inputting user operations.

[0013] The printing unit 350 includes actuators, drive components, mechanical components, and various sensors for detecting the state of the printing device 300, for ejecting ink onto the printing medium to perform printing. For example, the sensors include sensors for detecting the remaining amount of printing medium, sensors for detecting blockages in the transport path of the printing medium, and sensors for detecting the remaining amount of ink. The processor 210 controls the printing unit 350 based on the print data to perform printing. In this embodiment, the printing unit 350 is assumed to perform printing using an inkjet method, but the printing method is not limited to this.

[0014] When the processor 310 receives the first data D1, which is print data, from the terminal device 100 via the communication unit 330, it controls the printing unit 350 based on the first data D1 and executes printing. The processor 310 can also transmit information to the terminal device 100 via the communication unit 330 indicating the progress and success or failure of the print job and the status of the printing device 300. The information indicating the progress is used by the terminal device 100 to determine how far along the print job requested from the terminal device 100 has progressed. For example, when the printing of a page sent from the terminal device 100 is completed, the processor 310 transmits information to the terminal device 100 indicating that the printing of that page has been completed, thereby notifying the terminal device 100 of the progress of the print job. The information indicating the success or failure of the printing is used by the terminal device 100 to determine whether the printing of the print job requested from the terminal device 100 to the printing device 300 has been completed without errors up to the last page. For example, similar to the progress described above, when a page-by-page print job sent from terminal device 100 is completed, information indicating that the printing of that page is complete is sent back to terminal device 100. Terminal device 100 can then use this information to confirm that the page-by-page print job is complete, and the print job can be considered successful when the last page of the print job is completed. Information indicating the status of the printer 300 includes, for example, information detectable by various sensors on the printer 300, and the processing status of the printer 300 managed by its control program. More specifically, this includes information such as running out of printing media, running out of ink, or the printing media being jammed. The information indicating the status of the printer 300 may also include information indicating that no errors preventing these print jobs have occurred, and that the printer is either printing or waiting. Furthermore, information indicating the progress and success / failure of a print job, as well as the status of the printing device 300, may be notified from the printing device 300 to the terminal device 100 when the progress, success / failure, or status changes, or the printing device 300 may reply to the terminal device 100 in response to an inquiry from the terminal device 100.

[0015] (1-2) Configuration of the Printing Information Management Server: The printing information management server 200 is a server computer including a processor 210, a storage medium 220, and a communication unit 230. In this embodiment, the processor 210 can communicate with the terminal device 100 and a second terminal device 400 described later via the communication unit 230. The processor 210 can execute various programs including a printing information management program stored in the storage medium 220.

[0016] By executing the printing information management program, the processor 210 acquires various printing information regarding printing on the printing device 300 from the terminal device 100 and stores it in the storage medium 220. The printing information stored in the storage medium 220 includes second data D2 and third data D3.

[0017] Also, by executing the printing information management program, the processor 210 transmits the second data D2 and the third data D3 to the second terminal device 400 in response to a viewing request from the second terminal device 400 described later. The second terminal device 400 can display an image indicating a printed matter on the printing device 300 as electronic data for the user to view by displaying the second data D2 and the third data D3 acquired from the printing information management server 200 on a display unit.

[0018] (1-3) Configuration of the Terminal Device: The terminal device 100 is a computer including a processor 110, a storage medium 120, a communication unit 130, and a UI unit 140. The processor 110 can execute various application programs including an OS (Operating System) stored in the storage medium 120, programs such as a general-purpose printer driver 112 and an auxiliary App 113, and other applications 111.

[0019] The storage medium 120 is a storage device such as a hard disk drive, a solid-state drive, or other memory-based storage device. The storage medium 120 stores various programs, including the OS, a general-purpose printer driver 112, an auxiliary app 113, and applications 111. The storage medium 120 also stores various files that can be displayed and edited by applications 111, etc. These various files can become print target data 121.

[0020] The communication unit 130 includes a communication interface for communicating with other devices according to various wired or wireless protocols. In this embodiment, the terminal device 100 can communicate with the print information management server 200 and the printing device 300 via the communication unit 130. The UI unit 140 includes a display, keys, etc. A device such as a mouse may also be connected via the communication unit 130. The display may also be a touchscreen display. The processor 110 displays various information on the display and accepts operations performed on input units such as keys, mouse, and touchscreen.

[0021] The generic printer driver 112 is an OS-standard printer driver provided by the OS vendor. For example, the generic printer driver 112 is the standard printer driver for the Windows® operating system. The generic printer driver 112 is a program that can perform printing on various types of printing devices.

[0022] The auxiliary App 113, acting as a print control program, assists the general-purpose printer driver 112 and is an application program that causes the processor 110 to execute print control appropriate to the performance of the target printing device or to realize vendor-specific functions of the printing device. The auxiliary App 113 is provided by the printing device vendor, etc. The auxiliary App 113 is also called a Print Support Application (PSA).

[0023] The processor 110 functions as a first processing unit 113a and a second processing unit 113b by executing the auxiliary application 113. Through the function of the first processing unit 113a, the processor 110 sends first data D1, which is a first data format generated based on the print target data 121, to the printing device 300 in response to a print request for the print target data 121. If the auxiliary application 113 is not used, the general-purpose printer driver 112 generates print data based on the print target data 121 to cause the printing device 300 to print the print target data 121, and sends it to the printing device 300, thereby causing the printing device 300 to print the print target data 121. In this embodiment, through the function of the first processing unit 113a, the processor 110 can perform processing to realize the unique functions of the printing device 300 on the print data generated by the general-purpose printer driver 112 (or intermediate data generated in the process of generating said print data) to generate first data D1 and send it to the printing device 300. The printer 300 can perform printing that reflects the unique functions of the printer 300 based on the first data D1. Therefore, the general-purpose printer driver 112 can start the auxiliary app 113 and exchange data with the auxiliary app 113.

[0024] Furthermore, due to the function of the second processing unit 113b, the processor 110 sends to the print information management server 200 a second data format, D2, which is smaller in data size than the first data D1 and is generated based on the print target data 121. In other words, the processor 110 generates the second data D2 for viewing the print target data 121 based on intermediate data generated in the process of generating the first data D1 from the print target data 121, and sends it to the print information management server 200. In this embodiment, in addition to the second data D2, a third data D3, which is thumbnail image data, is also generated and sent to the print information management server 200.

[0025] Therefore, according to this embodiment, the processor 110 can cause the print information management server 200 to acquire the second data D2 through the print control program. As a result, the processor 110 executing the print control program can use the second data D2 to enable the print information management server 200 to provide information services related to printing at the printing device 300. Furthermore, since the second data D2 transmitted to the print information management server 200 has a smaller data size than the first data D1, the amount of data stored in the print information management server 200 can be reduced compared to the case where the first data D1 is transmitted to the print information management server 200. The printing sequence in this embodiment will now be described in detail.

[0026] (2) Printing sequence: Figure 2 is a sequence diagram showing an example of a printing sequence in this embodiment. In this figure, the processing of application 111, general-purpose printer driver 112, and auxiliary app 113 is performed by the processor 110 of the terminal device 100. Application 111 is an application program that can print the display data of an open file, and may be, for example, a document creation application.

[0027] When a user opens a file in application 111 and selects print from the application 111's menu, the processor 110 sends a print request to the general-purpose printer driver 112. The file opened in application 111 corresponds to the print target data 121. Upon receiving the print request, the processor 110, which runs the general-purpose printer driver 112, displays a settings section for selecting the output printer, specifying the pages to be printed, and the number of copies to print. When the user selects printer 300 as the output printer, makes other settings, and selects to print, the general-purpose printer driver 112 obtains GDI (Graphics Device Interface) format data representing the image of the file opened in application 111 from application 111 (step S105), converts it to XPS (XML Paper Specification) format (step S110), and spools the converted XPS format data to a storage medium (step S115).

[0028] The processor 110, which executes the auxiliary App 113, acquires the spooled XPS format data using the functions of the second processing unit 113b (step S120), converts the XPS format data to PDF format data, and generates thumbnail image data (step S125). The PDF format data as the second data D2 is vector data in vector format as the second data format. The thumbnail image data corresponds to the third data D3. In this embodiment, the third data D3 is raster data generated based on the print target data 121, and is raster data with a lower resolution than the first data D1.

[0029] The processor 110, which executes the auxiliary application 113, transmits the generated PDF data (second data D2) and thumbnail image data (third data D3) to the print information management server 200 using the functions of the second processing unit 113b (step S130). The print information management server 200 stores the PDF data D2 and the thumbnail image data D3 obtained from the auxiliary application 113 of the terminal device 100 in the storage medium 220 of the print information management server 200 (step S135). In other words, the print information management server 200 stores the received second data D2 and third data D3 in association with each other in the storage medium 220.

[0030] On the other hand, when XPS format data is spooled in step S115, the processor 110, which executes the general-purpose printer driver 112, converts the XPS format data into PDL (Page Description Language) format data (step S140). The PDL format data is raster data in raster format (first data format). When the processor 110, which executes the auxiliary app 113, obtains the PDL format data generated by the general-purpose printer driver 112, it displays the UI screen of the auxiliary app 113 on the display of the UI unit 140. On this UI screen, the user can select whether or not to apply, for example, a watermark function or other functions of the printing device 300. When the user makes these selections, the processor 110 modifies the PDL format data obtained in step S145 to reflect the functions selected by the user and generates the final PDL format data (Final PDL) as first data D1 (step S150). The final PDL format data as first data D1 is raster data in raster format (first data format).

[0031] Alternatively, steps S140 and S145 in the general-purpose printer driver 112 may be skipped, and the auxiliary app 113 may be configured to generate the final PDL data in PDL format based on the XPS data acquired in step S120 (step S150). In any case, after executing step S150, the processor 110 sends the final PDL data, which is the first data D1, to the printer 300 selected by the user as the output destination (step S155). Upon receiving the first data D1, the printer 300 controls the printing unit 350 based on the first data D1 and performs printing (step S160). The final PDL data, which is the first data D1, may be configured to be sent to the printer 300 via the general-purpose printer driver 112.

[0032] Figure 3 is a continuation of the sequence shown in Figure 2, and shows an example of how to utilize the second data D2 and third data stored in the print information management server 200 from step S135 onwards in Figure 2. Steps S125 to S135 in Figure 3 are the same processes as those indicated by the same symbols in Figure 2. The second terminal device 400 is a terminal for viewing the second data D2, which shows images of printed materials printed by the printing device 300, and the accompanying print information stored in the print information management server 200, and has a viewing application installed for viewing said information. In addition to viewing the second data D2, the viewing application may also have the function of adding data such as sticky notes and handwritten notes by the user to the second data D2.

[0033] The second terminal device 400 may be assumed to be, for example, a terminal operated by the administrator of the printing device 300. Alternatively, the second terminal device 400 may be assumed to be another terminal operated by the user who requested printing from terminal device 100. The second terminal device 400 may be a PC, a tablet terminal, or a smartphone. The second terminal device 400 is equipped with a processor (not shown), a storage medium, a communication unit, and a touch panel display.

[0034] In step S135, when the print information management server 200 saves the PDF data as the second data D2 and the thumbnail image data as the third data D3, the print information management server 200 notifies the second terminal device 400 that the second data D2 and third data D3 have been added (step S200). For example, a push notification is sent to the viewing application on the second terminal device 400.

[0035] Upon receiving the notification in step S200, if, for example, a user of the second terminal device 400 instructs the synchronization of data stored in the print information management server 200 with the data on the second terminal device 400, the second terminal device 400 requests newly added data from the print information management server 200 via its viewing application (step S205). The second terminal device 400 requests data from the print information management server 200 that is not stored on the second terminal device 400 but is stored on the print information management server 200. Upon receiving the request in step S205, the print information management server 200 sends the newly added second data D2, which is data in PDF format, and the third data D3, which is thumbnail image data, to the second terminal device 400.

[0036] When the second data D2 and third data D3 are received in step S210, the second terminal device 400 stores these received data in its storage medium (step S400). As a result, the second data D2 and third data D3 stored in the storage medium 220 of the print information management server 200 are synchronized with the second data D2 and third data D3 stored in the storage medium of the second terminal device 400. In addition, in the second terminal device 400, the second data D2 and the third data D3 generated based on the print target data 121, which is the source of the second data D2, are stored in the storage medium of the second terminal device 400 in correspondence with each other.

[0037] Next, the second terminal device 400 uses the thumbnail image data, which is stored as third data D3 on the storage medium of the second terminal device 400, to display a list of thumbnail images of the printed materials on the printing device 300 (step S220). Since the third data D3 is lower resolution and raster data than the first data D1, the drawing processing time for displaying it on the screen can be shortened compared to cases where the resolution is not low or the data is not raster data. In a configuration in which such thumbnail images are used in the browsing application of the second terminal device 400, the convenience of the second terminal device 400 can be improved by having the auxiliary App 113 have the function of accumulating the third data D3, which is lower resolution than the first data D1, on the print information management server 200.

[0038] Thumbnails are displayed for each print job; for example, initially, a thumbnail of the top page of the print job is displayed. If multiple print jobs are already running on the printing device 300, multiple thumbnails are displayed in a list. When a user selects a thumbnail image based on the third data D3 that they want to view in detail from the list, the second terminal device 400 displays the details (step S225). That is, the second terminal device 400 displays the image on its display based on the second data D2 corresponding to the selected third data D3. In this embodiment, the second data D2 is vector data. Therefore, for example, if a user zooms in or out of the image, it is possible to prevent the image quality of the displayed image from degrading after zooming in or out. In this configuration, where images showing printed materials can be viewed in detail in the browsing application of the second terminal device 400, the convenience of the second terminal device 400 can be improved by having the auxiliary App 113 have the function of storing the vector data second data D2 in the print information management server 200. Furthermore, the detailed view will also display, if it includes one or more pages from a single print job, in a manner that indicates that these pages belong to the same print job.

[0039] Note that S200 may be omitted. In other words, the user of the second terminal device 400 may launch the viewing application at any time, and at any time issue a command to obtain the latest data to retrieve the print information, including the second data D2, stored in the print information management server 200, and of course view it on the second terminal device 400.

[0040] Figure 4 is a continuation of the sequence shown in Figure 2, and is a sequence showing an example of processing from step S160 onwards in Figure 2. When the printer 300 performs printing in step S160, the printer 300 transmits information indicating the print result to the auxiliary App 113 of the terminal device 100 (step S300). Note that the information indicating the print result may be transmitted from the printer 300 to the general-purpose printer driver 112, and the auxiliary App 113 may be configured to obtain the information indicating the print result from the general-purpose printer driver 112.

[0041] The information indicating the print result includes information indicating whether the print was successful or not. Furthermore, the information indicating the print result also includes information indicating the status of the printing device 300. For example, if printing fails due to errors such as insufficient printing media, a clogged printing medium, or insufficient ink, the information indicating the printing device result will include information indicating these errors as information indicating the status of the printing device 300.

[0042] When the processor 110, which executes the auxiliary app 113, obtains information indicating the print result in step S300, it displays the information indicating the print result on the terminal device 100. Also, when the processor 110 obtains the information indicating the print result in step S300, it transmits this information to the print information management server 200 (step S305). That is, the processor 110, through the function of the second processing unit 113b, notifies the print information management server 200 of the success or failure of printing on the printing device. The processor 110, through the function of the second processing unit 113b, also notifies the print information management server 200 of the status of the printing device. The print information management server 200 stores the received information indicating the print result in association with the second data D2 stored in step S135 of Figure 2 (step S310).

[0043] Although not shown in Figure 4, when a user of the second terminal device 400 launches a browsing application and instructs it to synchronize with the print information management server 200, the print information stored in the print information management server 200 and the print information stored in the second terminal device 400 are synchronized, and a list of thumbnail images, which are the third data D3, is displayed. When the user selects a thumbnail from the list to check the details, the second data D2 corresponding to the selected third data D3, along with information indicating the print result corresponding to the second data D2, is displayed on the screen. In this way, because the print control program has a function to transmit information indicating the success or failure of printing, the user of the second terminal device 400 can recognize the success or failure of printing corresponding to the displayed second data D2. Furthermore, because the print control program has a function to transmit information indicating the status of the printer 300, the user of the second terminal device 400 can recognize information such as errors occurring in the printer 300. Furthermore, if information indicating the success or failure of printing, or information indicating the status of the printing device 300, is sent to the print information management server 200, for example, if information indicating that printing failed due to a paper jam midway through a print job is sent, the print information management server 200 can provide a service using images of the pages that have been printed successfully. For example, in the second terminal device 400, the viewing application displays images of pages that have been printed using the second data D2 and third data D3 of those pages, and displays gray images of pages that have not been printed successfully. In this way, the inclusion of gray images allows the user to recognize that the print job failed midway through. Also, for example, by displaying the reason why printing was not completed in association with the gray images, the user can understand information such as errors. Since this information can be guided using images of the pages, it is more user-friendly than, for example, simply using text information to indicate the success or failure of printing or the status of the printing device 300.For example, the user of the second terminal device 400 can easily determine whether it is acceptable for the remaining pages to remain unprinted because the essential pages have been printed, or whether it is necessary to reprint them using a different printer because the essential pages have not been printed.

[0044] Furthermore, through the function of the second processing unit 113b, the processor 110 notifies the print information management server 200 of the progress of the first data generation process. Steps S110 to S160 in Figure 2 are processes performed on a page-by-page basis. If the data to be printed 121 consists of multiple pages, the processor 110 obtains information indicating the latest page number for which the generation of the first data D1 has been completed in step S150, and sends the obtained information to the print information management server 200. Alternatively, in step S115, the processor 110 obtains information indicating the latest page number for which spooling has been completed, and sends the obtained information to the print information management server 200. Alternatively, if steps S300 to S310 in Figure 4 are also performed on a page-by-page basis, the processor 110 may notify the print information management server 200 of the printing progress by sending the latest page number for which printing has been completed in step S305.

[0045] When the printing progress is notified to the print information management server 200 in this manner, the print information management server 200 can provide a service using images of the pages that have been printed. For example, in the second terminal device 400, the browsing application can display images of pages that have been printed using the second data D2 and third data D3 of those pages, and display pages after the last page that has been printed as, for example, gray images, so that the user can understand which pages have been printed by looking at the images of those pages.

[0046] (3) Other embodiments: The embodiments described above are merely examples for carrying out the present invention, and various other embodiments can be adopted. For example, the print control program is not limited to Windows®, but can be applied to application programs for extending the functionality of general-purpose printer drivers in various operating systems.

[0047] If the first data is in a raster format showing color information for each pixel, the color information may be configured to show, for example, RGB 3-channel gradation values, or to show gradation values ​​for each ink color of the target printing device. Alternatively, the color information may be information indicating whether or not ink droplets are ejected for each pixel and the size of the ink droplets.

[0048] The second data can be generated from the print target data and be in a second data format with a smaller data size than the first data. The second data may be vector data generated based on the print target data. The second data may be in PDF format, XPS format, SVG format, etc. The second data format is not limited to vector format. For example, the second data format may be JPEG format, and the second data may be JPEG format data. Therefore, for example, the first data may be in raster format sent to the printing device, and the data may be in JPEG format sent to the print information management server.

[0049] The second processing unit only needs to be able to send at least the second data D2 to the print information management server, and the generation and transmission of the third data D3 to the print information management server may be omitted. Also, if the third data D3 is generated, it may be generated for all pages included in the print job, or it may be generated only for the first page of the print job, for example.

[0050] The second processing unit may also send various information related to printing the data to be printed to the print information management server 200 for storage, in addition to the second data D2 and third data D3. For example, the identification information and IP address of the terminal device 100, the date and time when the terminal device 100 received a print request from a user, the identification information of the user who requested the print, and the date and time when printing was completed by the printing device 300 may also be sent to the print information management server 200.

[0051] Furthermore, the second processing unit may be configured to notify the print information management server of the identification information of the printing device. In the configuration example shown in Figure 1, one printing device 300 and one terminal device 100 are shown, but there may be multiple printing devices available to the terminal device 100. When a user of the terminal device 100 requests to print a file open in application 111, they select the destination printing device in the general-purpose printer driver 112. The auxiliary app 113 obtains information indicating the destination printing device from the general-purpose printer driver 112, and in step S130 of Figure 2, it also sends information indicating the destination printing device to the print information management server 200. Because the print control program has such a function, it can provide the server with the identification information of the printing device 300 on which the print corresponding to the second data D2 was executed. The second data D2 and the identification information of the printing device 300 associated with the second data D2 can be used, for example, by an administrator for investigation in the event of an information leak in a company organization. In addition to the method by which the user selects a specific printer as the output destination in the general-purpose printer driver 112, the driver may also be configured to allow the user to select a group containing multiple printers of the same type. If the user selects such a group as the output destination, the auxiliary app 113 may be configured to select a printer that is capable of printing from among the printers included in the group (for example, one that is not currently printing, is not stopped due to an error, has sufficient remaining print media or ink, etc.), and send the first data D1 to the selected printer to initiate printing. In this case, the identification information of the printer 300 selected by the auxiliary app 113 as the output destination will be sent to the print information management server 200.

[0052] The organization's administrator may operate in a way that allows the printing device to be authorized to print to register the identification information of the printing device in advance on the print information management server. In that case, the second processing unit may query the print information management server to see whether the identification information of the printing device 300 to be used for printing is already registered, and the first processing unit may obtain the query result from the second processing unit and send the first data to the printing device if the identification information of the printing device 300 is already registered, and not send the first data to the printing device if it is not already registered.

[0053] For example, Figure 5 shows an example sequence when the data is already registered, and Figure 6 shows an example sequence when the data is not already registered. As shown in Figure 5, when the auxiliary app 113 generates the second data D2 and the third data D3, similar to step S125 in Figure 2, the auxiliary app 113 sends the identification information of the output destination printing device 300 along with the second data D2 and the third data D3 to the print information management server 200 (step S400). The print information management server 200 determines whether the received identification information is already registered with the print information management server 200 and returns the determination result to the auxiliary app 113. In Figure 5, it is shown that if the query result (determination result) is already registered, the print information management server 200 returns a determination result indicating that it is already registered to the auxiliary app 113 (step S405). In the save process of step S135, the print information management server 200 also saves the identification information of the output destination printing device 300 along with the second data D2 and the third data D3.

[0054] Upon receiving the determination result in step S405, which indicates that the device is registered, the auxiliary app 113 executes steps S150 onward, as shown in Figure 2. Specifically, the processor 110 generates the first data D1 (step S150) and sends the generated first data D1 to the printer 300, which has been determined to be registered and selected by the user as the output destination (step S155). As a result, printing is performed on the printer 300 (step S160).

[0055] On the other hand, as shown in step S405 of Figure 6, if the judgment result returned from the print information management server 200 indicates that it is not registered, the processor 110 does not perform the processing from step S150 onwards that was put on hold. Therefore, by adopting the sequence shown in Figures 5 and 6, it is possible to prevent printing from being performed from printing devices that have not been previously registered with the print information management server 200. Upon receiving the query result in step S405, the processor 110 displays a message indicating that printing is not permitted on the printing device selected by the user and therefore printing is not possible (step S410).

[0056] As shown in Figure 6, even if printing is not possible because the selected printer is not registered, the second data D2 and third data D3 for viewing the print target data 121 are sent to and stored in the print information management server 200 (step S135). Therefore, the user can view the second data D2 and third data D3 by using a viewing application on the second terminal device 400. In the example shown in Figure 6, in step S135, the print information management server 200 may store information indicating that printing was not possible because the printer selected by the user is not a registered printer, associating this with the second data D2 and third data D3, and may be configured to display this information when the user of the second terminal device 400 views the second data D2.

[0057] In Figure 2, the generation and transmission of the first data D1 for the Mth page to be printed (M is a natural number greater than or equal to 1) (first processing unit 113a) and the generation and transmission of the second data D2 for the Mth page (second processing unit 113b) may be performed with the latter preceding the former, or at least partially in parallel, or the former preceding the latter. However, in the following cases, the latter is performed before the former.

[0058] Specifically, the first processing unit may be configured to send the first data to the printing device when the transmission of the second data to the print information management server is complete. Figure 7 shows a modified version of the print sequence shown in Figure 2. The difference from the print sequence shown in Figure 2 is that in step S135, after the print information management server 200 saves the second data D2 and the third data D3, the print information management server 200 sends a notification to the auxiliary app 113 indicating that saving is complete (step S600). The auxiliary app 113 then performs the processing from step S150 onward in response to receiving the notification in step S600, which is different from the sequence in Figure 2. Even when the print job includes multiple pages, the transmission of the first data D1 for the Mth page is performed after the second data D2 for the Mth page has been sent to and saved by the print information management server 200. If a configuration were adopted in which printing is performed regardless of whether or not the data has been saved to the print information management server 200, and communication with the print information management server 200 is impossible, printing would be completed even though the print information, such as the second data D2, has not been saved to the print information management server 200. In this case, a failure to save print information may occur, and it may be difficult to adequately track down the data leak. The print control program has such a function, which prevents printing from being executed before the second data D2 is stored in the print information management server 200.

[0059] Furthermore, the above description also constitutes an invention of a terminal device that executes a print control program. In this case, the terminal device comprises a first processing unit that, in response to a print request for print target data, transmits to a printing device first data, which is a first data format generated based on print target data, and a second processing unit that, in response to a print request, transmits to a print information management server second data, which is a second data format with a smaller data size than the first data, generated based on print target data.

[0060] Furthermore, the above description also constitutes an invention of a print control method. In this case, the print control method includes the first processing unit transmitting to a printing device, in the form of first data in a first data format generated based on the data to be printed, in response to a print request for the data to be printed, and the second processing unit transmitting to a print information management server, in the form of second data in a second data format having a smaller data size than the first data, generated based on the data to be printed.

[0061] Furthermore, the systems, programs, and methods described above may be implemented as a single device or by utilizing components from multiple devices, encompassing various forms. They can also be modified as needed, with some being software and others hardware. Moreover, the invention also functions as a recording medium for a program that controls the system. Of course, this recording medium could be a magnetic recording medium, a semiconductor memory, or any recording medium developed in the future; the same principle applies. [Explanation of Symbols]

[0062] 100...Terminal device, 110...Processor, 111...Application, 112...General-purpose printer driver, 113...Auxiliary App, 113a...First processing unit, 113b...Second processing unit, 120...Storage medium, 121...Print target data, 130...Communication unit, 140...UI unit, 200...Print information management server, 210...Processor, 220...Storage medium, 230...Communication unit, 300...Printing device, 310...Processor, 320...Storage medium, 330...Communication unit, 340...UI unit, 350...Printing unit, D1...First data, D2...Second data, D3...Third data, N...Network

Claims

1. Computers A first processing unit transmits to a printing device, in response to a print request for data to be printed, first data which is a first data format generated based on the data to be printed. In response to the print request, a second processing unit transmits to the print information management server a second data, which is in a second data format with a smaller data size than the first data, generated based on the data to be printed. A print control program that functions as such.

2. The aforementioned print control program is a Print Support Application. The print control program according to claim 1.

3. The first data is raster data generated based on the print target data, The second data is vector data generated based on the print target data. The print control program according to claim 1.

4. The first data is raster data generated based on the print target data, The second processing unit transmits to the print information management server, along with the second data, a third data set which is raster data generated based on the print target data and has a lower resolution than the first data. The print control program according to claim 1.

5. The second processing unit notifies the print information management server of the progress of the first data generation process. The print control program according to claim 1.

6. The second processing unit notifies the print information management server of the success or failure of printing in the printing device. The print control program according to claim 1.

7. The second processing unit notifies the print information management server of the status of the printing device. The print control program according to claim 6.

8. The second processing unit notifies the print information management server of the identification information of the printing device. The print control program according to claim 1.

9. The second processing unit queries the print information management server to determine whether the identification information of the printing device to be used for printing has been registered in advance. The first processing unit transmits the first data to the printing device if the identification information of the printing device is already registered, and does not transmit the first data to the printing device if it is not already registered. The print control program according to claim 1.

10. The first processing unit transmits the first data to the printing device when it has completed transmitting the second data to the print information management server. The print control program according to claim 1.

11. A first processing unit transmits to a printing device, in response to a print request for print target data, first data which is a first data format generated based on the print target data, A second processing unit transmits to the print information management server, in response to the print request, second data which is in a second data format with a smaller data size than the first data, generated based on the data to be printed. A terminal device equipped with the following features.

12. The first processing unit, in response to a print request for the data to be printed, transmits to the printing device the first data, which is a first data format generated based on the data to be printed. The second processing unit, in response to the print request, transmits to the print information management server second data, which is in a second data format with a smaller data size than the first data, generated based on the data to be printed. A printing control method that includes the following.