Information processing device, control method, and program

The application program addresses the issue of inaccurate print previews by allowing users to set borderless printing settings and display an overflow area, ensuring accurate print previews and preventing misprints.

JP2026085122APending Publication Date: 2026-05-22CANON KK
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-12
Publication Date
2026-05-22

AI Technical Summary

Technical Problem

When using standard drivers, print preview screens often fail to accurately represent the actual print result, particularly in borderless printing, leading to potential misprints due to discrepancies between the displayed image and the actual output.

Method used

An application program that supports standard drivers, enabling the display of setting values for borderless printing and superimposing an overflow area based on a predetermined amount to accurately depict the print preview.

Benefits of technology

Ensures accurate print previews even when using standard drivers, preventing misprints by aligning the displayed image with the actual print output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026085122000001_ABST
    Figure 2026085122000001_ABST
Patent Text Reader

Abstract

Even when using applications that support standard drivers, the print preview screen will display accurate print results. [Solution] An application program that supports a standard driver capable of sending print data to multiple printers from multiple different manufacturers, wherein the application program causes an information processing device to display a first object on which setting values ​​related to borderless printing can be set, and, when borderless printing is set using the first object, executes a second display process which overlays and displays intermediate data obtained from the OS of the information processing device and an image showing the overflow area based on a predetermined overflow amount.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a control method, and a program.

Background Art

[0002] A configuration is known in which a printer driver installed in a host computer as software for controlling a printing apparatus is used to issue a print instruction to a printing apparatus connected to the host computer. An operating system (OS), which is basic software, is installed in the host computer. The printer driver is configured according to the specifications defined by the OS and is called from the OS to operate. A vendor providing a printing apparatus can provide a means for instructing the printing apparatus to print using the OS by providing a printer driver that conforms to the specifications of the OS.

[0003] In recent years, in Windows (registered trademark), standard class drivers (hereinafter also referred to as "standard drivers") that can be commonly used with printing apparatuses provided by a plurality of vendors have been provided. Such standard drivers are included in the OS package and can be easily used by connecting an arbitrary printing apparatus to the host computer. Therefore, there is no need to separately install a model-specific printer driver suitable for the printing apparatus, and the convenience is high.

[0004] In addition, the standard driver is configured to be able to specify a printing function according to PrintCapabilities generated based on information acquired from the connected printing apparatus. Thus, a user using the standard driver can specify a printing function according to the capabilities of the connected printing apparatus even though the user is using one standard driver.

[0005] Standard drivers can be associated with applications for extending functionality (hereinafter also referred to as "extension applications"). Extension applications can be provided by the vendor providing the printing device. By editing the PDC generated by the standard driver, extension applications can provide functions (extensions) that cannot be achieved with the standard driver alone.

[0006] Patent Document 1 discloses a technology that provides a GUI (Graphical User Interface, hereinafter referred to as "GUI"), such as displaying a print preview screen, through an extended application. Even when using a standard driver and an extended application, the extended application displays a print preview screen, allowing the user to see an image of the print result before printing with the printer.

[0007] However, when using an extended application such as Patent Document 1, there are cases where the print result image displayed on the print preview screen differs from the actual print result printed by the printing device.

[0008] For example, when performing borderless printing, the printer enlarges the image, intentionally causing it to extend beyond the designated printing area on the paper. However, the print preview screen does not take into account the processing performed by the printer, so it displays the image including parts that extend beyond the paper and will not be printed. For the user, this means that even though they have checked the print preview screen beforehand, the actual print result may differ, and in some cases, this could lead to misprints. [Prior art documents] [Patent Documents]

[0009] [Patent Document 1] Japanese Patent Publication No. 2019-74906 [Overview of the Initiative] [Problems that the invention aims to solve]

[0010] The present invention aims to display accurate print results on the print preview screen, even when using applications that support standard drivers. [Means for solving the problem]

[0011] One aspect of the present invention for solving the above-mentioned problems is an application program that supports a standard driver capable of sending print data to multiple printers from multiple different manufacturers, and causes an information processing device to perform a first display step of displaying a first object on which setting values ​​for borderless printing can be set, and a second display step of, when borderless printing is set using the first object, superimposing and displaying intermediate data obtained from the operating system of the information processing device and an image showing an overflow area based on a predetermined overflow amount. [Effects of the Invention]

[0012] This invention makes it possible to display accurate print results on the print preview screen when using an application that supports standard drivers. [Brief explanation of the drawing]

[0013] [Figure 1] Block diagram showing the hardware configuration of the printing system [Figure 2] Configuration diagram of the printing system in Embodiment 1 [Figure 3] Flowchart for adding borderless printing functionality to print function information (PDC). [Figure 4] Example of a paper information list returned by a printer in media-col-database [Figure 5] Example of a print settings screen displayed by the print settings screen extension unit. [Figure 6]An example of a PrintTicket in which borderless printing and print preview are selected [Figure 7] Sequence diagram for starting the print preview display unit from the print data editing unit [Figure 8] Flowchart of the process in which the print data editing unit UI display unit generates an image for print preview during borderless printing [Figure 9] An example of the borderless overhang amount of a printing device [Figure 10] An example of the print preview screen displayed by the print data editing unit UI display unit [Figure 11] Flowchart of the process in which the print data editing unit UI display unit generates an image for print preview when the function related to 180-degree rotation of an image is selected [Figure 12] An example of the print preview screen when 180-degree rotation of an image is selected, which is displayed by the print data editing unit UI display unit [Figure 13] Sequence diagram of the print data editing unit and the print preview display unit when setting the borderless overhang amount [Figure 14] An example of the print preview screen in which the borderless overhang amount can be set, which is displayed by the print data editing unit UI display unit

Mode for Carrying Out the Invention

[0014] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the present invention according to the claims, and not all combinations of the features described in the present embodiments are essential for the solution means of the present invention.

[0015] Note that the same reference numerals are assigned to the same components, and the description thereof will be omitted.

[0016] <<Embodiment 1>> <Hardware Configuration of the Printing System> Figure 1 is a block diagram showing the hardware configuration of a printing system. In this figure, the host computer 101 is an example of an information processing device and has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116.

[0017] Furthermore, input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and display devices such as a display unit 119 are connected to the output interface 115.

[0018] NETIF120 is a network interface that controls data transfer between external devices over a network.

[0019] The ROM 112 stores the initialization program. The external storage device 114 stores application programs, the operating system (OS), print data generation software, and various other data. The RAM 113 is used as work memory for executing the various programs stored in the external storage device 114, enabling the various programs to run on the host computer 101.

[0020] In this embodiment, the CPU 111 performs processing according to the procedures of the program stored in the ROM 112, thereby executing the functions and flowchart-related processing described later on the host computer 101. The printing device 102 is connected to the host computer 101 via the input / output interface 116.

[0021] Here, the host computer 101 and the printing device 102 are configured separately, but they may also be configured as a single information processing unit. The printing device is described using an inkjet printer as an example, but printing may be performed by other methods (e.g., electrophotography). Furthermore, the host computer 101 may be a desktop computer, a smartphone, or a laptop computer.

[0022] <Configuration of a software-centric printing system> Figure 2 is a schematic diagram illustrating the configuration of a software-centered printing system. Here, the explanation assumes a printing system using a host computer 101 equipped with Microsoft's Windows® operating system. Figure 2(a) shows a typical configuration when the extended application 204 is not associated with the print data generation software 202 and the printing device 102.

[0023] The drawing application 201 is software that creates content (drawing data) to be printed. Examples include word processing applications and spreadsheet applications. When the drawing application 201 receives a print request from the user, it issues a print command to the OS. The print command includes print setting information to instruct the operation of the print data generation software 202 and the printing device 102. The print setting information is also called a PrintTicket (hereinafter referred to as "PT").

[0024] The drawing application 201 can display a print settings screen provided by either the print data generation software 202, the OS, or the drawing application 201 itself, in order to output print setting information. The print settings screen includes objects (hereinafter also called "control items") that indicate the configurable print functions, and control items that indicate their setting values, according to the capability information (information that can be set as print settings) obtained from the print data generation software 202. Capability information is also called PrintCapabilities (hereinafter "PC").

[0025] The print data generation software 202 determines the PC based on the print function information 203. The print function information 203 is data indicating the print functions, which includes all configurable print functions, their settings, and the mutual exclusion relationships between the settings. The print function information 203 is also called PDC (Print Device Capabilities).

[0026] PDC203 is included in the configuration file of the print data generation software 202 and is placed on the external storage device 114 as an immutable file. Alternatively, PDC203 can be dynamically generated by the print data generation software 202. In this case, the generated PDC203 is editable. Specifically, the print data generation software 202 or the OS can be configured to acquire attribute data of the printing device from the printing device 102 and generate PDC203 according to the attribute information in the acquired attribute data.

[0027] The attribute data of the printer 102 is obtained by issuing the IPP (Internet Print Protocol) Get-Printer-Attributes operation to the printer 102. The response to Get-Printer-Attributes includes attribute information indicating the functions that can be specified by the printer 102 (printer capabilities) and the setting values ​​associated with that attribute information. This response is stored in RAM 113.

[0028] By configuring it in this way, the print data generation software 202 can be configured so that the user can specify the printing functions available on each connected printing device 102, depending on the connected printing device 102. In other words, even when printing devices with different functions or printing devices developed by different vendors are connected, the print data generation software 202 can be configured so that the user can specify the printing functions available on each connected printing device.

[0029] This document describes a configuration using either the IPP Class Driver or the UP Class Driver included in Windows (registered trademark) as the print data generation software 202.

[0030] The IPP Class Driver and UP Class Driver are printer drivers that perform printing operations according to the specifications of a standard printing protocol called IPP, and are included in the OS package.

[0031] The IPP Class Driver and UP Class Driver are not specific printer drivers for each model of printer 102, but rather standard class drivers capable of sending print data to multiple different printers from multiple different manufacturers. The IPP Class Driver is a standard driver that performs local printing in accordance with the specifications described above, while the UP Class Driver is a standard driver that performs cloud printing.

[0032] When using the UP Class Driver to perform cloud printing, the print data is not sent directly to the printing device, but is sent via cloud printing-related services, and printing is then performed on the printing device. In addition, the IPP Class Driver and UP Class Driver acquire capability information of the connected printing device 102 and generate print function information 203 based on that information, so that the user can specify the printing functions supported by the connected printing device 102.

[0033] The OS generates intermediate data (also called input data) based on the print instructions output from the drawing application 201 and passes it to the print data generation software 202. The data output by the drawing application 201 for printing is either Graphic Device Interface format data (GDI format data) or XML Paper Specification format data (XPS format data).

[0034] When using the print data generation software 202, if the data output by the drawing application 201 is in GDI format, the OS converts the GDI format data output from the drawing application 201 into XPS format data. Then, the converted XPS format data is passed to the print data generation software 202 as intermediate data.

[0035] The intermediate data includes drawing data, which is information about the image to be formed on the paper, and print settings information set by the user.

[0036] The print data generation software 202 converts the acquired intermediate data into print data that can be interpreted by the printing device 102 and transmits it to the printing device 102. The print data includes drawing data, which is information about the image to be formed on the paper, and print setting attribute information (attribute information that specifies the print settings) generated based on the print setting information set by the user. The print setting attribute information includes attribute information that indicates the functions that can be specified by the printing device 102 (capabilities of the printing device) and setting values ​​related to that attribute information.

[0037] The printing device 102 prints on the paper based on the print data sent from the print data generation software 202. At this time, the printing device 102 forms the drawing data contained in the print data on the paper in accordance with the print setting attribute information contained in the print data. The print setting attribute information includes attribute information and setting values ​​for specifying print quality (image quality priority, speed priority, etc.) and double-sided printing, etc. For example, if the print setting attribute information includes attribute information for specifying double-sided printing, the printing device 102 will perform double-sided printing.

[0038] Figure 2(b) shows the configuration when the extended application 204 is associated with the print data generation software 202 and the printing device 102. Unless otherwise specified below, the configuration and processes are equivalent to those in Figure 2(a).

[0039] The extension application 204 is software that extends the functionality of the print data generation software 202, and is not pre-installed (not bundled) with the OS. Therefore, the user needs to operate the host computer 101 to download and install the extension application 204 from a server via the internet.

[0040] Alternatively, the extension application 204 may be automatically installed based on the connection of the printer 102 to the host computer 101. Specifically, when the printer 102 is connected to the host computer 101, the OS obtains device identification information from the printer 102. The OS may download and install the extension application 204 corresponding to the obtained device identification information from a server via the internet. In other words, the print data generation software 202 and the extension application 204 are kept as separate files on the host computer 101.

[0041] Furthermore, while the print data generation software 202 and the extended application 204 may be updated and upgraded, these update processes also occur at different times. In other words, the timing at which the host computer 101 acquires the print data generation software 202 and the timing at which the extended application 204 is acquired are different. Also, the triggers for the host computer 101 to acquire the print data generation software 202 and the triggers for the host computer 101 to acquire the extended application 204 are different.

[0042] Furthermore, if the extension application 204 is installed, the OS will associate the extension application 204 with the print data generation software 202 and the printing device 102.

[0043] The extended application 204 described in this embodiment includes a print settings screen extension unit 205, a skip control unit 206, a print function extension unit 207, a print data editing unit 208, a notification unit 211, and a print data editing unit UI display unit 209. The extended application 204 also includes shared information 210 that can be accessed from all units. The shared information 210 is actually a file stored in the external storage device 114 or information stored on the RAM 113.

[0044] The extended application 204 can freely write to and read information from the shared information 210 by utilizing the API (Application Program Interface) provided by the OS. Furthermore, the shared information 210 is allocated as an area where information can be stored in a way that is specific to the application, and it is possible to store information other than the attribute data of the printing device 102.

[0045] The shared information 210 is different from the PDC 203 generated by the print data generation software 202 or the OS to specify the print functions available on the connected printer 102.

[0046] Furthermore, the extended application 204 may terminate its operation after each unit has finished processing. In that case, the OS will start the extended application 204 each time a request to use each unit is received. Another configuration is also possible. For example, the OS may terminate the operation of the extended application 204 after the processing of the print settings screen extended unit 205 is completed, but the OS may keep the extended application 204 running even after the processing of the skip control unit 206 is completed.

[0047] Furthermore, the extended application 204 may cancel processing within each unit. If canceled, the OS will delete the job in progress on the print queue.

[0048] When the drawing application 201 receives a print request from the user, it issues a print command to the OS. In this configuration, as in the configuration shown in Figure 2(a), the drawing application 201 can display the print settings screen. In this configuration, the print settings screen provided by the extension application 204 is displayed. Specifically, the print settings screen provided by the print settings screen extension unit 205 of the extension application 204 is displayed.

[0049] Whether or not the print settings screen provided by the print settings screen extension unit 205 is displayed depends on the user's operation. For example, consider the case where the drawing application is a word processing application or a spreadsheet application. In this case, the user will press the property setting button displayed on the print settings screen provided by the word processing application or spreadsheet application, which will display the print settings screen provided by the print settings screen extension unit 205. Details of the print settings screen extension unit 205 will be described later with reference to Figure 5.

[0050] Furthermore, when the drawing application 201 receives a print request from the user and a print command is issued to the OS, the OS activates the skip control unit 206. The skip control unit 206 controls whether or not to skip the processing of the print data generation software 202. The skip control unit 206 cannot obtain intermediate data or print setting information. After the skip control processing by the skip control unit 206, the OS generates intermediate data based on the print command output from the drawing application 201, and this intermediate data is passed to the print data generation software 202.

[0051] If skip control is not performed by the skip control unit 206, the intermediate data is processed by the print data generation software 202 into print data that can be interpreted by the printing device 102, and then passed to the print data editing unit 208.

[0052] On the other hand, if the print data generation software 202 is skipped, the intermediate data is not processed by the print data generation software 202 and is passed to the print data editing unit 208. This allows the print data editing unit 208 to process the intermediate data.

[0053] An example where it is preferable to skip the print data generation software 202 is when scaling is to be performed in the print data editing unit 208. Intermediate data can be stored in vector format, resulting in less degradation during scaling. Therefore, in cases where the print data generation software 202 outputs images in raster format, it is generally preferable to skip the processing of the print data generation software 202 and process the intermediate data in the print data editing unit 208.

[0054] The print data editing unit 208 edits intermediate data received from the print data generation software 202 or print data processed by the print data generation software 202. Taking layout printing as an example of editing, the print data editing unit 208 modifies the layout of the intermediate data or print data based on the layout printing settings information received from the OS.

[0055] Furthermore, the print data editing unit 208 can request the OS to display a UI screen on the display unit 119. The OS responds to the request from the print data editing unit and activates the print data editing unit UI display unit 209. The print data editing unit UI display unit 209 can, for example, display the layout result of intermediate data or print data as a preview screen on the display unit 119.

[0056] Furthermore, while the print data editing unit UI display unit 209 keeps its UI screen open, the print data editing unit 208 does not send print data to the printing device 102. By closing the UI screen displayed by the print data editing unit UI display unit 209, the print data editing unit 208 executes the process of sending print data.

[0057] After the print data editing unit 208 edits the print data, the print data is passed to the printing device 102 via the OS. The printing device 102 prints on the paper based on the received print data. If the print data generation software 202 is skipped by the skip control unit 206, the print data editing unit 208 may convert the received intermediate data into print data that the printing device 102 can interpret. Alternatively, the OS may be used to convert the intermediate data into print data.

[0058] Furthermore, the extended application 204 includes a print function extension unit 207. The print function extension unit 207 can edit the PDC 203 generated by the print data generation software 202 or the OS. This allows the print function extension unit 207 to add functions provided by the extended application 204, or to add functions that are supported by the printing device 102 but not by the print data generation software 202. It can also add mutual exclusion relationships between print function settings.

[0059] The OS starts the print function expansion unit 207 when the extended application 204 is first associated with the printer 102 and the print data generation software 202. Furthermore, the OS may start the print function expansion unit 207 at other times, such as when the OS starts up. In this way, in cases where optional devices (e.g., a finisher) are later added to the printer 102 and the functions related to printing are expanded, the print function expansion unit 207 can detect the expansion and add it to the PDC 203.

[0060] Furthermore, the extended application 204 includes a notification unit 211. The notification unit 211 is capable of displaying a notification to the user in response to an error occurring in the printing device 102.

[0061] For example, if a paper out error occurs in the printer 102, the print data software 202 detects it, and the OS uses a notification function called a toast notification, which is a function of the OS, to display a message on the display unit 119. When the user presses this toast notification, the OS calls the notification unit 211 of the extended application 204, and the UI screen of the notification unit 211 is displayed. The UI screen of the notification unit 211 can display, for example, a detailed message about the paper out error and instructions on how to load paper.

[0062] Furthermore, once the extended application 204 sends print data to the printer 102, it is not possible to display screens such as guides associated with the print data during the processing of each unit.

[0063] Furthermore, the configuration of the extended application 204 for realizing this embodiment is not limited to having all of the aforementioned functions (units), but may have only some of the functions or other functions. Also, the extended application 204 is sometimes simply called printing software. As described above, it can be said that the extended application 204 comprises at least one of units 205 to 209 and 211.

[0064] <Adding borderless printing functionality via the print function expansion unit to the print function information> Some inkjet and laser beam printers are capable of borderless printing. Borderless printing is a function that allows the printing device to position and print an image on the paper without creating a border. In other words, when a printing device normally prints, it positions the image data included in the print data onto the paper, leaving a predetermined margin from the edge of the paper. In contrast, borderless printing sets the predetermined margin from the edge of the paper to zero, and prints without leaving any margin.

[0065] Furthermore, if a borderless overflow amount is specified in the printing device, the device will print with a negative margin and eject ink in a way that extends beyond the paper, thereby controlling the device to achieve borderless printing regardless of the transport accuracy of each printing device.

[0066] Borderless printing is a feature available even with vendor-specific printer drivers, but it is known to be achieved when the host computer 101 creates image data enlarged beyond the paper size in advance, sends the print data to the printing device, and then performs the printing.

[0067] On the other hand, when performing borderless printing using the IPP protocol with the print data generation software 202 and the extension application 204, the printing device prints the received image data with a margin in the negative direction equal to a predetermined borderless overflow amount. In other words, the printing device 102 achieves borderless printing by enlarging the received image by the borderless overflow amount and printing it.

[0068] Using Figure 3, we will explain the flow by which the print function extension unit 207 of the extended application 204 adds borderless printing functionality to the print function information 203.

[0069] The processing flow in Figure 3 begins when the user selects a print queue associated with the extended application 204, and one of the units provided by the extended application 204 is activated. Alternatively, the OS may directly activate the extended application 204 without any user activation.

[0070] In S301, the print function extension unit 207 of the extended application 204 obtains capability information from the printer 102. The capability information is obtained as a response from the printer 102 by the print function extension unit 207 issuing the IPP (Internet Print Protocol) Get-Printer-Attributes operation to the printer.

[0071] Although there are multiple attribute data that can be obtained as a response from the printer 102, in this embodiment, we will obtain the media-col-database attribute value. The media-col-database attribute value contains detailed information about the paper settings that can be printed by the printer 102. An example of the information that the printer 102 returns with the media-col-database attribute is explained using Figure 4.

[0072] The paper information list 401 shown in Figure 4 schematically represents in list format a portion of the attribute data related to printable paper information returned by the printing device 102 in the media-col-database attribute. The paper information list 401 represents the paper size in the X direction and Y direction, the size of the top, bottom, left, and right margins of the paper, the paper feed slot into which the paper can be set, and the paper type as one set. In this specification, the top of the margin corresponds to the leading side in the paper feeding direction in the printing device 102.

[0073] This will be explained using row 402 of the paper information list 401. In this embodiment, the unit used to indicate size information is 1 / 100 mm.

[0074] Line 402 is paper information indicating one of the combinations of paper settings that the printer 102 can print. Specifically, line 402 indicates that the paper size is 14800 in width and 21000 in height, and the top, bottom, left, and right margins are 600, 600, 300, and 300 respectively. Furthermore, the paper feed slot is set to auto and the paper type is stationary, indicating that this combination of paper settings is printable by the printer 102.

[0075] Similarly, line 403 indicates that the paper size is 14800 x 21000, and the margins on the top, bottom, left, and right sides of the paper are 600, 600, 300, and 300 respectively. Furthermore, the paper feed slot is set to auto, and the paper type is photographic. This combination of paper settings indicates that the printer 102 can print with this paper configuration. The printable paper combinations shown in lines 402 and 403 have margins at all four corners of the paper, so these can be considered examples of paper setting combinations that indicate bordered printing is possible.

[0076] On the other hand, line 404 indicates that the paper size is 21000 mm wide x 29700 mm high, and the top, bottom, left, and right margins relative to the paper size are 0, 0, 0, and 0 respectively. Furthermore, the paper feed slot is set to auto, and the paper type is photographic. This combination of paper settings indicates that the printer 102 can print with this paper. In other words, the printable paper combination shown in line 404 is an example of a paper setting combination that indicates borderless printing is possible.

[0077] Returning to the explanation of Figure 3. In S301 of Figure 3, the printing function expansion unit 207 obtains the paper information shown in the paper information list 401 of Figure 4 from the printing device 102 and proceeds to processing in S302.

[0078] In S302, the print function extension unit 207 checks the list of printable paper setting combinations obtained from the media-col-database attribute and determines whether there is a printable paper setting combination in which the top, bottom, left, and right margins are 0. If a paper setting combination in S302 exists in which the top, bottom, left, and right margins are 0, the print function extension unit 207 determines the processing result to Yes and proceeds to S303.

[0079] In S303, the print function extension unit 207 checks the list of printable paper setting combinations obtained from the media-col-database attribute. Since there is a printable paper setting combination with a margin of 0 in this list, it determines that the connected printer 102 is a printer that supports borderless printing, and proceeds to S304.

[0080] In S304, the printing function expansion unit 207 stores information indicating that the connected printing device 102 supports borderless printing in the shared information 210, and proceeds to S307.

[0081] On the other hand, if the printing function expansion unit 207 determines "No" in S302, the printing function expansion unit 207 proceeds to process S305.

[0082] In S305, the print function extension unit 207 checks the list of printable paper setting combinations obtained from the media-col-database attribute. Since there are no paper setting combinations with a margin of 0 in this list, it is determined that the connected printer 102 is a printer that does not support borderless printing, and the process proceeds to S306.

[0083] In S306, the printing function expansion unit 207 stores information indicating that the connected printing device 102 does not support borderless printing in the shared information 210, and proceeds to S307.

[0084] In this embodiment, it is assumed that the printing function expansion unit 207 stores information associating the name of the connected printing device 102 with whether or not it supports borderless printing. However, the printing function expansion unit 207 may store other information in the shared information 210. For example, the printing function expansion unit 207 may store a list of paper size and margin combinations that can be printed by the printing device 102 in the shared information 210.

[0085] Alternatively, it may be stored in shared information 210 in association with other information. For example, this could include the connection configuration of the printing device 102 or the type of printing device 102 (whether it is an inkjet printer or a laser printer, etc.). It could also include information about the paper sizes and types that the printing device 102 can print on, or information about printing functions other than those related to available paper.

[0086] In S304 or S306, the printing function expansion unit 207 stores information regarding whether the printing device 102 supports borderless printing in the shared information 210, and then proceeds to process S307.

[0087] In S307, the print function extension unit 207 acquires PDC203, starts editing the PDC, and proceeds to S308.

[0088] In S308, the printing function expansion unit 207 obtains information from shared information 210 indicating whether the printing device 102 supports borderless printing. After obtaining the information from shared information 210, the printing function expansion unit 207 proceeds to S309.

[0089] In S309, the printing function expansion unit 207 determines whether the connected printing device 102 supports borderless printing based on the information obtained in shared information 210. If S309 is Yes, the printing function expansion unit 207 proceeds to S310.

[0090] In S310, the print function expansion unit 207 edits the acquired PDC203, adds borderless printing functionality, and proceeds to S311.

[0091] In step S311, the print function expansion unit 207 adds a print preview function to the PDC 203. In this embodiment, the print preview function refers to a function that is displayed before the extended application 204 sends print data to the printer 102 and printing begins. This print preview function allows users to check the selected print settings and the image data reflecting the selected print settings on the display unit 119 of the host computer 101 in advance, and then choose whether to proceed with printing.

[0092] If the print function expansion unit 207 determines "No" in S309, the print function expansion unit 207 will not add the borderless printing function to the PDC203 in S310 and will proceed to S311, where it will add the print preview function to the PDC203. After adding each function, the print function expansion unit 207 will proceed to S312.

[0093] In S312, the print function expansion unit 207 updates the PDC203.

[0094] As a result of the processing performed by the printing function expansion unit 207 described above, the borderless printing function becomes available when the printing device 102 supports borderless printing, and the print preview function also becomes available.

[0095] <Example of a screen displayed by the print settings screen extension unit> Next, we will explain the print settings screen, which is displayed by the print settings screen extension unit 205 and allows the use of borderless printing and print preview functions, using Figure 5(a).

[0096] A PC is generated based on the PDC203 edited by the print function expansion unit 207. In this embodiment, the print settings screen 501 is displayed based on the PC generated from the PDC203 edited and updated by the print function expansion unit 207 in Figure 3. In S310 and S311 above, the print function expansion unit 207 added borderless printing and print preview functions. As a result, the user can select these functions on the print settings screen 501 shown in Figure 5(a) by the print settings screen expansion unit 205.

[0097] The print settings screen extension unit 205 is called and started by the OS when the user instructs the drawing application 201 to display the print settings screen. The print settings screen extension unit 205 displays a screen in which the user can specify print function settings values ​​that can be specified based on the PC obtained from the OS.

[0098] Control 502 is a control item that allows you to set the paper size to be used for printing. For example, you can set items such as A4 or Letter.

[0099] Control 503 is a control item that allows you to set the print orientation, and it can be set to portrait or landscape.

[0100] Control 504 is a control item that allows the user to choose whether or not to print a borderless image when printing an image onto paper. Control 504 is an example of a first object, and the process for displaying Control 504 is an example of a first display process.

[0101] Control 505 is a control item that allows the user to choose whether or not to display a print preview before executing a print job.

[0102] Control 506 is the cancel button, which closes the screen without saving any settings.

[0103] Control 507 is the OK button, which applies the settings and closes the screen.

[0104] In this embodiment, the paper size is set to A4, the print orientation to portrait, borderless printing is enabled, and print preview display is enabled.

[0105] When the user selects one of the above-mentioned printing functions or other printing functions and presses the OK button indicated on control 506, the print settings screen extension unit 205 reflects the selected printing function to the PT and terminates the process.

[0106] Figure 6 shows an example of a PT600 with the above-mentioned printing functions reflected by the print settings screen extension unit 205. Function 601 has the Feature name PageBorderless and the Option name Borderless. This indicates that the PT600 has been updated to a PT with the borderless printing function enabled as an option for the borderless printing function.

[0107] Next, feature 602 has a feature name of JobPreview and an option name of ON. This indicates that PT600 has been updated to a state where print preview is turned on as an option for the print preview function.

[0108] Thus, when the user selects the borderless printing function and the print preview function through the print settings screen extension unit 205, the print settings screen extension unit 205 updates the PT to enable the borderless printing function and makes changes to the PT to turn on the print preview display. The PT updated by the print settings screen extension unit 205 is then used in the print data editing process performed by the print data editing unit 208.

[0109] <Print preview display using the print data editing UI display unit> Next, using Figure 7, we will explain the sequence in which the print data editing UI display unit 209 is launched from the print data editing unit 208 and a print preview is displayed.

[0110] In this embodiment, when the user selects the borderless printing function and the print preview function on the print settings screen extension unit 205, the borderless printing function is activated. As a result, the PT is updated to a state where the print preview display is turned on, and the PT, along with the intermediate data, is passed from the drawing application to the print data editing unit 208. In addition, in this embodiment, it is assumed that the print data generation software 202 is skipped, and the intermediate data and PT are passed directly to the print data editing unit 208 of the extension application 204.

[0111] In S701 of Figure 7, the user issues a print command to the drawing application 201 via the display unit 119, instructing the drawing data created by the drawing application to be printed.

[0112] In S702, the drawing application 201 issues a print command to the OS based on a print command operation from the user.

[0113] In S703, the OS launches the print data editing unit 208 of the extended application 204 based on a print command from the drawing application.

[0114] In S704, the activated print data editing unit 208 requests intermediate data and PT from the OS.

[0115] In S705, the OS passes XPS format data as intermediate data requested by the print data editing unit 208, and also passes a PT file that reflects the print instructions.

[0116] Next, in S706, the print data editing unit 208 determines whether to activate the print preview based on the print instructions written in the acquired PT. In this embodiment, the print data editing unit 208 determines whether JobPreview exists in the Feature of the acquired PT600 and whether the Option set for the JobPreview Feature is ON. Since JobPreview exists in the Feature of the acquired PT600 and the Option is set to ON, the print data editing unit 208 determines to display the print preview.

[0117] Next, in S707, the print data editing unit 208 requests the OS to start the print data editing UI display unit 209 in order to display a print preview.

[0118] In S708, the OS starts the print data editing UI display unit 209 based on the UI startup request from the print data editing unit 208. The print data editing UI display unit 209 is started by the OS and begins processing.

[0119] Then, in S709, the print data editing UI display unit 209 requests intermediate data and PT from the OS.

[0120] In S710, the OS passes XPS format data as intermediate data requested by the print data editing unit 208, and also passes a PT file containing the print instructions. The XPS format data passed from the OS to the print data editing UI display unit 209 at this time is the same as the XPS data that the print data editing unit 208 obtains from the OS in S705.

[0121] When the print data editing UI display unit 209 obtains XPS data from the OS, it then generates an image for print preview display in S711. The process by which the print data editing UI display unit 209 generates the image for print preview display will be described later.

[0122] Next, in S712, the print data editing UI display unit 209 displays a print preview to the user via the display unit 119.

[0123] Using Figure 10, we will explain the print preview that the print data editing UI display unit 209 displays on the display unit 119.

[0124] The print preview screen 1001 shown in Figure 10(a) displays a print preview image on the print preview image display area 1002 based on intermediate data obtained from the OS.

[0125] Furthermore, the print preview screen 1001 includes a control 1003 for page transitions when the print job spans multiple pages. In this embodiment, the control 1003 includes page-turning buttons for transitioning one page at a time, and page transition buttons for transitioning to the first and last pages. It also includes a text box for specifying a page, allowing transitions to any page.

[0126] Furthermore, control 1004 is the OK button, and control 1005 is the Cancel button. When either control is pressed by the user, the result of the press is stored in the shared information 210. When either control 1004 or control 1005 is pressed, the print data editing UI display unit 209 terminates the print preview screen display.

[0127] Note that print preview screen 1001 is an example of a print preview screen that is displayed when borderless printing is not enabled.

[0128] Returning to the explanation of Figure 7, in S713, the user checks the contents of the print preview displayed on the display unit 119 and selects whether to proceed with printing or cancel printing. That is, the user presses either the OK button indicated by control 1004 or the Cancel button indicated by control 1005 on the aforementioned print preview screen 1001.

[0129] Upon receiving the user's selected instruction, the print data editing UI display unit 209 stores a print execution flag in shared information 210 at S714, indicating whether to proceed with printing or cancel it. At S715, it notifies the OS of its termination and ends the process.

[0130] In S716, the OS receives a termination notification from the print data editing UI display unit 209, notifies the print data editing unit 208 of the termination of the print data editing UI display unit 209, and returns processing to the print data editing unit 208.

[0131] <Generating print preview images when borderless printing is enabled> As mentioned above, when performing borderless printing using the IPP protocol with the print data generation software 202 or the extended application 204, the printing device 102 that receives the print data enlarges the image based on a predetermined amount of overflow and prints it.

[0132] On the other hand, the print preview image generated by the print data editing UI display unit 209 is generated based on XPS data obtained from the drawing application 201, and does not take into account the scaling process performed by the printing device 102.

[0133] Therefore, when the print data editing UI display unit 209 generates a print preview image based on the acquired XPS data, the preview image will include parts that extend beyond the paper and will not be printed due to enlargement by the printing device 102 during actual printing. For the user, even if they check the print result with the print preview before printing, unintended image omissions may occur in the actual printout, which could potentially lead to misprints.

[0134] In light of the above issues, this embodiment will explain, with reference to Figure 8, the process of generating a print preview image performed by the print data editing UI display unit 209 when borderless printing is enabled.

[0135] Figure 8 shows the processing performed by the print data editing UI display unit 209 after the processing in S708, when the OS starts the print data editing UI display unit 209 in response to a request from the print data editing unit 208 in Figure 7.

[0136] First, in S801, the print data editing UI display unit 209 obtains XPS data and PT from the OS and proceeds to processing in S802.

[0137] In S802, the print data editing UI display unit 209 converts the acquired XPS data into a Bitmap image format for display on the display unit 119 as a print preview, and proceeds to processing in S803, where it obtains the width and height of the converted Bitmap image.

[0138] Next, in S804, the print data editing UI display unit 209 checks the setting value of the borderless printing function in PT and determines whether the borderless printing function is enabled or not. Specifically, it checks whether PageBorderless exists as a Feature in PT and whether Borderless is selected as the Option for the Feature. If the borderless printing function is enabled, the print data editing UI display unit 209 determines the processing result to Yes and proceeds to S805. The case where the print data editing UI display unit 209 determines the processing in S804 to No will be described later.

[0139] In S805, the print data editing UI display unit 209 determines that the print instruction for which the print preview is to be displayed is borderless printing, and proceeds to S806.

[0140] Next, in S806, the print data editing UI display unit 209 obtains from PT whether the paper orientation is portrait or landscape, and then in S807, it obtains paper size information from PT.

[0141] In this embodiment, the paper size information is assumed to be MediaSizeWidth603 and MediaSizeHeight604 defined in PT600. In other words, the print data editing UI display unit 209 obtains 210000 as the paper size width, which is defined as PageMediaSizeWidth603 of PT600, in S806.

[0142] Furthermore, the print data editing UI display unit 209 obtains 297000, which is defined as PageMediaSizeHeight604 for PT600, as the paper size height. Having obtained the paper orientation and paper size information set for PT, the print data editing UI display unit 209 proceeds to processing S808.

[0143] In S808, the print data editing UI display unit 209 acquires borderless overflow amount information of the printing device 102, which is stored internally in the extended application 204. Note that "internally in the extended application 204" may refer to the information being stored within the extended application 204's own executable program, or it may be stored in the shared information 210. Alternatively, the information may be stored on an external server, and the extended application 204 may hold information to access the server where the information is stored.

[0144] Here, an example of borderless overflow amount information held by a printing device will be explained using Figure 9. Figure 9 is an overflow amount list 901 showing a list of configurable values ​​for borderless overflow amount in a certain printing device.

[0145] In the printing apparatus with borderless overhang shown in Figure 9, the user can select the desired borderless overhang amount.

[0146] When the "Large Overhang" option, indicated in row 902 of the overhang list 901, is selected, the printer enlarges the image data of the received print data by an overhang of 300 in the Top, Left, and Right directions, and 500 in the Bottom direction. This ensures that edges are minimized, although it may result in larger image data cutoffs.

[0147] Similarly, during the borderless overhang indicated in row 903 of the overhang amount list 901, the image is enlarged according to an overhang amount of 200 for the Top, Left, and Right directions and 350 for the Bottom direction of the image data received by the printing device.

[0148] Furthermore, the small overhang indicated in line 904 means that the image will be enlarged according to an overhang of 100 in the Top, Left, and Right directions, and 200 in the Bottom direction, for the image data received by the printing device.

[0149] The smaller the settable value for borderless overhang shown in the overhang amount list, the less the image data will be cut off, but the higher the possibility of a border appearing. Also, row 905 of the overhang amount list 901, which indicates no overhang, means that the printing device 102 will not enlarge the image data it receives. In this case, a border will appear in most cases, but it is a useful setting for cases such as when printing the address side of a postcard and you want to print the part close to the edge.

[0150] Thus, the amount of borderless overhang that the printing device can handle represents a trade-off between the possibility of borders appearing during borderless printing and the areas where images may be missing.

[0151] In this embodiment, it is assumed that the extended application 204 internally stores the amount of borderless overhang with a large overhang in the printing device 102, and uses this information when generating the print preview image. This is because, in this case, there is a high possibility that the user will get an unexpected print result due to the loss of image data, which is considered to be the greatest disadvantage for the user.

[0152] By adopting the configuration of this embodiment, the user can recognize that unexpected printing results may occur due to the amount of borderless overflow of the printing device 102. In such cases, the user can choose to cancel printing on the print preview screen, allowing them to reconsider printing or change the print settings and try printing again.

[0153] Returning to the explanation of Figure 8, in S808, the print data editing UI display unit 209 acquires borderless overflow amount information held by the extended application 204 itself and proceeds to processing in S809.

[0154] In S809, the print data editing UI display unit 209 refers to the paper orientation information obtained from the PT and determines whether the paper orientation is portrait or landscape. In this specification, "portrait" refers to the so-called portrait orientation, and "landscape" refers to the so-called landscape orientation. If the paper orientation is portrait, the print data editing UI display unit 209 determines the result to be Yes and proceeds to S810. The processing when the print data editing UI display unit 209 determines No in S809 will be described later.

[0155] In S810, the print data editing UI display unit 209 calculates the number of pixels in the left portion of the Bitmap image where image loss occurs during printing, based on the width of the Bitmap image, the width of the paper size, and the amount of borderless overhang in the left direction. In other words, it calculates the number of pixels occupied by the borderless overhang on the Bitmap image by determining the ratio of the amount of borderless overhang in the left direction to the width of the paper size and multiplying it by the width of the Bitmap image. Having calculated the image loss area on the left portion of the Bitmap image in this way in S810, the print data editing UI display unit 209 proceeds to processing in S811.

[0156] In S811, the print data editing UI display unit 209 calculates the number of pixels in the image loss area on the right side of the Bitmap image where image loss occurs during printing by the printing device 102, based on the width of the Bitmap image, the width of the paper size, and the amount of overhang in the right direction. Having calculated the image loss area on the right side of the Bitmap image in S811, the print data editing UI display unit 209 proceeds to processing in S812.

[0157] In S812, the print data editing UI display unit 209 calculates the number of pixels in the upper part of the Bitmap image where image loss occurs during printing by the printing device 102, based on the height of the Bitmap image, the height of the paper size, and the amount of overhang in the top direction. Having calculated the upper part of the Bitmap image where image loss occurs in S812, the print data editing UI display unit 209 proceeds to processing in S813.

[0158] In S813, the print data editing UI display unit 209 calculates the number of pixels in the lower part of the Bitmap image where image loss occurs during printing, based on the height of the Bitmap image, the height of the paper size, and the amount of overhang in the bottom direction. Having calculated the upper and lower image loss areas of the Bitmap image in S813, the print data editing UI display unit 209 proceeds to processing in S814.

[0159] In S814, the print data editing UI display unit 209 determines the position for drawing the border lines to represent the area where the image is missing, based on the number of pixels in the missing area of ​​the Bitmap image calculated in S810 to S813, and proceeds to S815.

[0160] In S815, the print data editing UI display unit 209 draws the border lines on the preview screen, and in the following S816, the print data editing UI display unit 209 displays a Bitmap image for print preview on the print preview screen. S815 and S816 are examples of the second display process.

[0161] In this embodiment, a bitmap image for print preview is displayed on the print preview screen, and a border is drawn to represent areas where image loss occurs when performing borderless printing. This makes it possible to represent areas where image loss occurs when printing with the printing device 102 on the print preview screen.

[0162] Figure 10(b) illustrates the print preview screen displayed by the print data editing UI display unit 209 when the borderless printing function is enabled.

[0163] The print preview screen 1006 in Figure 10(b) is an example of a screen that displays a Bitmap image for print preview and a frame line to represent areas where image loss occurs, when the borderless printing function is enabled by the process in Figure 8. The frame line 1008 for displaying image loss areas represents the area where image loss occurs during printing, calculated by the print data editing UI display unit 209 from S810 to S813 in Figure 8, based on the number of pixels on the Bitmap.

[0164] In other words, the bitmap image area outside the frame indicated by the frame line 1008 for displaying the image defect area is an area where image defect may occur when the printing device 102 enlarges and prints the image based on the borderless overflow amount during borderless printing.

[0165] In this embodiment, the border indicating the image defect area is drawn with a dotted line, but other methods may be used to indicate the image defect area. For example, to prevent the area where the image defect occurs from being displayed on the print preview screen during printing, a rectangle can be drawn that covers the Bitmap image portion corresponding to the calculated image defect area.

[0166] Next, we will explain the process when the print data editing UI display unit 209 determines "No" in S809 in Figure 8. If "No" is determined in S809, that is, if the paper orientation is determined to be landscape, the print data editing UI display unit 209 proceeds to S817.

[0167] Note that the borderless overflow amounts of the printing device 102 shown in Figure 9 are the overflow amounts in the Top, Bottom, Left, and Right directions when the paper orientation is portrait. In general inkjet printers, paper is often fed in the portrait direction. In this specification, it is also assumed that the paper is always fed in the portrait direction. In this case, when setting the paper orientation to landscape and displaying the print preview, it is necessary to rotate the borderless overflow values ​​by 90 degrees when considering them.

[0168] In other words, if the paper orientation is set to landscape, a right margin must be applied to the top of the print preview image, a left margin to the bottom of the image, a bottom margin to the left side of the image, and a top margin to the right side of the image.

[0169] In S817, the print data editing UI display unit 209 calculates the number of pixels in the upper part of the Bitmap image where image loss occurs during printing, based on the width of the Bitmap image, the height of the paper size, and the amount of borderless overflow in the left direction. After calculating the image loss area at the top of the Bitmap image in S817, the print data editing UI display unit 209 proceeds to S818.

[0170] Next, in S818, the print data editing UI display unit 209 calculates the number of pixels in the lower part of the Bitmap image where image loss occurs during printing, based on the width of the Bitmap image, the height of the paper size, and the amount of borderless overflow in the right direction. After calculating the lower part of the Bitmap image where image loss occurs in S817, the print data editing UI display unit 209 proceeds to S819.

[0171] Next, in S819, the print data editing UI display unit 209 calculates the number of pixels in the image loss area on the left side of the Bitmap image where image loss will occur during printing, based on the height of the Bitmap image, the width of the paper size, and the amount of borderless overhang in the bottom direction. After calculating the image loss area on the left side of the Bitmap image in S817, the print data editing UI display unit 209 proceeds to processing in S820.

[0172] Next, in S820, the print data editing UI display unit 209 calculates the number of pixels in the image loss area on the right side of the Bitmap image where image loss will occur during printing, based on the height of the Bitmap image, the width of the paper size, and the amount of borderless overhang in the top direction. In S817, the image loss area on the right side of the Bitmap image is calculated, and the print data editing UI display unit 209 proceeds to S814. The processing from S814 to S816 is the same as the processing described above, so the explanation is omitted.

[0173] Using Figure 10(c), we will explain the print preview screen 1009 displayed by the print data editing UI display unit 209 when the borderless printing function is enabled and the paper orientation is set to landscape.

[0174] The print preview screen 1009 in Figure 10(c) is an example of a screen displayed when the borderless printing function is enabled and the paper orientation is set to landscape, and the print data editing UI display unit 209 performs the processing shown in Figure 8. The frame line 1011 for displaying the image missing area is a frame line drawn by the print data editing UI display unit 209 from S817 to S820 in Figure 8, by replacing the area where image loss occurs during printing with the number of pixels on the Bitmap. Because the paper orientation is set to landscape, a landscape image is also displayed in the print preview image display area.

[0175] However, when printing is actually performed by the printing device 102, the paper is fed in the vertical direction, and the borderless overflow amount is applied to the vertical paper to enlarge and print the image. For this reason, the image loss area is calculated taking into account the borderless overflow amount applied during paper feeding, and the frame line 1011 for displaying the image loss area is drawn on the print preview screen 1009.

[0176] Next, we will explain the process when the print data editing UI display unit 209 determines "No" in S804 of Figure 8, that is, when it determines that the borderless printing function is not enabled. If it determines in S804 that the borderless printing function is not enabled, the print data editing UI display unit 209 proceeds to S816 and displays a print preview using a bitmap image.

[0177] The above is an example of enabling borderless printing and print preview functions in the print function extension unit 207 of the extended application 204. Furthermore, it is an example of displaying a print preview when the borderless printing function is enabled in the print data editing UI display unit 209 after selecting a function in the print settings screen extension unit 205. By using the method described in this embodiment, it is possible to reduce the number of cases in which misprints occur for the user by representing in advance the areas where image loss may occur during actual printing in the print preview of the extended application 204.

[0178] Alternatively, one could edit the XPS data for pre-print preview display to generate an image with missing areas cropped, and then use the edited image data for pre-print preview display. However, in this case, XPS data editing must be performed in the print data editing UI display unit 209, resulting in performance degradation. In contrast, the method in this embodiment does not cause performance degradation associated with XPS editing, thus reducing the time and resource consumption required for pre-print preview display.

[0179] <<Embodiment 2>> Embodiment 1 describes the process for performing borderless printing, specifically when selecting the borderless printing function in the print settings screen extension unit 205 and then displaying a print preview when the borderless printing function is enabled in the print data editing UI display unit 209.

[0180] However, depending on the user's use case, there are situations where they may want to rotate an image 180 degrees before printing. The most common example is when a user wants to print an address on an envelope. Depending on the application used to create the image data and the type of paper feeding method used for the envelope paper by the printer, printing the image as is may result in it being printed upside down on the envelope. In this case, rotating the image to be printed 180 degrees before printing will ensure that it is printed in the correct orientation for the envelope.

[0181] This embodiment proposes a method in consideration of such cases, in which the print data editing UI display unit 209, as described in Embodiment 1, switches the method for calculating the image missing area depending on whether or not 180-degree rotation is selected when displaying the print preview screen.

[0182] In this embodiment as well, it is assumed that the image itself will not be rotated 180 degrees on the print preview screen. As mentioned in Embodiment 1, it is also conceivable to generate an image with the target rotated 180 degrees by editing the XPS data for print preview display, and then use the edited image data to display the print preview. However, even in this case, performance degradation due to XPS data editing will occur. By adopting the method of this embodiment, it is possible to provide the user with a way to correctly check the print result before printing while suppressing performance degradation.

[0183] Note that the system configuration is the same as in Embodiment 1 unless specifically mentioned in the following description, and therefore the description is omitted. Also, the processing flow is the same as in Embodiment 1 unless specifically mentioned in the following description, and therefore the description is omitted.

[0184] <Selecting the 180-degree rotation function on the print settings screen and launching the print data editing unit> First, in this embodiment, the print settings screen that can be rotated 180 degrees and is displayed by the print settings screen extension unit 205 will be explained using the print settings screen 508 shown in Figure 5(b).

[0185] Images edited and updated by the print function extension unit 207 generate a PC based on a PDC (not shown) with added 180-degree rotation functionality. In other words, the print function extension unit 207 of the extension application 204 adds 180-degree image rotation functionality. This allows the user to select these functions on the print settings screen 508 displayed by the print settings screen extension unit 205.

[0186] Control 509 is a control item that allows the user to select whether or not to rotate an image 180 degrees when printing it on paper. Control 509 is an example of a third object, and the process for displaying Control 509 is an example of a fourth display process. In this embodiment, the control item shown on the print settings screen 508 displayed in the display process is configured such that "On" is selected for the 180-degree image rotation function, as well as "On" for borderless printing and "On" for print preview display.

[0187] When the user selects one of the above-mentioned printing functions or other printing functions and presses the OK button on the print settings screen 508, the print settings screen extension unit 205 reflects the selected printing function to the PT and terminates the process.

[0188] Next, when the user issues a print command to the drawing application, the borderless printing function and the 180-degree image rotation function are activated. As a result, the PT, which has been updated to a state where the print preview display is turned on, is passed from the drawing application to the print data editing unit 208 along with the intermediate data.

[0189] In this embodiment as well, it is assumed that the print data generation software 202 will be skipped, and the intermediate data and PT will be passed directly to the print data editing unit 208 of the extended application 204. The sequence from when the print data editing unit 208 is started until the print data editing unit UI display unit 209 is started is the same as the sequence described in Figure 7, so it will be omitted.

[0190] <180-degree image rotation and generation of print preview image when borderless printing is enabled> Next, we will explain the process of generating print preview images performed by the print data editing UI display unit 209 when the 180-degree image rotation function and the borderless printing function are enabled, using Figure 11.

[0191] Figure 11 shows the process that follows after the print data editing UI display unit 209 in Figure 8 has performed the processes from S801 to S805 and determined that the borderless printing function has been enabled.

[0192] First, since S1101 and S1102 are the same processes as S806 and S807 in Figure 8, we will omit their explanation.

[0193] After completing the processing up to S1102, the print data editing UI display unit 209 proceeds to S1103. Next, in S1103, the print data editing UI display unit 209 obtains from PT whether the 180-degree image rotation function is enabled, and proceeds to S1104. The processing in S1104 is the same as the processing in S808, so it is omitted.

[0194] Next, in S1105, the print data editing UI display unit 209 determines whether the paper orientation is portrait or portrait. If it is Yes, the process proceeds to S1106. The process when the print data editing UI display unit 209 determines No in S1105 will be described later.

[0195] The processes in S1106 and S1107 are the same as those in S810 and S811 in Figure 8. Once the processes up to S1107 are completed, the print data editing UI display unit 209 proceeds to process S1108.

[0196] In S1108, the system determines whether the 180-degree rotation function for images acquired from the PT is selected. If the 180-degree rotation function is selected, the print data editing UI display unit 209 determines the result of S1108 as Yes and proceeds to S1109. The process when the print data editing UI display unit 209 determines No in S1108 will be described later.

[0197] In this embodiment, as shown in Figure 9, the amount of overhang in the left direction and the amount of overhang in the right direction are the same, so even if the 180-degree rotation function is selected, there is no need to swap the overhang amounts. Therefore, after S1106 and S1107, it is determined whether or not the 180-degree rotation function is selected (S1108). However, if the amount of overhang in the left direction and the amount of overhang in the right direction are different, the determination in S1108 may be performed before S1106 to swap the overhang amounts. The same applies to S1116 to S1118 described later.

[0198] Next, in S1109, the print data editing UI display unit 209 calculates the number of pixels in the image loss area at the top edge of the Bitmap image where image loss occurs during printing by the printing device 102. This pixel count is calculated based on the height of the Bitmap image, the height of the paper size, and the amount of borderless overhang in the bottom direction.

[0199] In this embodiment, when the 180-degree image rotation function is selected, the printer 102 prints an inverted image, whereas the print data editing UI display unit 209 displays a print preview based on an image that is not inverted. The image data acquired from the OS when the print data editing UI display unit 209 is started does not reflect the editing results from the print data editing unit 208. Therefore, when editing XPS image data with the print data editing UI display unit 209, the print data editing UI display unit 209 itself must also perform the XPS editing process.

[0200] Therefore, when the 180-degree image rotation function is selected, as in the S1109 process, the print data editing UI display unit 209 swaps the top and bottom of the overflow amount when calculating the number of pixels in the image cropping area on the Bitmap image. This represents the image cropping area when the image is inverted vertically during actual printing. After performing the S1109 process, the print data editing UI display unit 209 proceeds to S1110.

[0201] Next, in S1110, the print data editing UI display unit 209 calculates the number of pixels in the image loss area at the bottom edge of the Bitmap image where image loss occurs during printing by the printing device 102. This pixel count is calculated based on the height of the Bitmap image, the height of the paper size, and the amount of borderless overhang in the top direction. After calculating the image loss area of ​​the Bitmap image up to S1110, the print data editing UI display unit 209 proceeds to S1111. The processing from S1111 to S1113 is the same as the processing shown in S814 to S816 in Figure 8, so the explanation is omitted.

[0202] The print preview screen displayed by the print data editing UI display unit 209 when the 180-degree image rotation function and borderless printing function are enabled, which are generated by the above process, will be explained with reference to Figure 12.

[0203] The print preview screen 1201 shown in Figure 12(a) is an example of the screen when the 180-degree rotation function and borderless printing function are enabled. In the print preview screen 1201, the print data editing UI display unit 209 displays a bitmap image for print preview and a frame line to represent the area where image loss occurs during borderless printing.

[0204] The preview image display area 1202 on the print preview screen 1201 displays a Bitmap image generated by the print data editing UI display unit 209 based on XPS image data obtained from the OS. Since the XPS image data that forms the basis of the Bitmap image does not reflect the 180-degree rotation of the image, the same image is displayed as when 180-degree image rotation is not enabled.

[0205] On the other hand, the frame line 1203 for displaying the image defect area, calculated based on the processing in Figure 11, correctly displays the image defect area that occurs when the image is rotated 180 degrees and printed by the printing device 102, by reversing the top and bottom of the borderless overflow amount.

[0206] Returning to the explanation of Figure 11, if the 180-degree image rotation function was not selected in S1108 of Figure 11, the print data editing UI display unit 209 determines the result of processing S1108 as No and proceeds to S1114. In this case, the processing in S1114 and S1115 is the same as that in S812 and S813 of Figure 8, so the explanation is omitted.

[0207] Furthermore, if the result in S1105 in Figure 11 is determined to be "No," that is, if the orientation of the paper is determined to be landscape, the print data editing unit UI display unit 209 proceeds to S1116.

[0208] The processes in S1116 and S1117 are the same as those in S817 and S818 as explained in Figure 8, so they are omitted. After performing the processes up to S1117, the print data editing UI display unit 209 proceeds to S1118.

[0209] In S1118, the print data editing UI display unit 209 determines whether the 180-degree image rotation function is selected based on the PT setting value. If the result of the determination in S1118 is Yes, that is, if the paper orientation is landscape and the 180-degree image rotation function is enabled, the print data editing UI display unit 209 proceeds to S1119.

[0210] In S1119, the print data editing UI display unit 209 calculates the number of pixels in the image loss area on the left edge of the Bitmap image where image loss occurs during printing by the printing device 102. After calculating the number of pixels in the image loss area on the left edge of the Bitmap image in S1119, the print data editing UI display unit 209 proceeds to S1120. The calculation of this number of pixels is based on the height of the Bitmap image, the height of the paper size, and the amount of borderless overhang in the top direction.

[0211] In S1120, the print data editing UI display unit 209 calculates the number of pixels in the image loss area on the right edge of the Bitmap image where image loss occurs during printing by the printing device 102. This pixel count is calculated based on the height of the Bitmap image, the width of the paper size, and the amount of overhang in the bottom direction.

[0212] In steps S1119 and S1120, the missing areas of the bitmap image are calculated, and the print data editing UI display unit 209 proceeds to S1111. The processing from S1111 to S1113 is the same as the processing shown in S814 to S816 in Figure 8, so the explanation is omitted.

[0213] The print preview screen displayed when the 180-degree image rotation function and borderless printing function are enabled and the paper orientation is landscape, as generated by the above process, is shown in Figure 12(b).

[0214] In Figure 12(b), the preview image display area 1205 on the print preview screen 1204 displays a Bitmap image generated by the print data editing UI display unit 209 based on XPS image data acquired from the OS. Since the XPS image data that forms the basis of the Bitmap image does not reflect the 180-degree rotation of the image, the same image as when 180-degree rotation of the image is not enabled is displayed.

[0215] On the other hand, the frame line 1206 for displaying the image defect area, calculated based on the processing in Figure 11, correctly displays the image defect area that occurs when the image is rotated 180 degrees and printed by the printing device 102, by reversing the top and bottom of the borderless overflow amount.

[0216] Returning to the explanation of Figure 11, if the 180-degree image rotation function was not selected in S1118 of Figure 11, the print data editing UI display unit 209 determines the result of processing S1118 as No and proceeds to S1121. In this case, the processing of S1121 and S1122 is the same as that of S819 and S820 in Figure 8, so the explanation is omitted.

[0217] The above is an example of a case where the 180-degree image rotation function is selected simultaneously with the borderless printing function on the print settings screen extension unit 205 of the extended application 204. In this case, the print data editing UI display unit 209 displays a pre-print preview when the 180-degree image rotation and borderless printing functions are enabled.

[0218] The method described in this embodiment is expected to suppress the performance degradation caused by editing XPS data in the print data editing UI display unit 209. Furthermore, even when rotating an image by 180 degrees for printing, a method is provided to check in advance any missing image areas that occur when the image is enlarged by the printing device 102, and the correct print result image can be displayed on the print preview screen.

[0219] <<Embodiment 3>> In Embodiments 1 and 2, a method was described in which the extended application 204 calculates the image missing area based on the borderless overflow amount of the printing device 102 that it has stored in advance, and displays it superimposed on the pre-print preview screen.

[0220] However, when a printing device performs borderless printing, the value of the borderless overflow amount used to enlarge the image is not a fixed value, but may vary depending on the type of printing device, or there may be multiple selectable overflow amounts on the printing device. Therefore, the extended application 204 may perform a step to directly obtain information about the borderless overflow amount held by the printing device or other printers from the printing device selected as the destination for sending print data. Alternatively, the host computer 101 may instruct the printing device on the borderless overflow amount and have the printing device print using the specified borderless overflow amount.

[0221] In light of the above issues, we propose Embodiment 3. Note that the system configuration is the same as in Embodiment 1 unless specifically mentioned in the following description, and therefore the explanation is omitted. Similarly, the processing flow is the same as in Embodiment 1 unless specifically mentioned in the following description, and therefore the explanation is omitted.

[0222] First, we will describe the process performed by the printing function extension unit 207, which acquires information regarding the amount of borderless overflow from the printing device and edits the PDC based on the acquired information.

[0223] The print function extension unit 207 issues an IPP Get-Printer-Attributes operation to the printing device 102, which is selected as the destination for sending print data. This requests information about the configurable values ​​for borderless overflow amount of the printing device 102.

[0224] The printing device 102 responds to a request issued by the printing function extension unit 207 with a response containing information about the configurable values ​​for the borderless overflow amount. The information shown in Figure 9 is an example of the response from the printing device 102 regarding the configurable values ​​for the borderless overflow amount.

[0225] Furthermore, the response from the printing device 102 may include information about the currently selected borderless overflow amount in the printing device 102, as well as the default setting value for the borderless overflow amount that can be set in the printing device 102, in addition to the configurable values. In this embodiment, the borderless overflow amount shown in row 903 of Figure 9 is the default setting value for the printing device 102 and is the currently selected value.

[0226] The printing function extension unit 207 obtains information regarding the borderless overflow amount of the printing device 102, which was acquired as a response to the Get-Printer-Attributes operation, and then stores that information in the shared information 210.

[0227] Furthermore, the printing function expansion unit 207 edits the PDC based on the acquired borderless overflow amount information and registers and updates the configurable values ​​and default settings for the borderless overflow amount as information related to the printing function of the printing device 102. Specifically, the printing function expansion unit 207 registers large borderless overflow, medium borderless overflow, small borderless overflow, and no borderless overflow as configurable values ​​in the PDC, and registers medium borderless overflow as the default setting for the borderless overflow amount.

[0228] In this specification, "borderless printing with no overflow" means enlarging the image as necessary so that the paper margins are zero, and then performing borderless printing.

[0229] The information regarding borderless overflow amount obtained by the print function extension unit 207 via IPP's Get-Printer-Attributes may be a known attribute value defined as a standard IPP specification, or it may be an attribute value uniquely defined by each vendor providing the extension application 204.

[0230] In this way, the printing function extension unit 207 obtains information regarding the borderless overflow amount that can be set by the printing device 102 from the printing device 102, updates the PDC, and terminates the process.

[0231] Next, an example of a screen displayed by the print settings screen extension unit 205, which is configured based on the PC generated from the PDC updated by the print function extension unit 207, will be explained using Figure 5(c).

[0232] Based on the PDC (not shown) with the borderless overflow selection function added by the print function expansion unit 207, a PC is generated. In other words, in this embodiment, the print function expansion unit 207 adds the borderless printing function and the print preview function with borderless overflow selection. As a result, the user can select these functions on the print settings screen 510 displayed by the print settings screen expansion unit 205.

[0233] Control 511 is a control item that allows selection of a configurable value for the borderless overflow amount obtained from the printing device 102, and is the setting value that the printing device 102 uses to enlarge the image when performing borderless printing. Control 511 is an example of a second object, and the process for displaying Control 511 is an example of a third display process.

[0234] Control 511 may be displayed in response to the selection of borderless printing in control 504.

[0235] In this embodiment, the following options are available, added by the print function extension unit 207: borderless with large overflow, borderless with medium overflow, borderless with small overflow, and borderless with no overflow. In this embodiment, in addition to selecting borderless with large overflow in the control item 511 of the print settings screen 510, borderless printing on and print preview display on are also selected.

[0236] When the user selects one of the above-mentioned printing functions or other printing functions and presses the OK button on the print settings screen 510, the print settings screen extension unit 205 reflects the selected printing function to the PT and terminates the process.

[0237] Next, in response to a print command operation from the user to the drawing application, the borderless printing function is turned on, and the borderless print with a large overflow is selected. As a result, the PT, which has been updated to a state where the print preview display is turned on, is passed from the drawing application to the print data editing unit 208 along with the intermediate data. In this embodiment as well, it is assumed that the print data generation software 202 will be skipped, and the intermediate data and PT will be passed directly to the print data editing unit 208 of the extended application 204.

[0238] <Processing of the print data editing unit and the print data editing UI display unit when borderless overflow amount is set> Next, the processes performed by the print data editing unit 208 and the print data editing UI display unit 209 when the borderless printing function is enabled and the borderless overflow amount is set to large will be explained using the sequence diagram in Figure 13.

[0239] The processes from S1301 to S1310 in Figure 13 are the same as the processes from S701 to S710 shown in Figure 7, so they are omitted.

[0240] Next, in S1310, the print data editing UI display unit 209 generates an image for print preview to be displayed on the display unit 119. The print data editing UI display unit 209 converts the XPS data to a Bitmap image in the same way as the process described in the flowchart of Figure 7 of Embodiment 1. At the same time, it calculates the image missing area on the Bitmap image based on the paper orientation, paper size, and borderless overflow amount information, and draws a frame line for displaying the image missing area based on the calculated image missing area value.

[0241] However, in this embodiment, the borderless overflow amount used to calculate the image loss area is a set value selected by the user from among the configurable values ​​obtained from the printing device 102 and reflected in the PT. If the set value reflected in the PT is a large overflow amount, the print data editing UI display unit 209 obtains the borderless overflow amounts for each direction related to the large overflow amount stored in the shared information 210. That is, it obtains the borderless overflow amounts for each of the Top, Bottom, Left, and Right directions and calculates the image loss area based on the borderless overflow amounts for the large overflow amount.

[0242] Using Figure 14, we will explain the print preview screen 1401 when borderless printing with the specified overflow amount has been selected.

[0243] The print preview screen 1401 is a screen displayed by the print data editing UI display unit 209 when the borderless printing function is enabled, showing a Bitmap image for print preview and a border line to represent areas where image loss may occur.

[0244] The preview image display area 1402 on the print preview screen 1401 displays a Bitmap image generated by the print data editing UI display unit 209 based on XPS image data acquired from the OS.

[0245] The frame line 1403 for displaying the image missing area is a frame line drawn by the print data editing UI display unit 209, which obtains the setting value selected by the user via the control 511 and reflected in the PT, calculates the image missing area, and draws it.

[0246] Furthermore, the print preview screen 1401 of this embodiment includes a control 1404. The control 1404 is a control item that allows selection of a configurable value for the borderless overflow amount obtained from the printing device 102. The control 1404 is an example of a second object, and the process for displaying the control 1404 is an example of a third display process.

[0247] Here, the borderless overflow amount selected in control 1404 is the setting value that the printer 102 uses to enlarge the image when performing borderless printing. When the user changes the setting value for the borderless overflow amount in control 1404, the print data editing UI display unit 209 obtains the borderless overflow amount based on the changed setting value. After obtaining the borderless overflow amount, the image missing area is recalculated, the frame line 1403 for displaying the image missing area is redrawn, and the print preview screen 1401 is updated.

[0248] Returning to the explanation of Figure 13. S1312 in Figure 13 is the sequence when the user changes the borderless overflow amount using the control item 1404 of the print settings screen 1401 shown in Figure 14(a). In S1312, the user changes the borderless overflow amount. In this embodiment, the user changes the borderless overflow amount from large to medium.

[0249] In S1313, the print data editing UI display unit 209 updates the borderless overflow setting value for PT in response to the user selecting "medium borderless overflow".

[0250] Then, in S1314, the print data editing UI display unit 209 recalculates the image missing area based on the borderless overflow amount corresponding to the changed borderless overflow amount setting. After recalculating the image missing area, it redraws the frame for displaying the image missing area, regenerates the print preview screen, and updates the print preview screen in S1315.

[0251] Figure 14(b) shows the print preview screen 1405 after the print data editing UI display unit 209 has recalculated the image missing area, redrawn the border lines for displaying the image missing area, and updated the screen. The border lines 1406 for displaying the image missing area in the print preview screen 1405 are the border lines that the print data editing UI display unit 209 redrawn after the user changed the setting value for borderless overflow amount to medium borderless overflow amount using control 1404.

[0252] Because the borderless overflow amount has been changed from large to medium, comparing print preview screen 1401 and print preview screen 1405, the image cutoff area is smaller in print preview screen 1405. Also, on print preview screen 1405, the selected value of the control 1407 that allows you to select the borderless overflow amount is updated and displayed as medium borderless overflow.

[0253] In step S1315 of Figure 13, the print preview screen shown in Figure 14(b) is displayed, and then in step S1316, the user chooses whether to proceed with printing or cancel printing. The processes from S1315 to S1319 are the same as the processes from S713 to S716 explained in Figure 7, so the explanation is omitted.

[0254] Next, in S1320, the print data editing unit 208 receives notification that the print data editing UI display unit 209 has finished processing. After receiving the notification, the print data editing UI display unit 209 requests the print execution flag stored in the shared information 210 from the shared information 210, and retrieves the print execution flag in S1321.

[0255] In S1321, the print execution flag is obtained, and the print data editing unit 208 determines whether to execute or cancel the print operation. In this embodiment, the operation will be described as executing the print operation.

[0256] When the print data editing unit 208 determines to execute printing based on the contents of the print execution flag, it generates a print job in S1322 to execute printing, and sends the print job to the printing device 102 in S1323. The print job includes image data for printing by the printing device 102 and information on print attribute values ​​for printing with IPP. In this embodiment, the setting value related to the borderless overflow amount selected by the user is included in the print attribute value information and is sent.

[0257] The printing device 102 receives a print job sent from the host computer 101. If the print attribute values ​​included in the received print job include an attribute for setting the borderless overflow amount, the device enlarges the image according to the borderless overflow amount set in the print attribute and performs borderless printing.

[0258] The above is an example of how the configurable value for borderless overflow amount can be obtained from the printing device 102 and added to the PDC, thereby enabling the setting value to be changed in the extended application 204. Furthermore, it is an example of how the print data editing UI display unit 209 displays a pre-print preview according to the selected borderless overflow amount setting value.

[0259] In this example, the borderless overflow amount is changed using the controls provided by the print data editing UI display unit 209. This allows the user to check the print result based on the changed overflow amount, and it is also possible to change the borderless overflow amount and print while checking the finished product in the print preview. As a result, it is possible to reduce the number of cases in which misprints occur for the user, and since there is no need to reopen the print settings screen extension unit 205 to change the settings, improved usability can also be expected.

[0260] Furthermore, this example is not limited to this case; the borderless overflow setting can be changed using only the controls provided by the print settings screen 510. Alternatively, the print settings screen 510 may not have a control for changing the borderless overflow setting, and the borderless overflow setting can be changed using only the controls provided by the print data UI display unit 209.

[0261] As described above, according to each of the embodiments, when a user performs borderless printing using the OS standard printing and the extended application 204, the image loss area caused by the printing device 102 enlarging the image can be checked on the print preview screen.

[0262] Furthermore, by providing a method to change the borderless printing settings on the print preview screen, users can select the amount of borderless overflow while checking the print preview. This makes it easier for users to select the desired result, improving the value of using the OS standard printing and extension application 204 for the user.

[0263] <Other examples> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. [Explanation of Symbols]

[0264] 101 Host computer 102 Printing device 202 Print Data Generation Software 203 PDC 204 Extended Applications 208 Print Data Editing Unit 209 Print Data Editing Department UI Display Unit 401 Paper Information List 501 Print Settings Screen 901 Overflow Amount List 1001 Print Preview Screen

Claims

1. An application program that supports a standard driver capable of sending print data to multiple printers from different manufacturers, and which is used in an information processing device, A first display step that displays a first object on which settings related to borderless printing can be configured, When borderless printing is set to be performed using the first object, a second display step is performed in which intermediate data obtained from the OS of the information processing device and an image showing the overflow area based on a predetermined overflow amount are superimposed and displayed. An application program characterized by causing the execution of [a certain action].

2. The application program according to claim 1, characterized in that the information indicating the predetermined overhang amount is downloaded to the information processing device together with the application program.

3. The application program according to claim 1, further characterized in that the information processing device is made to perform an acquisition step of obtaining information indicating the predetermined overhang amount from a printer selected as the destination for sending print data.

4. The information processing device is further instructed to perform a third display step, which involves displaying a second object on which a setting value related to the amount of overhang can be set. The application program according to claim 1, characterized in that the predetermined overhang amount is determined based on a setting value set using the second object.

5. The application program according to claim 4, characterized in that the information processing device is instructed to perform the third display step in response to the setting that borderless printing is to be performed using the first object.

6. The application program according to claim 1, characterized in that the image showing the overflow area is an image of a border.

7. The application program according to claim 1, further characterized in that it causes the information processing device to perform a fourth display step of displaying a third object that can be set to rotate the image to be printed by 180 degrees before printing.

8. A control method for an information processing device having a standard driver capable of sending print data to multiple different printers provided by multiple different manufacturers, and an application program that supports the standard driver, A first display step that displays a first object on which settings related to borderless printing can be configured, When borderless printing is set to be performed using the first object, a second display step is performed in which intermediate data obtained from the OS of the information processing device and an image showing the overflow area based on a predetermined overflow amount are superimposed and displayed. A control method characterized by having the following features.

9. The control method according to claim 8, characterized in that the information indicating the predetermined amount of overhang is downloaded to the information processing device together with the application program.

10. The control method according to claim 8, further comprising an acquisition step of obtaining information indicating the predetermined overhang amount from a printer selected as the destination for sending print data.

11. The system further includes a third display step that displays a second object on which a setting value related to the amount of overhang can be set, The control method according to claim 8, characterized in that the predetermined overhang amount is determined based on a set value set using the second object.

12. The control method according to claim 11, characterized in that the information processing device is instructed to perform the third display step in response to the setting that borderless printing is to be performed using the first object.

13. The control method according to claim 8, characterized in that the image showing the overflow region is an image of a border.

14. The control method according to claim 8, further comprising a fourth display step of displaying a third object that can be set to rotate the image to be printed by 180 degrees before printing.

15. An information processing device having a standard driver capable of sending print data to multiple different printers provided by multiple different manufacturers, and an application program that supports the standard driver, A first display means that displays a first object on which settings related to borderless printing can be set, When borderless printing is set to be performed using the first object, a second display means displays by superimposing intermediate data obtained from the OS of the information processing device and an image indicating the overflow area based on a predetermined overflow amount. An information processing device characterized by having the following features.