Application program, method for controlling information processing apparatus, and information processing apparatus
The application program embeds fonts into PDF files during printing with generic printer drivers, addressing character discrepancies and errors by ensuring accurate font rendering.
Patent Information
- Application Number
- JP2024117583
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-02-04
AI Technical Summary
When printing PDF files directly using a generic printer driver, fonts not embedded in the original PDF file can result in characters that look different from the original or garbled characters, as the system may not have the necessary fonts, leading to printing errors.
An application program that supports printing software generates print data for multiple manufacturers and embeds fonts into PDF files when printing, ensuring accurate rendering even if the fonts are not originally embedded.
Enables accurate printing of PDF files by embedding fonts when necessary, preventing character discrepancies and errors.
Smart Images

Figure 2026016996000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an application program that supports printing software for outputting print data to image forming apparatuses from a plurality of manufacturers, a control method for an information processing apparatus, and an information processing apparatus. [Background technology]
[0002] In recent years, "generic printer drivers (local printer drivers)" that perform printing and communication using industry-standard protocols such as IPP (Internet Printing Protocol) have been proposed. Also, "generic printer drivers (cloud printer drivers)" that communicate with cloud print servers have been proposed. "Generic printer drivers" can communicate with printers from multiple printer vendors. Users can send print data to a printer connected to a PC or a cloud print server and print without having to install a vendor-specific (manufacturer, manufacturer) printer driver. Conventionally, when printing using a "general-purpose printer driver," the file output by an application is first converted to XPS (XML Paper Specification) format (XPS (registered trademark)). The converted XPS format is then converted to PDF (Portable Document Format) and sent to the printer (see Patent Document 1).
[0003] On the other hand, there are applications that run on PCs that can directly output PDF files. Currently, if an application can directly output PDF files, the process of converting PDF files to XPS format is omitted. Therefore, it is being considered to send PDF files output by applications directly to the printer even when using a generic printer driver. If it becomes possible to print PDF files directly, the following is expected. Users will have to choose between converting them to XPS format first and then printing, as in the past, or printing PDF files directly. To do this, it is expected that users will be able to make the selection on the print settings screen of the "generic printer driver." [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2020-46741 Summary of the Invention [Problem to be solved by the invention]
[0005] By the way, PDF files can embed fonts, which means that font information including glyphs that determine the appearance of characters can be stored in the PDF. If the font is not embedded in the PDF file, the application that displays the PDF will display the characters using fonts available in the operating system (OS). If the system does not have the appropriate font, a substitute font will be used. This can result in characters that look different from the original or garbled characters. On the other hand, if fonts are embedded in a PDF, the fonts can be displayed and printed exactly as they were in the original, even if the system opening the file does not have those fonts.
[0006] When printing using a "generic printer driver," fonts present on the system can be embedded when printing a PDF file. As described in the Background Art section, when printing using a "universal printer driver," the file output by the application is first converted to XPS. The converted XPS file is then converted to PDF and sent to the printer. When converting the XPS file to PDF, the universal printer driver can embed fonts installed in the operating system into the PDF file. In other words, even if fonts are not embedded in the original PDF file output from an application, when printing with a "generic printer driver," it is possible to embed fonts installed in the OS.
[0007] However, when printing a PDF file directly, fonts cannot be embedded in the PDF file because the original PDF file is sent to the printer as is. When printing with a "generic printer driver," if the font is not embedded in the PDF file, and the font is available in the OS, the font can be embedded in the PDF file before sending it to the printer, allowing the PDF to be printed exactly as it was in the original. However, when printing PDF files directly, if a font is not embedded in the PDF file, even if the font exists in the OS, the PDF without the embedded font will be sent to the printer as is. If the font does not exist on the printer, an alternative font will be used for printing. This can result in printed characters that look different from the original, or garbled characters. It can also result in a printing error if the alternative font is not found. An object of the present invention is to provide a mechanism for embedding fonts into a PDF file when a generic printer driver is used to directly print a PDF file that does not have embedded fonts. [Means for solving the problem]
[0008] The present invention is an application program that supports printing software that generates print data that can be printed on image forming devices from multiple manufacturers and outputs the print data to the image forming devices from the multiple manufacturers, and is characterized in that it causes a computer to accept settings regarding the conversion of a file to be printed, accepts settings that do not perform the conversion, and, when a font used in the file to be printed is not embedded in the file to be printed, causes the font to be embedded. [Effects of the Invention]
[0009] According to the present invention, when a PDF file in which no fonts are embedded is directly printed using a generic printer driver, it is possible to embed fonts in the PDF file. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating the configuration of a printing system according to an embodiment. [Figure 2A] FIG. 2 is a diagram illustrating the configuration of each device according to the embodiment. [Figure 2B] FIG. 2 is a diagram illustrating the configuration of each device according to the embodiment. [Figure 3] Sequence diagram of print processing (print setting extension application). [Figure 4] FIG. 10 is a sequence diagram illustrating a process of a print setting extension application according to an embodiment. [Figure 5] An example of the initial print settings screen in a document generation app. [Figure 6] 10 is an explanatory diagram of the "capability information" of a cloud print compatible printer. [Figure 7A] An example of the print settings screen without the print settings extension app. [Figure 7B] An example of the print settings screen without the print settings extension app. [Figure 8A] An example of the print settings screen when the print settings extension app is installed. [Figure 8B] An example of the print settings screen when the print settings extension app is installed. [Figure 8C]An example of the print settings screen when the print settings extension app is installed. [Figure 9] An example of the PDF pass-through setting screen for a Cloud Print compatible printer. [Figure 10] 1 is a flowchart of an embodiment. [Figure 11] 10 is a flowchart of another embodiment. [Figure 12] 10 shows an example of a font embedding confirmation dialog box according to another embodiment. [Figure 13] 10 is a flowchart of another embodiment. [Figure 14] 10 is an example of a print confirmation dialog box according to another embodiment. [Figure 15] 10 is a flowchart of yet another embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited to the configurations described in the embodiments. Furthermore, in this specification, an application program that extends (supports) the print setting functions of a generic printer driver installed in the operating system (hereinafter referred to as "OS") of the client terminal 101 will be referred to as a "print setting extension application" or a "support application." Furthermore, a "generic printer driver" will sometimes be referred to as a "standard driver."
[0012] [Embodiment 1] System Configuration Figure 1 shows the overall configuration of a printing system according to an embodiment of the present invention. The printing system is a system capable of cloud printing. The printing system includes a client terminal 101, a cloud print server 102, an application management server 103, a cloud print-compatible printer 104, and an online support server 105. These are connected via a network 107 so that required information can be communicated between them.
[0013] 1 shows only one client terminal 101 and one cloud print-compatible printer 104, there may be multiple client terminals 101 and multiple cloud print-compatible printers 104. Also, the cloud print server 102, application management server 103, and online support server 105 may each be configured with multiple information processing devices. Also, each of the servers 102, 103, and 105 may be configured as a server system configured with multiple information processing devices to distribute the load. Furthermore, the cloud print server 102, application management server 103, and online support server 105 may be virtually configured within a single information processing device. The network 107 is assumed to be a WAN such as the Internet that can provide cloud services, but all of them may be in a closed communication environment such as an in-house LAN.
[0014] (Client terminal) In the client terminal 101, a cloud printer driver 311, a print setting extension application 312, and a local printer driver 314 are installed together with an OS 313. The cloud printer driver 311 and the local printer driver 314 may be generic printer drivers provided by the manufacturer of the OS 313 and included (packaged) in advance with the OS 313. In this case, the cloud printer driver 311 and the local printer driver 314 become available for use when the OS 313 is installed in the client terminal 101 or when a client terminal 101 equipped with the OS 313 is purchased. A generic printer driver can generate print data that can be printed on printers from multiple manufacturers, but can only set limited print settings determined by standards such as IPP (Internet Printing Protocol). As a general-purpose printer driver, for example, an IPP class driver that is pre-installed in Windows (registered trademark) is known.
[0015] Since the generic printer driver is included in the OS 313, in the following explanation, the processing in the generic printer driver and the processing for printing in the OS 313 may be collectively referred to as processing by the OS 313. Furthermore, the generic printer driver (cloud printer driver 311 and / or local printer driver 314) and the OS 313 may be collectively referred to as "printing software."
[0016] The print setting extension application 312 is an application program provided by the printer manufacturer (provider) and is also called a PSA (Print Support Application). Even if characteristic print settings (such as stapleless binding or saddle folding) are available for each printer, they often cannot be set using a generic printer driver. Therefore, printer manufacturers provide print setting extension applications 312 that support the functions of generic printer drivers and can provide the characteristic print settings described above. The client terminal 101 can obtain device identification information (Hardware ID: HWID) from the printer and download and install an application program corresponding to the printer identification information. The client terminal 101 is an information processing device such as a PC, tablet, or smartphone, and is a terminal that can be directly operated by a user. The client terminal 101 is capable of executing required application software on an operating system (OS) or middleware.
[0017] (Cloud Print compatible printer) The cloud print-compatible printer 104 is a printing device that actually prints on a recording medium such as paper. For example, it is an image forming apparatus (MFP) that has multiple functions including a printing function that converts print data received via the network 107 into image data and prints it, a fax function, and a copy function. Here, MFP stands for Multi-Function Peripheral. The cloud print-compatible printer 104 can receive print data from the client terminal 101 via the cloud print server 102, and can also receive print data directly from the client terminal 101 without going through the cloud print server 102. The cloud print-compatible printer 104 receives print data generated by a cloud printer driver 311 installed on the client terminal 101 via the cloud print server 102. The cloud print-compatible printer 104 can also receive print data generated by a local printer driver 314 installed on the client terminal 101 without going through the cloud print server 102 and execute printing.
[0018] (Cloud Print Server) The cloud print server 102 includes a cloud print service 321. The cloud print service 321 receives a print instruction and print data from an external device. The cloud print server 102 then transmits the received print data to a cloud print-compatible printer 104 specified by the print data. In this embodiment, the image data and print setting information (so-called PT (Print Ticket)) are collectively referred to as "print data."
[0019] (Application Management Server) The application management server 103 includes an application management service 331. The application management service 331 stores and manages various applications. The application management service 331 receives application identification information and a download request from the client terminal 101, and transmits to the client terminal 101 the application identified based on the received identification information.
[0020] (Online support server) The online support server 105 includes an online support service 351. The online support service 351 provides an online support service. The online support service 351 is a server device for providing the client terminal 101 with an extended setup information file that describes information for extending the functions of the client terminal 101.
[0021] Hardware configuration Next, with reference to FIGS. 2A and 2B (hereinafter collectively referred to as "FIG. 2"), the hardware configuration of the servers 102, 103, and 105, the client terminal 101, and the cloud print-compatible printer 104 in the printing system of this embodiment will be described.
[0022] (Client terminal) 2A is a block diagram of the hardware configuration of the client terminal 101. The client terminal 101 includes a display unit 216, an operation unit 217, a storage unit 214, a control unit 211, and a network communication unit 215. The display unit 216 is a display device such as a liquid crystal display, and displays information that can be viewed by the user. The operation unit 217 is an input device for receiving input from the user, such as a keyboard, a mouse, etc. Note that a device having the functions of both the display unit 216 and the operation unit 217, such as a touch panel, may also be used. The storage unit 214 is a storage device such as a hard disk, SSD, or flash memory that stores data in a rewritable and non-volatile manner.
[0023] The control unit 211 includes a CPU 212 and a memory 213, and controls the overall operation of the client terminal 101. The CPU 212 loads programs stored in the storage unit 214 onto the memory 213 and executes the loaded programs. The memory 213 is the main storage memory of the CPU 212, and includes a work area and a temporary storage area for loading various programs. A network communication unit 215 transmits and receives digital data to and from external servers 102 , 103 , and 105 and a cloud print-compatible printer 104 via a network 107 .
[0024] (Cloud Print Server) 2(b) is a block diagram of the hardware configuration of the cloud print server 102. The cloud print server 102 includes a storage unit 224, a control unit 221, and a network communication unit 225. The storage unit 224, the control unit 221, and the network communication unit 225 are the same as those corresponding to the client terminal 101, and therefore a description thereof will be omitted. 2(b), in this embodiment, the cloud print server 102 is configured with one information processing device, but the cloud print server 102 may be a server system configured with multiple information processing devices. The storage unit 224 of the cloud print server 102 stores programs for the various services it provides in a non-volatile manner. These programs are loaded into the memory 223 when the cloud print server 102 is started, and the loaded programs are executed by the CPU 222 to implement the cloud print service 321.
[0025] (Application Management Server) 2(c) is a block diagram of the hardware configuration of the application management server 103. The application management server 103 includes a display unit 236, an operation unit 237, a storage unit 234, a control unit 231, and a network communication unit 235. The display unit 236, the operation unit 237, the storage unit 234, the control unit 231, and the network communication unit 235 are the same as the corresponding units in the client terminal 101, and therefore description thereof will be omitted. The storage unit 234 of the application management server 103 stores programs for the various services it provides in a non-volatile manner. These programs are loaded into the memory 233 when the application management server 103 is started, and the loaded programs are executed by the CPU 232 to implement the application management service 331. As shown in FIG. 2(c), the application management server 103 is configured by one information processing device, but the application management server 103 may be a server system configured by a plurality of information processing devices.
[0026] (Cloud Print compatible printer) 2D is a block diagram of the hardware configuration of the cloud print-compatible printer 104. The cloud print-compatible printer 104 includes a display unit 246, an operation unit 247, a storage unit 244, a control unit 241, a network communication unit 245, and a printing unit 248. The display unit 246 is a display device, such as a touch panel or LED, provided on the cloud print-compatible printer 104, that displays information in a manner that is visible to the user. The operation unit 247 is an input device for receiving input from the user, and may have hard keys such as a numeric keypad in addition to a touch panel that can be operated by touch. The storage unit 244 and the control unit 241 are the same as those corresponding to the client terminal 101, and therefore a description thereof will be omitted.
[0027] The network communication unit 245 communicates with the external network 107. The network communication unit 245 mainly receives print data, but also has the function of transmitting information indicating its own status, such as error information, to an external server. The printing unit 248 executes printing processing by performing a series of operations, including paper feeding, printing, and paper ejection, on paper, which is the print medium, stored in a cassette or tray. The printing method is not particularly limited, and may be electrophotographic, inkjet, or other methods. The printing unit 248 also includes finishing devices, such as a duplex unit used during paper ejection, stapling, and punching. Note that, in this embodiment, a multifunction peripheral (MFP, etc.) with multiple functions is described as an example of the cloud print-compatible printer 104, but a single-function printer that only performs the printing function may also be used.
[0028] (Online support server) 2(e) is a block diagram of the hardware configuration of the online support server 105. In this embodiment, the online support server 105 is described as being configured with one information processing device, but may be configured with multiple information processing devices. The online support server 105 includes a display unit 256, an operation unit 257, a storage unit 254, a control unit 251, and a network communication unit 255. The display unit 256 and the operation unit 257 are similar to the display unit 216 and the operation unit 217 of the client terminal 101, and therefore a description thereof will be omitted.
[0029] The storage unit 254 is a rewritable, non-volatile memory device such as an HDD, SSD, or flash memory. The storage unit 254 stores an extension setup information file, which is a file that describes information for extending the functions provided by the client terminal 101. The storage unit 254 also stores programs for the various services that it provides. These programs are deployed in its own memory 253, and the deployed programs are executed by the CPU 252 to realize the online support service 351. The control unit 251 includes a CPU 252 and a memory 253 . The CPU 252 controls the overall operation of the online support server 105 . The memory 253 stores various data generated by the CPU 252 executing the program. The network communication unit 255 is an interface through which the online support server 105 communicates with the client terminal 101. The online support server 105 receives an acquisition request for a file stored in the memory unit 254 via the network communication unit 255, reads the corresponding file from the memory unit 254, and transmits it to the client terminal 101.
[0030] Processing sequence from "print settings" to "sending print data" Next, a processing sequence from "print setting" in the client terminal 101 to "print data transmission" to the cloud print-compatible printer 104 will be described with reference to FIG. The document generation application 315 displays a print setting initial screen (see FIG. 5) for selecting a print queue on the display unit 216. The document generation application 315 is an application for generating document files such as an application for creating document data, an application for creating presentation materials, and an application for displaying photos and image data.
[0031] <Print settings initial screen> The print settings initial screen is shown in Figure 5. The print settings initial screen displays an object 501 for selecting a printer, an object 502 for print settings, and a print preview 503. The print settings initial screen also displays an object 504 for other settings and a [Print] button 505. First, in step S301, the OS 313 selects a print queue upon detecting that the user has selected a printer via the object 501. Specifically, the document generation application 315 transmits print queue selection information to the OS 313. Note that the following description assumes that the print queue for the default printer has been selected when the print settings initial screen starts to be displayed.
[0032] In step S302, the OS 313 transmits a capability information acquisition request for acquiring printer capability information to the cloud print service 321. The OS 313 transmits the capability information acquisition request to the cloud print service 321 by specifying the printer name selected in the object 501 on the print setting initial screen. The query is made to the cloud print service unit 325, which registers the cloud print-compatible printer 104, using a standard protocol defined by IPP, such as Get-printer-Attributes. When Get-printer-Attributes is used, the query is made in list format for the capability information set by the OS 313.
[0033] (Example of capability information) The acquired capability information will now be described with reference to FIG. In this embodiment, IPP is used as the communication protocol for communicating capability information, and the cloud print service 321 acquires item names, attribute values, and default values as shown in FIG. 6 from the cloud print-compatible printer 104. The item names correspond to the setting items in the print setting information, the attribute values correspond to the options and setting value ranges for each setting item, and the default values correspond to the setting values. The item names and attribute values stored in the cloud print-compatible printer 104 include information defined as industry standard specifications by IPP and information independently defined by the printer vendor. Information independently defined by the printer vendor is the item name and attribute value independently defined by the printer vendor. For example, item names not shown in FIG. 6 may include "job name shortening" and "stapleless binding."
[0034] In this embodiment, the vendor-specific item names include a PDF pass-through setting 601. The PDF pass-through setting 601 is an item that defines whether or not to use (ON: enabled, OFF: disabled) a function (PDF pass-through) that prints a PDF file generated by an application without converting it to XPS file format when printing is executed from a standard driver. When the PDF pass-through setting 601 is not set (OFF: disabled), the application calls an API (Application Programming Interface) prepared by the OS 313 for printing. The OS 313 then converts the PDF file to be printed into XPS file format and then reconverts it to PDF file format.
[0035] (Example of PDF pass-through setting screen) An example of the PDF pass-through setting screen is shown in Fig. 9. The PDF pass-through setting 601 can be set by the user on the PDF pass-through setting screen displayed on the display unit 246 of the main body of the cloud print-compatible printer 104 before printing is executed. When the user presses the setting change button 901 ([Yes], [No]), the setting value of the selected PDF pass-through setting 601 is registered as the default value of the PDF pass-through setting. The registered PDF pass-through setting 601 is notified to the client terminal 101.
[0036] In this embodiment, an example has been shown in which settings are made using a setting screen displayed on the printer itself, but settings may also be made on the client terminal 101 via the network 107, for example, without operating the printer itself. Attribute values unique to a printer vendor may also be defined as attribute values corresponding to item names defined as industry standard specifications. Furthermore, capability information is information indicating the functions installed in a printer, regardless of whether the item names and attribute values are defined in IPP.
[0037] Returning to the explanation of the processing flow, In S303, the cloud print service 321 returns the capability information of the cloud print-compatible printer 104 to the OS 313 by referring to the capability information list sent by Get-printer-Attributes. In Fig. 3, this is referred to as a "capability information response." For example, suppose a paper size attribute value is specified in IPP Get-printer-Attributes. If the cloud print service 321 holds the paper size attribute value, it responds with a value associated with the attribute value (such as "A4," "B5," or "Letter"). On the other hand, if the attribute value specified in Get-printer-Attributes does not exist in the queue of the cloud print-compatible printer 104 of the cloud print service 321, the cloud print service 321 does not respond with the associated value.
[0038] In step S304, the OS 313 updates the device capability information (so-called PDC (Print Device Capabilities)) based on the capability information acquired from the cloud print service 321. When the device capability information is updated, the device capability information managed by the client terminal 101 can be updated by executing this update process. In step S305, the OS 313 notifies the print setting extension application 312 of the event and the API used to edit the device capability information.
[0039] In step S306, when the print setting extension application 312 receives an edit event for device capability information from the OS 313, it inquires about the capability information of the cloud print-compatible printer 104 via the cloud print service 321. This is described as "capability information acquisition" in Fig. 3. At this time, the print setting extension application 312 inquires about the cloud print service 321 and reads the capability information including the PDF pass-through setting 601 (see Fig. 6) stored in the cloud print-compatible printer 104.
[0040] As in the process in S302, an inquiry is made using Get-printer-Attributes, and capability information is obtained by specifying the name of the setting item to be queried. Note that the capability information to be obtained in S306 is not limited to setting items and attribute values defined uniquely by the printer vendor, and may also be setting items that have already been obtained by the OS 313. In S307, when the cloud print-compatible printer 104 receives an inquiry about its own capability information from the print setting extending application 312, the cloud print-compatible printer 104 responds to the print setting extending application 312 via the cloud print service 321. This is described as a "capability information response" in Fig. 3. In this embodiment, the capability information responded in S307 is the capability information of the cloud print-compatible printer 104 that the cloud print service 321 has saved and stored in the memory unit 324.
[0041] At the timing when the capability information request in S306 is received, the cloud print service 321 may respond with the capability information acquired from the cloud print-compatible printer 104. In this way, in S306, the client terminal 101 can acquire information on whether the PDF pass-through setting (described later) in the cloud print-compatible printer 104 is "enabled" or "disabled." In S308, when the print setting extension application 312 acquires capability information from the cloud print-compatible printer 104, it edits the device capability information via a configuration information object, which is a data group required for editing the device capability information. For example, the print setting extension application 312 edits the device capability information by converting capability information acquired in S307, such as "stapleless binding," "saddle fold," and "PDL types that can be sent to the printer," into device capability information and adding it to the configuration information object. As a result of the editing, in addition to capability information related to standard setting items acquired in response to an inquiry from the OS 313, vendor-specific setting items and attribute values including the PDF pass-through setting 601 are stored in the storage unit 214.
[0042] In step S309, the print setting extension application 312 transmits the edited device capability information to the OS 313. The OS 313 associates the device capability information acquired from the print setting extension application 312 with the print queue and stores it in the storage unit 214. In S310, when the OS 313 updates the device capability information, an object that triggers display of the UI of the print setting extension application 312, such as object 504 on the print setting initial screen (FIG. 5), becomes "enabled." Note that object 504 remains grayed out until the processing in S310 is completed. In step S311, when the user selects object 504, OS 313 launches print setting extension application 312 and displays a print setting screen such as that shown in FIGS. 8A to 8C (hereinafter collectively referred to as "FIG. 8") on display unit 216. Here, a UI that reflects device settings according to capability information is launched. In other words, a UI unit is provided that displays information that reflects information indicating whether file conversion is enabled or disabled, which is included in the read print setting information, on the display screen of display unit 216. This print setting screen does not depend on the type of document generation application 315 used.
[0043] <Print settings screen when the print settings extension app is not installed> Here, the print setting screen when the print setting expansion application is not installed will be described with reference to FIGS. 7A and 7B (hereinafter collectively referred to as "FIG. 7"). If the print queue and the print setting extension application 312 are not linked, the standard print setting screen pre-installed in the OS 313 is displayed as shown in FIG. 7(a). Pressing the [Advanced Settings] button 701 on the standard print screen displays the advanced print screen shown in FIG. 7(b). This displays the advanced print screen, which displays setting items that cannot be displayed on the standard print setting screen of FIG. 7(a). Note that the advanced print screen shown in FIG. 7(b) is a screen that supports vertical movement of the scroll bar (SB), and by moving the screen up or down as shown in FIGS. 7(c) and 7(d), the setting contents of multiple setting items supported by the OS 313 are displayed. In addition, in Fig. 7(a), an [Apply] button 703 is a button for saving the print settings, a [Cancel] button 704 is a button for returning to the screen of Fig. 5 without saving the print settings, and an [OK] button 705 is a button for saving the print settings and returning to the screen of Fig. 5. Note that an [OK] button 702 is also displayed in Figs. 7(b) to (d).
[0044] <Print settings screen when the print settings extension app is installed> Next, the print setting screen when a print setting extension application is installed will be described with reference to FIGS. 8A, 8B, and 8C (hereinafter collectively referred to as "FIG. 8"). Now, let's return to the print setting extension application 312. The print setting extension application 312 receives print setting information generated based on the print setting capability information generated by the OS 313 based on the device capability information, and displays the extended print setting screen shown in Fig. 8(a) on the display unit 216. The screens shown in Fig. 8(a) to (e) are displayed by scrolling the scroll bar (SB). The print setting extension application 312 displays the contents indicated by the device capability information as setting values (attribute values) on the extended print setting screen.
[0045] The print setting extension application 312 provides a function that allows the user to change print settings as desired. When the print settings are changed, the setting values can be saved. When the user selects the [OK] button 802 displayed on the print setting extension screen in FIG. 8(a), the print settings are finalized. For example, suppose the user changes the output paper size list box 801 on the UI from "A4" to "Letter." In this case, the print setting information held by the print setting extension application 312 changes the output paper size from "A4" to "Letter."
[0046] The list box 803 shown in FIG. 8D is a box for setting the PDF pass-through function to "enabled" or "disabled." The list box 803 can reflect the capability information that the print setting extension application 312 acquired from the cloud print-compatible printer 104 in step S306. In other words, if the cloud print-compatible printer 104 supports the PDF pass-through function, the print setting extension application 312 can display the print setting extension screen with the list box 803 set to "enabled." If the PDF pass-through setting 601 ( FIG. 6 ) is set to "ON" on the printer, the user is presented with a setting screen in which the default setting for PDF pass-through shown in the list box 803 is set to "ON." If PDF pass-through is "enabled," that is, if the PDF pass-through setting 601 is "ON," the PDF format data to be printed that is generated by the document generation application 315 is sent directly to the cloud print-compatible printer 104 without being converted to XPS format data. On the other hand, if the PDF pass-through setting 601 is set to "OFF" on the printer, a setting screen in which the default setting of PDF pass-through shown in the list box 803 is set to "OFF" is presented to the user. If PDF pass-through is "disabled," that is, if the PDF pass-through setting 601 is "OFF," PDF format data to be printed, created by the document generation application 315, is first converted to XPS format data by the OS 313 (conversion unit). Then, the print setting extension application converts it again to PDF format and sends it to the cloud print-compatible printer 104.
[0047] Note that the list box 803 for switching PDF pass-through between "enabled" and "disabled" is not displayed on the standard print setting screen displayed by the OS 313. In step S812, when the [OK] button 802 is selected by the user, the print setting extension application 312 acquires the print setting information set on the print setting screen from the print setting screen, passes the print setting information to the OS 313, and closes the extended print setting screen shown in Fig. 8. Then, when the processing in step S812 is completed, the print setting initial screen of Fig. 5 is displayed, reflecting the setting values set by the print setting extension application 312.
[0048] Returning to the topic of sequencing, In step S313, when the user presses the [Print] button 505 on the print setting initial screen shown in Fig. 5, a print execution instruction is sent to the OS 313. The OS 313 executes the print process based on the input instruction. The document generation application 315 also passes the output data (PDF) to the OS 313. On the print setting initial screen shown in FIG. 5, the following three patterns are assumed for processing when the user selects the [Print] button 505. (1) The first pattern is when the print setting extension application 312 linked to the selected print queue is installed on the client terminal 101 and the PDF pass-through function setting of the print setting extension application 312 is set to “disabled.” (2) The second pattern is when the print setting extension application 312 associated with the selected print queue is not installed. (3) The third pattern is when the print setting extension application 312 linked to the selected print queue is installed and the PDF pass-through function of the print setting extension application 312 is set to “enabled.” Each of these patterns will be explained below.
[0049] (1) First Pattern (PDF pass-through setting is "Disabled") The first pattern is a case where the print setting extension application 312 corresponding to the print queue is installed in the client terminal 101 and the PDF pass-through function is set to "disabled." In step S314, the OS 313 generates intermediate data in response to the instruction to execute printing, and sends the generated intermediate data and the print setting information edited on the print setting screen to the print setting extension application 312. The intermediate data is, for example, XPS format data, and the print data is, for example, a PDF file or a PDL such as PWG-Raster. PWG-Raster is an IPP standard bitmap format. In the first pattern, a PDF is created as the print data. The printing capability information specifically refers to print setting information converted into attribute values defined by IPP.
[0050] In S315, the print setting extension application 312 receives the intermediate data and print setting information from the OS 313, and generates print data (PDF) and printing capability information. Note that in Fig. 3, only "generate print data" is described. Furthermore, when the print setting extension application 312 creates print data (PDF), it can embed fonts installed in the OS 313 into the print data (PDF). In step S316 , the print setting extension application 312 generates print data (PDF) and sends the generated print data (PDF) and printing capability information to the print queue of the OS 313 .
[0051] If a font is embedded in the print data (PDF), the font can be printed exactly as it was in the original even if the printer does not have that font. The above is the processing content of the first pattern.
[0052] (2) Second Pattern (If the print settings extension app associated with the selected print queue is not installed) In the second pattern, when a print execution instruction is notified in S313, the OS 313 of the client terminal 101 executes the process of S317, which will be described later. In S317, the OS 313 converts the data output by the document generation application 315 into intermediate data, and generates print data and printing capability information based on the intermediate data and print setting information. Note that although S317 in FIG. 3 states "generate print data," printing capability information is also generated. Also, the print data created in this pattern may be PWG-Raster or PDF. Although "PWG-Raster" is described in FIG. 3, other PDLs such as PDF may be used.
[0053] (3) Third Pattern (PDF Pass-Through setting is "Enabled") The third pattern is when the print setting extension application 312 corresponding to the selected print queue is installed in the client terminal 101 and the PDF pass-through setting is enabled. Note that PDF pass-through can be set to ON on the print setting screen when the document generation application 315 can output PDF files. This third pattern is the part of the problem that we want to solve in this patent. First, Figure 3 explains the conventional system that has problems. The OS 313 receives the PDF file and print specification information from the document generation application 315 . In S318, the OS 313 sends the received PDF file and print specification information to the print setting extension application 312. Note that S318 in FIG. 3 describes that the PDF is handed over. In S319, the print setting extension application 312 generates printing capability information based on the received print setting information, leaving the received PDF file as is. The print setting extension application 312 sends the PDF file and the generated printing capability information to the OS 313. Note that S319 in FIG. 3 simply states "pass the PDF to the OS."
[0054] As described above, when the PDF pass-through setting is enabled, the PDF file output by the document generation application 315 is sent to the OS 313 as is. Therefore, if a font is not embedded in the PDF file, the PDF file is sent to the OS 313 without the font embedded. As a result, if the font does not exist on the printer, printing is performed using an alternative font. This may result in printed characters that look different from the original or garbled characters. Also, a printing error may occur if an alternative font is not found.
[0055] Next, Figure 4 explains the system that solves the problem with this patent. [Embedding fonts in PDF (print settings extension app)] S301 to S317 in FIG. 4 are the same as those in FIG. 3, and the explanation will be omitted. If the PDF pass-through setting of the third pattern is "enabled", in step S318, the OS 313 sends the received PDF file and print specification information to the print setting extension application 312. Next, in step S401, the print setting extension application 312 checks the contents of the PDF file to see if the font to be used is embedded. If the font is not embedded, the print setting extension application 312 checks whether the font is installed in the OS 313. If the font is installed in the OS 313, the print setting extension application 312 embeds the font in the PDF file. Then, in step S319, the PDF file with the embedded font and the generated printing capability information are sent to the OS 313. As described above, in the first pattern, the processes of S314, S315, and S316 are executed, and rendering is performed by the print setting extension application 312. In the second pattern, the process of S317 is executed, and rendering is performed by the driver. And in the third pattern, the processes of S318, S319, and S401 are executed, and PDF pass-through is performed.
[0056] Next, in S320, the OS 313 transmits the print data and printing capability information received from the print setting extension application 312 or the print data and printing capability information generated by the OS 313 to the cloud print service 321 via the print queue. In S321, the cloud print service 321 transmits the print data and printing capability information received from the client terminal 101 to the cloud print-compatible printer 104. The cloud print-compatible printer 104 may periodically make an inquiry to the cloud print service 321 to acquire unprinted print data held on the cloud print service 321 and printing capability information corresponding to the print data. Also, in the process of S301 in Fig. 3, capability information is acquired and the print setting screen is displayed when the printer name is selected in the document generation application 315, but the above-described process may also be started at another timing. For example, the above-described process may be started when the object 404 displayed on the document generation application 315 is selected.
[0057] In the above explanation, when a print queue and the print setting extended application 312 are linked, the process flow from displaying the extended print setting screen (see FIG. 8) of the print setting extended application 312 at the timing when the print queue is selected to executing printing has been explained. The process up to this point is the entire print process using the print setting extended application 312 and the print setting extended application 312. PDF pass-through will be explained in detail below.
[0058] [Embodiment 1] In the first embodiment, a process in which the print setting expansion application 312 embeds fonts in PDF when PDF pass-through is performed will be described. 10 is a flowchart of the process in which the print setting extension application 312 embeds fonts in a PDF when PDF pass-through is performed. This process is realized by the CPU 212 of the client terminal 101 executing the print setting extension application 312. The process in FIG. 10 starts after the OS 313 receives a print execution instruction from the document generation application 315 in step S313. In S1001, the print setting extension application 312 receives the PDF file sent from the OS 313. This corresponds to S318 in FIG. The following steps S1002 to S1006 correspond to S401 in Fig. 4. These will be explained in order.
[0059] In S1002, the print setting extension application 312 selects one of the fonts used in the PDF file and checks the contents. In S1003, the print setting extension application 312 determines whether the font confirmed in S1002 is embedded in the PDF file. If it is determined that the font is embedded (Yes in S1003), the process proceeds to S1006, and if it is determined that the font is not embedded (No in S1003), the process proceeds to S1004. In S1004, the print setting extension application 312 determines whether the font is installed in the OS. If it is determined in S1004 that the font is installed in the OS (Yes in S1004), the process proceeds to S1005; if not (No in S1004), the process proceeds to S1006.
[0060] In S1005, the print setting extension application 312 embeds the font in the PDF file, and the process proceeds to S1006. In S1006, the print setting extension application 312 determines whether all fonts in the PDF file have been checked. If it is determined that there are fonts that have not yet been checked (No in S1006), the process returns to S1002, and the processes of S1002 to S1005 are performed for all fonts in the PDF file. On the other hand, if it is determined in S1006 that all fonts have been checked (Yes in S1006), the process proceeds to S1007.
[0061] In S1007, the print setting extension application 312 sends the PDF file and print setting information to the OS 313. This process corresponds to S319 in Fig. 4. Then, this process ends. Through the above process, even when PDF pass-through is performed, the print setting extension application 312 can embed fonts installed in the OS into the PDF file. This allows the printer to print using the original font even if the font is not embedded in the PDF file. This prevents problems such as garbled characters.
[0062] [Embodiment 2] In the first embodiment, when PDF pass-through is performed, the print setting extension application 312 embeds fonts in the PDF file. At that time, the fonts are embedded without user confirmation. In contrast, in the second embodiment, a process for user confirmation is added when embedding fonts, which makes it possible to send the original PDF directly to the printer. Fig. 11 is a flowchart of font embedding processing according to the second embodiment. Compared to Fig. 10, which is the flowchart of the first embodiment, steps S1101 to S1103 have been added. This processing is realized by the CPU 212 of the client terminal 101 executing the print setting extension application 312. Details will be explained below. S1001 to S1004 are the same as in FIG.
[0063] If it is determined in S1004 that the font exists in the OS (Yes in S1004), the process proceeds to S1101. In S1101, the print setting extension application 312 determines whether the font embedding confirmation dialog has been displayed. If it is determined that the font embedding confirmation dialog has never been displayed (No in S1101), the process proceeds to S1102. If the font embedding confirmation dialog has been displayed in the process of checking other fonts (Yes in S1101), the process proceeds to S1103. In step S1102, the print setting extension application 312 displays a font embedding confirmation dialog. <Font Embedding Confirmation Dialog> An example of the font embedding confirmation dialog is shown in Fig. 12. The font embedding confirmation dialog 1201 in Fig. 12 displays the following confirmation message asking whether or not to embed the font. "The PDF contains a non-embedded font. The font was found in the operating system and can be embedded. Embed fonts from your operating system into the PDF? If you do not embed the font, the characters may not print correctly. Of course, sentences other than the above are acceptable as long as they have the same meaning. The above text is presented to the user, who is then prompted to select whether to embed the font by pressing either the [Embed] button 1202 or the [Don't Embed] button 1203.
[0064] In step S1103, the print setting extension application 312 determines whether the user has selected [Embed] the font. If it is determined in S1103 that the user has selected [Embed] the font (Yes in S1003), the process proceeds to S1105. On the other hand, if it is determined in S1103 that the user selected [Do not embed] the font (No in S1003), the process of the loop that checks the fonts one by one is interrupted, and the process proceeds to S1007. This is because if the font is not to be embedded, the processes of S1002 to S1006 for embedding the font are not necessary for the other fonts. This concludes the description of the font embedding process according to the second embodiment. As a result, when printing using PDF pass-through, if the font is not embedded in the PDF, the user can choose whether to embed fonts from the OS into the PDF.
[0065] [Embodiment 3] In the first embodiment, when PDF pass-through is performed, the print setting extension application 312 embeds fonts in the PDF. However, if the font is not available in the OS, the process continues without embedding the font. In contrast, in the third embodiment, if the font is not embedded in the PDF file and the font is not available in the OS, the user is allowed to select whether or not to continue printing. Fig. 13 is a flowchart of the third embodiment. Compared to Fig. 10, which is the flowchart of the first embodiment, steps S1301 to S1304 have been added. This processing is realized by the CPU 212 of the client terminal 101 executing the print setting extension application 312. Details will be explained below. S1001 to S1004 are the same as in FIG.
[0066] If it is determined in S1004 that the font does not exist in the OS (No in S1004), the process proceeds to S1301. In S1301, the print setting extension application 312 determines whether the print confirmation dialog has been displayed before. If it is determined in S1301 that the print confirmation dialog has not yet been displayed (No in S1301), the process proceeds to S1302. If it is determined that the print confirmation dialog has been displayed before (Yes in S1301), the process proceeds to S1303. In step S1302, the print setting extension application 312 displays a print confirmation dialog box. <Print confirmation dialog> 14 shows an example of the print confirmation dialog. The print confirmation dialog 1401 displays the following print confirmation text: "The PDF contains non-embedded fonts. If you pass-through print this PDF, characters may not be printed correctly. Do you want to continue printing?" Of course, sentences other than the above are acceptable as long as they have the same meaning. The above message is presented to the user, who is prompted to select whether to continue printing by pressing either the "Yes" button 1402 or the "No" button 1403.
[0067] Next, in S1303, the print setting extension application 312 determines whether the user has selected to continue printing. If it is determined in S1303 that the user has selected to continue printing (Yes in S1303), the process proceeds to S1006 and continues. On the other hand, if it is determined in S1303 that the user has selected not to continue printing (No in S1303), the process proceeds to S1304. In step S1304, the print setting extension application 312 suspends the print output, and the process ends. This concludes the description of the font embedding process according to the third embodiment. As described above, when printing using PDF pass-through, if the font is not embedded in the PDF and the font cannot be found within the OS, the user can choose whether to continue printing.
[0068] [Embodiment 4] In the first embodiment, the print setting expansion application 312 embeds fonts in PDF when PDF pass-through is performed, but does not take into consideration whether the fonts are available on the printer side. In the fourth embodiment, a process for determining whether to execute a process by taking into consideration whether the font is available on the printer side will be described. Fig. 15 is a flowchart of the fourth embodiment. Compared to Fig. 10, which is the flowchart of the first embodiment, S1501 has been added. This process is realized by the CPU 212 of the client terminal 101 executing the print setting extension application 312. Details are explained below. S1001 to S1003 are the same as in FIG.
[0069] If it is determined in S1003 that the font is not embedded (No in S1003), the process proceeds to S1501. In S1501, the print setting extension application 312 determines whether the font exists in the printer. Font information in the printer is acquired from the printer in capability information response S307 in Fig. 3. Based on the font information acquired in capability information response S307, it is determined whether the printer has a font that is not embedded in the PDF. If it is determined in S1501 that the font exists in the printer (Yes in S1501), the font embedding process is not performed and the process proceeds to S1006. This is because if the font exists on the printer side, printing can be performed using the original font without embedding the font in the PDF.
[0070] On the other hand, if it is determined in S1501 that the font does not exist in the printer (No in S1501), the process proceeds to S1004. In this case, the process of embedding the font of the OS is performed, as in the first embodiment. As a result, when printing with PDF pass-through, if the font is not embedded in the PDF, the printer will consider whether the font is available, not just in the OS, and will be able to print with PDF pass-through.
[0071] (Other embodiments) In all the embodiments described so far, the process of transmitting the PDF file and printing capability information sent by the client terminal 101 to the printer via the cloud print server 102 has been described. However, the present invention can also be applied to a case where the client terminal 101 and the cloud print-compatible printer 104 are directly connected without going through the cloud print service 321. The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. The embodiments of the present invention can also be realized by executing the following process. That is, software (programs) that realize the above-described embodiments are supplied to a system or device via a network or a recording medium. Then, a computer (specifically, a processor such as a CPU or MPU) of the system or device reads and executes the program code. In this case, the computer program and the recording medium storing the computer program are also within the scope of the present invention. Furthermore, while the above-described embodiments describe the process of communicating "capability information" and print data via the cloud print service 321, a configuration in which direct communication with the cloud print-compatible printer 104 is also possible.
[0072] <Other> (1) Print data from the client terminal 101 may be sent to the cloud print-compatible printer 104 “directly” without going through the cloud print-compatible server 104 or the like. In this case, for example, the client terminal 101 and the cloud print-compatible printer 104 may be configured to be able to wirelessly communicate required information. (2) In addition to PCs, mobile terminals such as smartphones and tablet terminals can also be used as the client terminal 101. For example, when using a smartphone, a dedicated app for implementing the processing of the embodiment of the present invention can be downloaded from a specific website and installed on the smartphone. In this case, if the smartphone and the cloud print-compatible printer 104 are relatively close to each other, communication between them can be enabled via Bluetooth (registered trademark), for example. Alternatively, the mobile terminal may be configured to connect to the Internet via a portable, rechargeable Wi-Fi (registered trademark) router, and the printing device may be configured to connect to the Internet via a wired or wireless router. To connect the printing device to the router via a wired connection, the printing device may be configured to have a LAN cable outlet. Thus, the mobile terminal and printing device are connected to each other so that they can communicate via a network such as the Internet. Moreover, by using a portable, rechargeable Wi-Fi router, the user can perform the processing of the embodiment of the present invention wherever the mobile terminal is located. (3) The display UI (user interface) can also be displayed as a three-dimensional image to facilitate visual confirmation. In this case, the three-dimensional image can be viewed by wearing goggles or special glasses, for example.
[0073] The disclosure of this embodiment includes the following programs, methods, and configurations. (Program 1) An application program that supports printing software that generates print data that can be printed by image forming devices from multiple manufacturers and outputs the print data to the image forming devices from the multiple manufacturers, On the computer, Accept the settings for converting the file to be printed, When the setting not to perform the conversion is accepted and the font used in the file to be printed is not embedded in the file to be printed, the font is embedded. An application program characterized by: (Program 2) The file to be printed is a PDF file. The application program according to Program 1, (Program 3) When the font is present in the operating system, it causes the font to be embedded. 3. The application program according to Program 1 or 2. (Program 4) When the font is in the operating system, a screen is displayed to receive a font embedding instruction from the user. The application program according to program 3, (Program 5) When an instruction to embed the font is received from the user, the font is embedded. 5. The application program according to program 4. (Program 6) When the font is not available in the operating system, a screen is displayed to receive instructions from the user to continue printing. 6. The application program according to any one of Programs 3 to 5. (Program 7) When an instruction not to continue printing is received from the user, output of the print data is interrupted. The application program according to program 6, (Program 8) If the font exists in the image forming device that outputs the font, the font is not embedded. 8. The application program according to any one of Programs 3 to 7, (Method 1) 1. A control method for an information processing apparatus having an application program that supports printing software that generates print data that can be printed by image forming devices from a plurality of manufacturers and outputs the print data to the image forming devices from the plurality of manufacturers, comprising: a receiving step of receiving settings related to the conversion of the file to be printed; an embedding step of embedding the font when the setting of not performing the conversion is accepted and the font used in the file to be printed is not embedded in the file to be printed; A control method comprising: (Configuration 1) An information processing apparatus having an application program that supports printing software that generates print data that can be printed by image forming devices of a plurality of manufacturers and outputs the print data to the image forming devices of the plurality of manufacturers, A receiving means for receiving settings related to the conversion of a file to be printed; an embedding means for embedding a font when the setting not to perform the conversion is accepted and the font used in the file to be printed is not embedded in the file to be printed; 1. An information processing device comprising: [Explanation of symbols]
[0074] 101 client terminals 102 Cloud Print Server 103 Application Management Server 104 Cloud Print compatible printers 105 Online Support Server
Claims
1. An application program that supports printing software that generates print data that can be printed by image forming devices from multiple manufacturers and outputs the print data to the image forming devices from the multiple manufacturers, On the computer, Accept the settings for converting the file to be printed, When the setting not to perform the conversion is accepted and the font used in the file to be printed is not embedded in the file to be printed, the font is embedded. An application program characterized by:
2. The file to be printed is a PDF file.
2. The application program according to claim 1.
3. When the font is present in the operating system, it causes the font to be embedded.
3. The application program according to claim 1 or 2.
4. When the font is in the operating system, a screen is displayed to receive a font embedding instruction from the user.
4. The application program according to claim 3.
5. When an instruction to embed the font is received from the user, the font is embedded.
5. The application program according to claim 4.
6. When the font is not available in the operating system, a screen is displayed to receive instructions from the user to continue printing.
4. The application program according to claim 3.
7. When an instruction not to continue printing is received from the user, output of the print data is interrupted.
7. The application program according to claim 6.
8. If the font exists in the image forming device that outputs the font, the font is not embedded.
4. The application program according to claim 3.
9. 1. A control method for an information processing apparatus having an application program that supports printing software that generates print data that can be printed by image forming devices from a plurality of manufacturers and outputs the print data to the image forming devices from the plurality of manufacturers, comprising: a receiving step of receiving settings related to the conversion of the file to be printed; an embedding step of embedding the font when the setting of not performing the conversion is accepted and the font used in the file to be printed is not embedded in the file to be printed; A control method comprising:
10. An information processing apparatus having an application program that supports printing software that generates print data that can be printed by image forming devices of a plurality of manufacturers and outputs the print data to the image forming devices of the plurality of manufacturers, A receiving means for receiving settings related to the conversion of a file to be printed; an embedding means for embedding a font when the setting not to perform the conversion is accepted and the font used in the file to be printed is not embedded in the file to be printed; 1. An information processing device comprising:
Citation Information
Patent Citations
Information processing device, control method of information processing device and program
JP2020046741A