Printer driver, information processor, and image formation apparatus with compatibility securement function

A printer driver causes a computer to function as: an image formation data generator configured to generate image formation data which includes image data and other data; and an image formation data updater configured to update the image formation data. The image formation data updater is configured to update the image formation data by: judging whether or not a description to secure compatibility of a version of the image formation data exists in the image formation data; if the description exists, adding to the other data an enabling instruction to enable a compatibility securement function to secure the compatibility of the version of the image formation data; and if no description exists, adding to the other data a disabling instruction to disable the compatibility securement function.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority based on 35 USC 119 from prior Japanese Patent Application No. 2012-090824 filed on Apr. 12, 2012, entitled “PRINTER DRIVER, INFORMATION PROCESSOR, IMAGE FORMATION APPARATUS, IMAGE FORMATION SYSTEM, AND IMAGE FORMATION METHOD”, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This disclosure relates to a printer driver, an information processor, an image formation apparatus, an image formation system, and an image formation method.

2. Description of Related Art

In a conventional print system that includes an information processor and an image formation apparatus, the information processor converts print target data, such as document data, to generate print data in a language interpretable by the image formation apparatus, and sends the print data to the image formation apparatus. The image formation apparatus then performs the printing by analyzing the entirety of the print data. For example, multiple versions are set as formats for print data in some cases. In such cases, the image formation apparatus needs to secure the compatibility between the version of the format of the print data, which the image formation apparatus receives from the information processor, and the version supported by the image formation apparatus (see Patent Document 1: Japanese Patent Application Publication No. 2009-187243, for example).

SUMMARY OF THE INVENTION

However, a problem with the related art is that the efficiency of processing for the compatibility is low, because regardless of whether or not the compatibility needs to be secured, the image formation apparatus performs the processing for securing the compatibility between the version of the format of the print data which the image formation apparatus receives from the information processor and the version supported by the image formation apparatus.

An object of an embodiment of the invention is to efficiently perform the processing for securing this compatibility.

A first aspect of the invention is a printer driver that causes a computer to function as an image formation data generator configured to generate image formation data which includes image data and other data, and an image formation data updater configured to update the image formation data. The image formation data updater is configured to update the image formation data by judging whether or not a description to secure compatibility of a version of the image formation data exists in the image formation data. If the description does exist, the image formation data updater adds an enabling instruction to the other data to enable a compatibility securement function to secure the compatibility of the version of the image formation data. If no description exists, the image formation data updater adds a disabling instruction to the other data to disable the compatibility securement function.

A second aspect of the invention is an image formation apparatus that includes a data analyzer and a data acquirer configured to acquire image formation data containing both image data and other data. The data analyzer is configured to judge whether or not the other data includes either (1) an enabling instruction to enable a compatibility securement function to secure compatibility of a version of the image formation data, or (2) a disabling instruction to disable the compatibility securement function. If it is determined that the other data includes the enable instruction, the data analyzer analyzes the image formation data in a compatibility securement enabled mode in which the compatibility securement function is enabled. If it is determined that the other data includes the disable instruction, the data analyzer analyzes the image formation data in a compatibility securement disabled mode in which the compatibility securement function is disabled. The image formation apparatus further includes: an image generator configured to generate an image from the image data on the basis of a result of the analysis by the data analyzer; and an image formation unit configured to form an image on the basis of the image generated by the image generator.

A third aspect of the invention is an image formation apparatus that includes: a data acquirer configured to acquire image formation data which includes image data; a function setting storage unit configured to store function setting information specifying which of (1) a compatibility securement enabled mode to secure compatibility of a version of the image formation data, or (2) a compatibility securement disabled mode to disable securement of the compatibility, is to be used to perform an operation; a data analyzer configured to analyze the image formation data in the compatibility securement enabled mode or the compatibility securement disabled mode on the basis of the function setting information; an image generator configured to generate an image from the image data on the basis of a result of the analysis by the data analyzer, and an image formation unit configured to form an image on the basis of the image generated by the image generator.

A fourth aspect of the invention is an image formation method that includes: acquiring image formation data which contains image data; checking the function setting information that specifies whether a compatibility securement enabled mode to secure compatibility of a version of the image formation data, or a compatibility securement disabled mode to disable securement of the compatibility, is to be used to perform an operation; analyzing the image formation data in the compatibility securement enabled mode or in the compatibility securement disabled mode on the basis of the function setting information; generating an image from the image data on the basis of the result of the analysis by the data analyzer, and forming an image on the basis of the image generated by the image generator.

The aspects enhance the efficiency of processing for securing the compatibility.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1is a schematic diagram showing the configuration of print system100of Embodiment 1. Print system100includes printer110as an image formation apparatus, and host PC130as an information processor. Printer110and host PC130may be connected together through a network connection using a LAN (Local Area Network), or through a local connection using USB (Universal Serial Bus) ports, parallel ports, IrDA (Infrared Data Association) ports, serial ports, and the like. It should be noted that parenthesized reference numerals represent components of Embodiment 2.

FIG. 2is a block diagram schematically showing the configuration of printer110. Printer110includes: interface unit (hereinafter referred to as an IF unit)111; data receiver112as a data acquisition unit; data storage unit113; XPS data analyzer114as a data analyzer; print image generator120as an image generator; and print unit121as an image formation unit.

IF unit111executes communication with host PC130. Data receiver112receives XPS data as image formation data from host PC130through IF unit111. Data storage unit113stores the received XPS data. XPS data analyzer114analyzes the XPS data stored in data storage unit113, and generates intermediate data, which print image generator120can interpret, from the XPS data. Print image generator120generates a print image as an image for image formation from the intermediate data generated by XPS data analyzer114. Print unit121performs print processing by use of the print image generated by print image generator120.

XPS data analyzer114includes: XPS data decompressor115as a data decompression section; PrintTicket analyzer116as a setting analysis section; XPS markup resolver117as an element resolution section; markup compatibility analyzer118as a compatibility analysis section; and XPS element analyzer119as an element analysis section.

XPS data decompressor115performs decompression processing on the XPS data using Zip. The XPS data is formatted data which is formed into files by using Zip to compress a group of files having a folder structure. The XPS data decompressed by XPS data decompressor115is referred to as decompressed XPS data. PrintTicket analyzer116analyzes a PrintTicket file which is a setting file in the decompressed XPS data, and thus judges whether to enable or disable a markup compatibility function (a compatibility securement function) for securing the compatibility of the version of the XPS data. For example, PrintTicket analyzer116analyzes whether the PrintTicket file exists in the decompressed XPS data. In addition, PrintTicket analyzer116analyzes whether the PrintTicket file includes an enabling instruction for enabling the function for securing the compatibility, or a disabling instruction for disabling the function for securing the compatibility. If the PrintTicket file includes the enabling instruction, PrintTicket analyzer116judges that the markup compatibility function should be enabled. On the other hand, if no PrintTicket file exists in the decompressed XPS data, if the PrintTicket file includes neither the enabling instruction nor the disabling instruction, or if the PrintTicket file includes the disabling instruction, PrintTicket analyzer116judges that the markup compatibility function should be disabled. It should be noted that the PrintTicket file is the setting data showing settings necessary for forming images, such as an instruction for double-sided printing, an instruction as to the number of copies, and the like.

XPS markup resolver117performs its processing in a markup compatibility enabled mode being a mode in which the compatibility securement function is enabled, if PrintTicket analyzer116judges that the markup compatibility function should be enabled. On the other hand, XPS markup resolver117performs its processing in a markup compatibility disabled mode being a mode in which the compatibility securement function is disabled, if PrintTicket analyzer116judges that the markup compatibility function should be disabled. For example, in the markup compatibility enabled mode, XPS markup resolver117resolves the decompressed XPS data on an element-by-element basis in the XPS markup; provides each element to markup compatibility analyzer118; causes markup compatibility analyzer118to perform compatibility securing processing; and causes XPS element analyzer119to generate intermediate data through its processing. On the other hand, in the markup compatibility disabled mode, XPS markup resolver117resolves the decompressed XPS data on an element-by-element basis in the XPS markup; provides each element to XPS element analyzer119; and causes XPS element analyzer119to generate intermediate data through its processing.

Markup compatibility analyzer118performs compatibility securing processing for implementing the markup compatibility function on each element provided from XPS markup resolver117.

XPS element analyzer119generates the intermediate data by performing a language analysis on: each element resolved by XPS markup resolver117; and each element subjected to the compatibility securing processing by markup compatibility analyzer118.

FIG. 3is a block diagram schematically showing the configuration of host PC130. Host PC130includes input unit131, display unit132, controller133, IF unit142, and storage unit143.

Input unit131receives an instruction. Display unit132displays an image. Controller133generates the XPS data in accordance with the instruction from the input unit131. IF unit142executes communication with printer110. Storage unit143stores information needed for controller133to performs its processing.

Controller133includes application section134and driver section135. Application section134generates print target data such as document data, and generates a spool file from the print target data in accordance with the instruction from input unit131. The spool file is temporary data copied from the print target data, which application section134transfers to driver section135. Driver section135generates the XPS data adaptable to printer110. For example, driver section135generates the XPS data from the spool file generated by application section134. Driver section135includes: XPS data generator136as a section for generating image formation data; XPS data decompressor137as a section for data decompression; markup compatibility detector138as a section for detecting a compatibility securing description; PrintTicket updater139as a section for updating the setting data; XPS data compressor140as a section for data compression; and data transmitter141as a section for data output. In this respect, XPS data decompressor137, markup compatibility detector138, PrintTicket updater139and XPS data compressor140collectively constitute an image formation data updating section.

XPS data generator136generates the XPS data from the spool file provided by application section134. XPS data decompressor137decompresses the XPS data which is compressed using Zip. In this respect, the thus-decompressed XPS data is referred to as decompressed temporary XPS data. Markup compatibility detector138checks whether or not a markup compatibility description, or in other words, a description for securing the compatibility of the version of the XPS data, exists in a group of files in the decompressed temporary XPS data. PrintTicket updater139updates a PrintTicket file. For example, if markup compatibility detector138judges that the markup compatibility description exists in the group of files in the decompressed temporary XPS data, PrintTicket updater139additionally writes the enabling instruction for enabling the compatibility securement function in the PrintTicket file. On the other hand, if markup compatibility detector138judges that no markup compatibility description exists in the group of files in the decompressed temporary XPS data, PrintTicket updater139additionally writes the disabling instruction for disabling the compatibility securement function in the PrintTicket file. After PrintTicket updater139updates the PrintTicket file, XPS data compressor140generates the XPS data by compressing the decompressed temporary XPS data using Zip. The thus-generated XPS data is referred to as XPS data with a compatibility instruction. Data transmitter141transmits the XPS data generated by XPS data compressor140to printer110via IF unit142.

Print system100described above can be realized, for example, by using a general computer including: a CPU (Central Processing Unit); a memory; an external storage device such as a HDD (Hard Disk Drive); a reading/writing device for reading and writing information from or onto a portable storage medium such as a CD (Compact Disk) or a DVD (Digital Versatile Disk); input devices such as a keyboard and a mouse; an output device such as a display; and a communication device, such as a NIC (Network Interface Card), for establishing connection to a communication network. For example, storage unit143can be realized by use of the memory or the external storage device by the CPU. Controller133can be implemented by loading a predetermined program stored in the external storage device or the memory, and causing the CPU to execute the predetermined program. Input unit131can be realized by use of the input devices by the CPU. Display unit132can be realized by use of the output device by the CPU. IF unit142can be realized by use of the communication device by the CPU. The predetermined program may be executed by the CPU after it is downloaded into the external storage device from the storage medium via the reading/writing device, or downloaded from the network via the communication device, and thereafter is loaded onto the memory. Otherwise, the predetermined program may be executed by the CPU after it is directly loaded into the memory from storage medium904via the reading/writing device, or from the network via the communication device. It should be noted that in the embodiment, driver section135, for example, can be implemented by causing the CPU to execute a printer driver (program) stored in storage unit143after loading the printer driver into the memory. In addition, application section134can be also implemented by causing the CPU to execute an application (program) stored in storage unit143after loading the application into the memory.

FIG. 4is a schematic diagram showing an example of the file composition of XPS data150as decompressed. XPS data150always includes [Content_Types].xml file150a, and _rles/.ries file150b. By analyzing these two files, printer110thereafter can judge which file should be analyzed and how. In the case of PrintTicket file, where PrintTicket should be stored is described in [Content_Types].xml file150a. With reference to the print setting, printer110first of all analyzes the PrintTicket file. XPS data150includes an image data file and a font file in their original file formats. The image data file and the font file correspond to image data that represents an image to be formed.

FIG. 5is a schematic diagram showing an example of the markup compatibility description by XPS markup. For example, the description shown inFIG. 5is part of the description in 1.fpage file150cwhich is shown inFIG. 4. Instead, the description shown inFIG. 5may be written in another file.

An element denoted by reference sign M10is an XPS element “Circles.” A description denoted by reference sign M20is a namespace for expressing markup compatibility.

A description denoted by reference sign M30specifies that an element defined by a namespace “aaa” always has to be analyzable.

A description denoted by reference sign M40specifies that an element defined by a namespace “v2” may be ignored if the element is not analyzable.

A description denoted by reference sign M50is an element “Watermark” corresponding to a namespace which is defined by the description denoted by reference sign M30. On the basis of the description denoted by reference sign M30, this element always has to be analyzable. If printer110is unable to analyze this element, printer110has to define the XPS data as an error.

A description denoted by reference sign M60is an element “Blink” corresponding to a namespace which is defined by the description denoted by reference sign M40. On the basis of the description denoted by reference sign M40, printer110may ignore this element if printer110is unable to analyze the element.

An element denoted by reference sign M70includes a Choice element denoted by reference sign M80, and a Fallback element denoted by reference sign M90. A description denoted by reference sign M70specifies that: if printer110is able to interpret the namespace “v2,” printer110analyzes the Choice element denoted by reference sign M80; and if printer110is unable to interpret the namespace “v2,” printer110analyzes the Fallback element denoted by reference sign M90.

Explanation is hereinbelow provided for operations of the print system100of Embodiment 1.

FIG. 6is a flowchart showing the processing performed by driver section135of the host PC of Embodiment 1. Once a print instruction is received (an image formation instruction) from the user via input unit131, application section134generates the spool data, and provides this spool data to driver section135.

Driver section135receives the spool data from application section134(S10). On the basis of the received spool data, XPS data generator136generates the XPS data (S11).

XPS data decompressor137generates the decompressed temporary XPS data by decompressing the XPS data which is compressed by XPS data generator136(S12).

Markup compatibility detector138searches files included in the decompressed temporary XPS data, generated by XPS data decompressor137, for a markup compatibility description (S13). For example, if a namespace “http://schemas.openxmlformats.org/markup-compatibility/2006” is included in any one of the files, markup compatibility detector138judges that the markup compatibility description is included therein. In this respect, markup compatibility detector138searches all the files included in the decompressed temporary XPS data, except the image data file and the font data file. Thereafter, if the result of the search (S13) is that the markup compatibility description is included therein (Yes in S14), markup compatibility detector138proceeds to a process in step S15. If no markup compatibility description is included therein (No in S14), markup compatibility detector138proceeds to a process in step S16.

In step S15, PrintTicket updater139adds a description indicating the enable instruction for enabling the markup compatibility function to the PrintTicket file in the decompressed temporary XPS data. For example, PrintTicket updater139adds the description shown inFIG. 7Ato the PrintTicket file.

On the other hand, in step S16, PrintTicket updater139adds a description indicating the disable instruction for disabling the markup compatibility function to the PrintTicket file in the decompressed temporary XPS data. For example, PrintTicket updater139adds the description shown inFIG. 7Bto the PrintTicket file.

Thereafter, XPS data compressor140generates the XPS data by compressing the decompressed temporary XPS data, in which the PrintTicket file is updated, by using Zip (S17). DATA transmitter141transmits the XPS data generated by XPS data compressor140to printer110via IF unit142(S18).

FIG. 8is a flowchart showing processing performed by printer110. Once the XPS data is received via IF unit111(S20), data receiver112of printer110stores the received XPS data into data storage unit113.

XPS data decompressor115generates the decompressed XPS data by decompressing the XPS data stored in data storage unit113(S21).

PrintTicket analyzer116checks whether or not the PrintTicket file exists in any of the files included in the decompressed XPS data (S22). If the PrintTicket file exists in any of the files included in the decompressed XPS data (Yes in S22), PrintTicket analyzer116proceeds to the process in step S23. If the PrintTicket file does not exist in any of the files included in the decompressed XPS data (No in S22), PrintTicket analyzer116proceeds to the process in step S25.

In step S23, PrintTicket analyzer116checks whether or not the PrintTicket file includes either one of an instruction for enabling the markup compatibility function, or an instruction for disabling the markup compatibility function. If the PrintTicket file includes one of the instructions (Yes in step S23), PrintTicket analyzer116proceeds to the process in step S24. If the PrintTicket file does not include any of the instructions (No in step S23), PrintTicket analyzer116proceeds to the process in step S25.

In step S24, PrintTicket analyzer116checks which of the enabling instruction (On) and the disabling instruction (Off) is indicated by the instruction for the markup compatibility function in the PrintTicket file. In this respect, if the description as shown inFIG. 7Aexists in the PrintTicket file, PrintTicket analyzer116judges that this description indicates the enable instruction. If the description as shown inFIG. 7Bexists in the PrintTicket file, PrintTicket analyzer116judges that this description indicates the disable instruction. Thereafter, in the case of the enable instruction (On in step S24), PrintTicket analyzer116proceeds to the process in step S25. In the case of the disable instruction (Off in step S24), PrintTicket analyzer116proceeds to the process in step S26.

In step S25, in the markup compatibility enabled mode, XPS markup resolver117makes markup compatibility analyzer118and XPS element analyzer119perform the markup analysis as well as generate the intermediate data. The processing in this respect is described shortly in detail with reference toFIG. 9.

On the other hand, in step S26, in the markup compatibility disabled mode, XPS markup resolver117makes XPS element analyzer119perform the markup analysis and generate the intermediate data. The processing in this respect is described in detail later with reference toFIG. 10.

Thereafter, print image generator120generates the print image from the intermediate data provided by XPS markup resolver117(step S27). Subsequently, print unit121performs the printing on the basis of the print image generated by print image generator120(step S28).

FIG. 9is a flowchart showing the analytical processing to be performed in the markup compatibility enabled mode. XPS markup resolver117resolves the XPS markup description on an element-by-element basis (step S30). Subsequently, XPS markup resolver117provides each resolved element to markup compatibility analyzer118, and requests markup compatibility analyzer118to perform the analysis (step S31).

Markup compatibility analyzer118checks whether or not each resolved element includes the namespace defined as markup compatibility (step S32). For example, markup compatibility analyzer118checks whether or not there exists an element including the namespace denoted by reference sign M30or M40, as explained by use ofFIG. 5.

Thereafter, markup compatibility analyzer118checks whether or not the element which includes the namespace defined as markup compatibility is subjected to the assignment of an Ignorable attribute, for example, as denoted by reference sign M90inFIG. 5(step S33). In the case of the element to which the Ignorable attribute is assigned, markup compatibility analyzer118judges whether to ignore the element by checking the version supported by printer110to which markup compatibility analyzer118belongs. Subsequently, if markup compatibility analyzer118judges not to ignore the element, markup compatibility analyzer118treats the element as an analysis target element. In addition, markup compatibility analyzer118treats the element specified as always having to be analyzed, and as the analysis target element as well.

Furthermore, markup compatibility analyzer118checks whether or not the resolved elements include elements one of which should be alternatively selected, as denoted by reference sign M70inFIG. 5. Subsequently, markup compatibility analyzer118performs a markup compatibility process on the elements to be alternatively selected (step S34). Markup compatibility analyzer118checks which of the two elements should be selected, and treats the selected element as the analysis target element. For example, in the case of an element “AlternateContent” denoted by reference sign M70inFIG. 5, if the namespace “v2” can be analyzed with the version supported by printer110to which markup compatibility analyzer118belongs, markup compatibility analyzer118treats the element denoted by reference sign M80as the analysis target element. If the namespace “v2” cannot be analyzed with the version, markup compatibility analyzer118treats the element denoted by reference sign M90as the analysis target element.

Markup compatibility analyzer118provides XPS element analyzer119with the element which markup compatibility analyzer118judges as the analysis target element in steps S32to S34, and requests XPS element analyzer119to analyze the analysis target element (step S35).

If the element thus provided includes a namespace, XPS element analyzer119checks whether or not the namespace is analyzable (step S36). In addition, XPS element analyzer119checks whether or not the XPS markup description included in the provided element is analyzable (step S37). Subsequently, XPS element analyzer119analyzes the provided element, and generates the intermediate data which print image generator120can interpret (step S38). Incidentally, if XPS element analyzer119judges that XPS element analyzer119cannot perform the analyses in steps S36and S37, XPS element analyzer119performs a predetermined error process. If XPS element analyzer119performs such an error process, XPS element analyzer119generates no intermediate data. As a consequence, no printing is carried out on the basis of the received XPS data.

XPS element analyzer119provides markup compatibility analyzer118with the generated intermediate data as the analytical result (step S39). Markup compatibility analyzer118provides XPS markup resolver117with this intermediate data as the analytical result (step S40).

FIG. 10is a flowchart showing the analytical processing to be performed in the markup compatibility disabled mode. XPS markup resolver117resolves the XPS markup description on an element-by-element basis (step S50). XPS markup resolver117provides each resolved element to XPS element analyzer119, and requests XPS element analyzer119to perform an analysis (step S51).

If the provided element includes a namespace, XPS element analyzer119checks whether or not the namespace is analyzable (step S52). In addition, XPS element analyzer119checks whether or not the XPS markup description included in the provided element is analyzable (step S53). Subsequently, XPS element analyzer119analyzes the provided element, and generates intermediate data which print image generator120can interpret (step S54). Incidentally, if XPS element analyzer119judges that XPS element analyzer119cannot perform the analyses in steps S52and S53, XPS element analyzer119performs a predetermined error process. If XPS element analyzer119performs such an error process, XPS element analyzer119generates no intermediate data. For this reason, no printing is carried out on the basis of the received XPS data.

XPS element analyzer119provides XPS markup resolver117with the generated intermediate data as the analytical result (step S55).

FIG. 11is a table showing the results of measuring the amount of time spent to perform the processing on the XPS data, which includes no markup compatibility description, in the markup compatibility enabled mode and in the markup compatibility disabled mode. Although the amount of time spent to perform the processing varies from one dataset to another, the markup compatibility disabled mode performs the processing at a faster speed by approximately 7.8% on average than the processing in the markup compatibility enabled mode, as shown inFIG. 11. It should be noted that although the amount of time spent to perform the processes (in steps S12to S17), which are to be additionally processed by host PC130, in the flowchart shown inFIG. 6depends on the performance of host PC130, the influence of the amount of time is negligible. That is because the frequency of a CPU of a commercially-available personal computer is generally 100 or more times faster than the frequency of the CPU of printer110.

As described above, Embodiment 1 enables host PC130to check whether or not the XPS data includes the markup compatibility description, and to inform printer110of the result of the check by use of the PrintTicket file. For this reason, if the XPS data includes no markup compatibility description, printer110can perform the markup analysis while disabling the markup compatibility function. This makes it possible to increase the processing speed on the XPS data. In addition, this reduces the process load on printer110and a power-saving effect of printer110is also expected.

Embodiment 2 shows a case in which XPS data is directly printed by using no printer driver.

FIG. 12is a block diagram schematically showing the configuration of printer210of Embodiment 2. Printer210includes IF unit111, data receiver112, data storage unit113, XPS data analyzer214, print image generator120, print unit121, setting unit222, and function setting storage unit223. Printer210of Embodiment 2 is different from printer110of Embodiment 1 in terms of a process by XPS data analyzer214, and in that printer210of Embodiment 2 includes setting unit222and function setting storage unit223.

Setting unit222receives settings of an operational mode of the markup compatibility function. For example, setting unit222may include a touch panel and the like. Setting unit222receives the operational mode by, for example, displaying markup compatibility operational mode setting menu screen251as shown inFIG. 13.FIG. 13is a schematic diagram showing an example of markup compatibility operational mode setting menu screen251. Markup compatibility operational mode setting menu screen251includes Enable input area251aand Disable input area251b. Once the user of printer210touches Enable input area251a, setting unit222judges that a setting of the markup compatibility enabled mode for enabling the markup compatibility function is inputted, and makes function setting storage unit223store function setting information indicating the operational mode. It should be noted that in the embodiment, the setting provided in the PrintTicket file is prioritized over the operational mode which setting unit222receives. Function setting storage unit223stores the function setting information on which of the markup compatibility enabled mode and the markup compatibility disabled mode XPS data analyzer214should be operated in.

XPS data analyzer214analyzes the XPS data stored in the data storage unit113and generates from the XPS data intermediate data which print image generator120can interpret. In this respect, XPS data analyzer214includes XPS data decompressor115, PrintTicket analyzer216, XPS markup resolver117, markup compatibility analyzer118, and XPS element analyzer119. XPS data analyzer214of Embodiment 2 is different from XPS data analyzer114of Embodiment 1 in terms of the processing to be performed by PrintTicket analyzer216.

PrintTicket analyzer216analyzes the PrintTicket file, and thereby judges whether to enable or disable the markup compatibility function. For example, PrintTicket analyzer216analyzes whether or not the PrintTicket file exists in the decompressed XPS data. In addition, PrintTicket analyzer216analyzes whether or not the PrintTicket file includes an enable instruction for enabling a compatibility securement function or a disable instruction for disabling the compatibility securement function. If the PrintTicket file includes the enabling instruction, PrintTicket analyzer216judges that the markup compatibility function should be enabled. On the other hand, if no PrintTicket file exists in the decompressed XPS data, or if the PrintTicket file includes neither the enable instruction nor the disable instruction, PrintTicket analyzer216checks the operational mode stored in function setting storage unit223, and judges whether to enable or disable the markup compatibility function in accordance with the operational mode. Furthermore, if the PrintTicket file includes the disable instruction, PrintTicket analyzer216judges that the markup compatibility function should be disabled.

FIG. 14is a block diagram schematically showing the configuration of host PC230of Embodiment 2. Host PC230includes input unit131, display unit132, controller233, IF unit142, and storage unit143. Host PC230of Embodiment 2 is different from host PC130of Embodiment 1 in terms of the processing to be performed by controller233.

Controller233generates XPS data in accordance with an instruction from input unit131. In this respect, controller233of Embodiment 2 is different from controller133of Embodiment 1 in that: controller233includes no driver section; and application section234generates the XPS data. Application section234generates print target data, such as document data, and generates a spool file from the print target data in accordance with the instruction from input unit131, as well as generates the XPS data from this spool file.

Descriptions are hereinbelow provided for operations of print system200of Embodiment 2.

FIG. 15is a flowchart showing the processing performed by application section234of host PC230of Embodiment 2.

Once a print instruction (an image formation instruction) is received from the user via input unit131, application section234generates the spool data from the document data or the like which is designated as the print target, and generates the XPS data on the basis of this spool data (step S60). Subsequently, application section234transmits the generated XPS data to printer210via IF unit142(step S61).

FIG. 16is a flowchart showing the processing to be performed by printer210. Once data receiver112of printer210receives the XPS data via IF unit111(step S70), data receiver122makes data storage unit113store the received XPS data.

XPS data decompressor115generates decompressed XPS data by decompressing the XPS data stored in data storage unit113(step S71).

PrintTicket analyzer216checks whether or not the PrintTicket file exists in any of the files included in the decompressed XPS data (step S72). If the PrintTicket file exists in any of the files included in the decompressed XPS data (Yes in step S72), PrintTicket analyzer216proceeds to the process in step S73. If the PrintTicket file does not exist in any of the files included in the decompressed XPS data (No in step S72), PrintTicket analyzer216proceeds to the process in step S75.

In step S73, PrintTicket analyzer216checks whether or not the PrintTicket file includes any one of an instruction for enabling the markup compatibility function and an instruction for disabling the markup compatibility function. If the PrintTicket file includes one of the instructions (Yes in step S73), PrintTicket analyzer216proceeds to a process in step S74. If the PrintTicket file does not include any of the instructions (No in step S73), PrintTicket analyzer216proceeds to the process in step S75.

In step S74, PrintTicket analyzer216checks which of the enable instruction (On) and the disable instruction (Off) is indicated by the instruction for the markup compatibility function in the PrintTicket file. In the case of the enable instruction (On in step S74), PrintTicket analyzer216proceeds to the process in step S76. In the case of the disable instruction (Off in step S74), PrintTicket analyzer216proceeds to the process in step S77.

In step S75, PrintTicket analyzer216checks the function setting information which is stored in function setting storage unit223. If the operational mode specified by the function setting information is Enable (the markup compatibility enabled mode), PrintTicket analyzer216proceeds to the process in step S76. If the operational mode specified by the function setting information is Disable (the markup compatibility disabled mode), PrintTicket analyzer216proceeds to the process in step S77.

In step76, in the markup compatibility enabled mode, XPS markup resolver117makes markup compatibility analyzer118and XPS element analyzer119perform a markup compatibility analysis and generate intermediate data. The processing in this respect is the same as that shown inFIG. 9.

In step77, in the markup compatibility disabled mode, XPS markup resolver117makes markup compatibility analyzer118and XPS element analyzer119perform the markup compatibility analysis and generate the intermediate data. The processing in this respect is the same as that shown inFIG. 10.

Subsequently, print image generator120generates a print image from the intermediate data provided by XPS markup resolver117(step S78). Thereafter, print unit121performs the printing on the basis of the print image generated by print image generator120(step S79).

As described above, print system200of Embodiment 2 makes it possible to provide printer210with the settings for the markup compatibility operation in advance. This enables faster printing by performing the printing in the markup compatibility disabled mode in the case of direct printing, which uses no printer driver having a function of making a judgment on the existence of the markup compatibility.

Although in Embodiments 1 and 2, printers110,210are cited as examples of the image formation apparatus, the invention can be applied to MFPs, facsimiles and copying apparatuses as well, if they are apparatuses capable of processing the XPS data.

In addition, although the operation panel is cited in Embodiment 2 as an example of the method of setting the markup compatibility operational mode on printer210, the settings can be made by use of a communication apparatus having software which enables the communication apparatus to execute communication with the printer.