JP2010128962A - Information processing apparatus, method of controlling the same, printing control system, and program - Google Patents

Information processing apparatus, method of controlling the same, printing control system, and program Download PDF

Info

Publication number
JP2010128962A
JP2010128962A JP2008305097A JP2008305097A JP2010128962A JP 2010128962 A JP2010128962 A JP 2010128962A JP 2008305097 A JP2008305097 A JP 2008305097A JP 2008305097 A JP2008305097 A JP 2008305097A JP 2010128962 A JP2010128962 A JP 2010128962A
Authority
JP
Japan
Prior art keywords
data
file
printer
print
print target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008305097A
Other languages
Japanese (ja)
Inventor
Noriaki Sakai
紀明 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon IT Solutions Inc
Original Assignee
Canon IT Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon IT Solutions Inc filed Critical Canon IT Solutions Inc
Priority to JP2008305097A priority Critical patent/JP2010128962A/en
Publication of JP2010128962A publication Critical patent/JP2010128962A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a mechanism for enabling even a printer with a small amount of memory to appropriately print archive data (XPS data) including resource files. <P>SOLUTION: In a host computer 100 communicatively connected with a printer 200, a CPU 101 acquires archive data including a file of print data (FP) describing information about a page to be printed by the printer 200 and resource files referred to from FP, divides the FP file, reflects divided FP files in the archive data, and includes information on the number of references from FP to the resource files in the archive data. The FP file is divided according to the information on the number of references. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、プリンタと通信可能に接続された情報処理装置及びその制御方法、情報処理装置とプリンタとを含み構成される印刷制御システム、並びに、情報処理装置の制御方法をコンピュータに実行させるためのプログラムに関する。   The present invention relates to an information processing apparatus communicably connected to a printer and a control method thereof, a print control system including the information processing apparatus and the printer, and a computer for executing the control method of the information processing apparatus. Regarding the program.

パーソナルコンピュータ(以下、「PC」と称する)等の情報処理装置は、キーボード入力や画像出力といった入出力機能や、ディスク或いはメモリの管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供する。そして、このような機能を提供するために、情報処理装置には、コンピュータシステム全体を管理するソフトウェアであるオペレーティングシステム(以下、「OS」と称する)が存在する。このOSとしては、例えば、Microsoft社製のWindows(登録商標)_XPや、Windows_2000、Windows_Vistaなどが挙げられる。   An information processing apparatus such as a personal computer (hereinafter referred to as “PC”) is a basic information that is commonly used by many application software such as input / output functions such as keyboard input and image output, and disk or memory management. Provide functionality. In order to provide such a function, an information processing apparatus has an operating system (hereinafter referred to as “OS”) that is software for managing the entire computer system. Examples of this OS include Windows (registered trademark) _XP, Windows_2000, Windows_Vista, etc., manufactured by Microsoft Corporation.

また、PC等の情報処理装置を用いてユーザが各種の文書を閲覧できるように様々な文書ファイルフォーマットが存在するが、その1つに、XML_Paper_Specification(以下、「XPS」と称する)という文書ファイルフォーマットがある。ここで、前述したWindows_Vistaでは、XPSが、文書ファイルフォーマットとしてのみでなく印刷スプールファイルのフォーマットとしても利用される。なお、XPSのフォーマットに従ったデータを「XPSデータ」、データがXPS形式のファイルを「XPSファイル」と称する。また、XML(Extensible Markup Language)とは、文書やデータの意味や、構造を記述するためのマークアップ言語の1つであり、構造化文書と呼ばれる。構造化文書は他には、HTMLやSGMLなどがある。   There are various document file formats that allow a user to browse various documents using an information processing apparatus such as a PC. One of them is a document file format called XML_Paper_Specification (hereinafter referred to as “XPS”). There is. Here, in the above-mentioned Windows_Vista, XPS is used not only as a document file format but also as a print spool file format. Note that data according to the XPS format is referred to as “XPS data”, and a file whose data is in the XPS format is referred to as “XPS file”. XML (Extensible Markup Language) is one of markup languages for describing the meaning and structure of documents and data, and is called a structured document. Other structured documents include HTML and SGML.

ここで、PC等の情報処理装置とプリンタなどの出力装置と備えるシステムにおいて、印刷を実施する場合、通常、アプリケーションは、ユーザからの印刷実行命令を受けると、アプリケーションが起動しているOS、及び、当該OSが提供する印刷システムに応じた印刷命令の発行処理を行う。   Here, when printing is performed in a system including an information processing device such as a PC and an output device such as a printer, when an application receives a print execution command from a user, an OS that is running the application, and Then, a printing command issuance process corresponding to the printing system provided by the OS is performed.

例えば、前述したWindows_XPやWindows_2000などのOS上で起動しているアプリケーションは、当該OSが提供するGDIプリントパスと呼ばれる印刷システムの形式に従って印刷命令を発行する。ここで、GDIとは、Graphics_Device_Interfaceの略称である。一方、前述したWindows_Vistaにおいては、前述したGDIプリントパスに加えて、XPSプリントパスと呼ばれる印刷システムが新たに提供されている。   For example, an application running on an OS such as Windows_XP or Windows_2000 described above issues a print command in accordance with a print system format called a GDI print path provided by the OS. Here, GDI is an abbreviation for Graphics_Device_Interface. On the other hand, in Windows_Vista described above, a printing system called XPS print path is newly provided in addition to the GDI print path described above.

次に、XPSデータのフォーマットについて説明する。
XPSデータは、複数のファイルがZIP圧縮形式で1つのファイルに包含された形式を有するデータである。ここで包含されるファイルとしては、例えば、XMLファイル、JPEGファイル、PNGファイル、TIFFファイル、HD_Photoファイル、フォントファイルなどである。ここで、XMLとは、Extensible_Markup_Languageの略称であり、JPEGとは、Joint_Photographic_Experts_Groupの略称であり、PNGとは、Portable_Network_Graphicsの略称であり、TIFFとは、Tagged_Image_File_Formatの略称である。
Next, the format of XPS data will be described.
XPS data is data having a format in which a plurality of files are included in one file in the ZIP compression format. Examples of the file included here include an XML file, a JPEG file, a PNG file, a TIFF file, an HD_Photo file, and a font file. Here, XML is an abbreviation for Extensible_Markup_Language, JPEG is an abbreviation for Joint_Photographic_Experts_Group, PNG is an abbreviation for _, F is an abbreviation for _, and _ is an abbreviation for _, and _m is an abbreviation for _, and

ここで、前述したXMLファイルには、文書を形成するための各種の情報がXML形式で記述される。なお、記述される情報ごとに複数のXMLファイルに分割されている。ここで、XPSでは、1つの文書は、複数もしくは1つのドキュメントという括りから成り、1つのドキュメントは、複数もしくは1つのページという括りから成るといったように、1つの文書は、幾つかの括りに分割されて考えられている。   Here, in the XML file described above, various information for forming a document is described in the XML format. Each piece of information described is divided into a plurality of XML files. Here, in XPS, one document is divided into several bundles such that one document is composed of multiple or one document bundles, and one document is composed of multiple or one page bundles. Has been considered.

また、JPEG、PNG、TIFF、HD_Photoは、それぞれ、イメージを表現するためのフォーマットであり、以降、これらのファイルを総称して「イメージファイル」と称する。このイメージファイルやフォントファイルも、文書を構成するのに必要な数だけXPSデータに包含される。また、XPSデータに包含されるファイルを、それぞれ、「パーツ」と称する。つまり、1つのXPSデータには、複数のパーツが包含されている。   JPEG, PNG, TIFF, and HD_Photo are formats for representing an image, respectively, and these files are hereinafter collectively referred to as “image files”. These image files and font files are also included in the XPS data as many as necessary for composing the document. Each file included in the XPS data is referred to as a “part”. That is, one XPS data includes a plurality of parts.

図23は、XPSデータの構成のイメージの一例を示す模式図である。
ここで、XPSデータに包含された各パーツは、別のパーツへの参照を行うことができ、この参照を繰り返すことで全てのパーツが関係性を持つといった性質によって、1つの文書情報が形成される。以下、図23に示されるXPSデータに包含される各パーツについて説明を行う。
FIG. 23 is a schematic diagram showing an example of an image of the structure of XPS data.
Here, each part included in the XPS data can be referred to another part, and by repeating this reference, one part of the document information is formed due to the property that all parts are related. The Hereinafter, each part included in the XPS data shown in FIG. 23 will be described.

a)_rels/.rels:
文書の開始点となるパーツである。後述するb)FixedDocumentSequenceへの参照を有する。
a) _rels /. rels:
The part that is the starting point of the document. It has a reference to b) FixedDocumentSequence which will be described later.

b)FixedDocumentSequence(FDS):
1つの文書の構成情報が記述されるパーツである。後述するc)FixedDocumentへの参照を有する。なお、1つのデータは、複数のドキュメントを有することができる。即ち、FDSは、複数のFixedDocumentへの参照を有することができる。
b) Fixed Document Sequence (FDS):
It is a part in which configuration information of one document is described. C) has a reference to FixedDocument, described below. One data can include a plurality of documents. That is, the FDS can have references to multiple FixedDocuments.

c)FixedDocument(FD):
1つのドキュメントに存在する複数のページをページ順に並べて束ねるためのパーツである。即ち、1つのドキュメントの構成情報が記述されるパーツであり、後述するd)FixedPageへの参照を有する。なお、1つのドキュメントは、複数のページを有することができる。即ち、FDは、複数のFixedPageへの参照を有することができる。
c) Fixed Document (FD):
This is a part for arranging and bundling a plurality of pages existing in one document in page order. That is, it is a part in which configuration information of one document is described, and has a reference to d) FixedPage described later. One document can have a plurality of pages. That is, the FD can have references to multiple FixedPages.

d)FixedPage(FP):
1ページの描画内容が記述されたパーツである。必要に応じて、イメージファイルやフォントファイルへの参照を有することができる。例えば、当該ページにイメージの描画が存在する場合には、当該イメージファイルへの参照を有することになる。
d) FixedPage (FP):
It is a part that describes the drawing contents of one page. You can have references to image files and font files as needed. For example, if there is an image drawing on the page, it will have a reference to the image file.

e)FixedPage.rels(FP.rels):
d)FixedPageに関連するパーツへの参照情報が記述されたパーツである。参照先としては、例えば、イメージファイル、フォントファイル、印刷設定情報が記述された後述するプリントチケットファイルなどである。このFP.relsは、1FixedPageにつき1つ存在する、もしくはFP.rels自体が存在しない。
e) FixedPage. rels (FP.rels):
d) A part in which reference information to parts related to the FixedPage is described. The reference destination is, for example, an image file, a font file, a print ticket file to be described later in which print setting information is described, or the like. This FP. rels is one per FixedPage, or FP. rels itself does not exist.

f)プリントチケット:
予め定義されたXMLスキーマの形式に従って記述された印刷条件の設定が記述されたファイルである。以下、印刷設定を行うために予め定義されたXMLスキーマの形式を「プリントスキーマ」と称し、印刷スキーマに従って印刷条件が記述されているXMLファイルを「プリントチケット」と称する。
f) Print ticket:
This is a file in which settings of printing conditions described according to a predefined XML schema format are described. Hereinafter, an XML schema format defined in advance for performing print settings is referred to as a “print schema”, and an XML file in which printing conditions are described according to the print schema is referred to as a “print ticket”.

図24は、図23に示すXPSデータに包含される各パーツの参照関係の論理的構造の一例を示す模式図である。また、図25は、XMLファイルの記述に基づいた参照関係の一例を示す模式図である。   FIG. 24 is a schematic diagram showing an example of the logical structure of the reference relationship of each part included in the XPS data shown in FIG. FIG. 25 is a schematic diagram showing an example of a reference relationship based on the description of the XML file.

次に、プリントチケットの詳細について説明する。
図26は、XMLファイルの記述に基づいたプリントチケットの一例を示す模式図である。
Next, details of the print ticket will be described.
FIG. 26 is a schematic diagram showing an example of a print ticket based on the description of the XML file.

プリントチケットのルートタグは、図26に示す<PrintTicket>である。このルートタグの子要素に、<Feature>タグが存在する。この<Feature>タグは、必須属性として、"name"を持つ。この"name"の値は、印刷対象プリンタの機能を示し、例えば、ページサイズ指定機能用の値が存在する。なお、この"name"の値は、プリントスキーマに定義されている値を使用してもよいし、ベンダが独自に定義した値を使用してもよい。また、プリントスキーマが所属するXML名前空間は、"http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework"と、"http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords"である。   The route tag of the print ticket is <PrintTicket> shown in FIG. A <Feature> tag exists as a child element of the root tag. The <Feature> tag has “name” as an essential attribute. The value of “name” indicates the function of the printer to be printed. For example, there is a value for the page size designation function. As the value of “name”, a value defined in the print schema may be used, or a value uniquely defined by the vendor may be used. The XML namespace to which the print schema belongs is “http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework” and “http://schemas.microsoft. 08 / printing / printschemewords ".

また、<Feature>タグは、通常、子要素に<Option>タグを1つ持つ。この<Option>タグは、親要素である<Feature>タグで指定された機能の設定を示し、その属性として、<Feature>タグと同様、"name"を持ち、この属性値で機能を設定する。この際の属性値は、プリントスキーマまたはベンダ独自のスキーマで定義されている値が入る。例えば、上位の<Feature>タグが、ページサイズ指定機能であれば、"A4"といった値が入ることが予想される。通常、この<Option>タグは、1つの<Feature>タグの子要素として、1つしか存在しない。また、<Option>タグは、子要素に、<ScoredProperty>を持つ。この際、<Option>タグは、<ScoredProperty>を複数持つこともある。   In addition, the <Feature> tag usually has one <Option> tag as a child element. This <Option> tag indicates the setting of the function specified by the parent <Feature> tag, and has the attribute “name” as the <Feature> tag, and sets the function with this attribute value. . The attribute value at this time is a value defined in a print schema or a vendor-specific schema. For example, if the upper <Feature> tag is a page size designation function, a value such as “A4” is expected to be entered. Normally, there is only one <Option> tag as a child element of one <Feature> tag. Also, the <Option> tag has <ScoredProperty> as a child element. At this time, the <Option> tag may have a plurality of <ScoredProperty>.

<ScoredProperty>タグは、親要素である<Option>タグで指定された機能の設定の一部を示し、必須属性として、"name"を持ち、設定の一部を指定する。また、属性値には、プリントスキーマまたはベンダ独自のスキーマで定義されている値が入る。例えば、上位の<Option>タグが"A4"であれば、幅や高さといった値が入ることが予想される。この<ScoredProperty>タグは、子要素に、<Value>タグを1つ持つ。   The <ScoredProperty> tag indicates a part of the setting of the function specified by the <Option> tag that is the parent element, has “name” as a required attribute, and specifies a part of the setting. The attribute value includes a value defined in a print schema or a vendor-specific schema. For example, if the upper <Option> tag is “A4”, values such as width and height are expected to be entered. This <ScoredProperty> tag has one <Value> tag as a child element.

<Value>タグは、<ScoredProperty>タグの"name"属性で指定された内容の具体的な値が入る。例えば、上位の<ScoredProperty>タグの"name"属性値が幅であれば、"247000"と具体的な数値が入る。   The <Value> tag contains a specific value of the content specified by the “name” attribute of the <ScoredProperty> tag. For example, if the “name” attribute value of the upper <ScoredProperty> tag is a width, a specific numerical value such as “247000” is entered.

ところで、Windows_Vistaでは、XPSが、文書ファイルフォーマットとしてのみでなく印刷スプールファイルのフォーマットとしても利用できると前述したが、この際、前述したXPSプリントパスが使用される場合には、通常、OSが提供する印刷システムが自動で印刷スプールファイルをXPSファイルフォーマットの形式で生成する。ここで、ユーザが任意のXPSデータを作成してスプールすることも可能であり、また、後述するMXDWで作成されたXPSデータをスプールすることも可能である。   By the way, in Windows_Vista, it has been described that XPS can be used not only as a document file format but also as a format of a print spool file. In this case, when the above-described XPS print path is used, the OS usually provides The printing system that automatically generates a print spool file in the XPS file format. Here, it is possible for the user to create and spool arbitrary XPS data, and it is also possible to spool XPS data created by MXDW described later.

また、XPSデータをプリントデータとして利用する場合、ZIP圧縮されたデータがPC等の情報処理装置からネットワークを介してプリンタなどの出力装置に送信される。なお、この際、送信データ(XPSデータ)は、全てが一括で送られるのではなく、幾つかに分割されて出力装置に送られるのが一般的である。そして、出力装置では、XPSデータを受信する処理を行った後、印刷処理を実施するために、受信したXPSデータを解析する処理を行う。なお、通常、出力装置は、受信処理と、既に受信済みのXPSデータの解析処理を並行して行うことが可能である。   When XPS data is used as print data, ZIP-compressed data is transmitted from an information processing device such as a PC to an output device such as a printer via a network. At this time, transmission data (XPS data) is generally not sent all at once, but is generally divided into several parts and sent to an output device. Then, the output device performs processing for analyzing the received XPS data in order to perform printing processing after performing processing for receiving XPS data. In general, the output device can perform reception processing and analysis processing of already received XPS data in parallel.

ところで、Windows_Vistaの機能の1つとして、Microsoft_XPS_Document_Writer(以下、「MXDW」と称する)なる、XPSファイルを生成するためのアプリケーションが存在する。このMXDWによって、XPSファイルを生成した場合、通常は、「_rels/.rels」の情報を有するファイルデータ部、「FixedDocumentSequence(FDS)」の情報を有するファイルデータ部、「FixedDocument(FD)」の情報を有するファイルデータ部、「FixedPage(FP)」の情報を有するファイルデータ部のデータは、それぞれ、図27のように、「FixedPage(FP)」→「FixedDocument(FD)」(2713、2714)→「FixedDocumentSequence(FDS)」(2715)→「_rels/.rels」(2716)の順序に並んで構成される。以降、この順序を「データ順」と称する。なお、図27は、MXDWが通常生成するXPSファイルのデータ順の一例を示す模式図である。   By the way, as one of the functions of Windows_Vista, there is an application for generating an XPS file called Microsoft_XPS_Document_Writer (hereinafter referred to as “MXDW”). When an XPS file is generated by this MXDW, normally, a file data part having information of “_rels / .rels”, a file data part having information of “Fixed Document Sequence (FDS)”, and information of “Fixed Document (FD)” As shown in FIG. 27, the data of the file data part having “FixedPage (FP)” and the data of the file data part having “FixedPage (FP)” are respectively “FixedPage (FP)” → “FixedDocument (FD)” (2713, 2714) → “FixedDocumentSequence (FDS)” (2715) → “_rels / .rels” (2716). Hereinafter, this order is referred to as “data order”. FIG. 27 is a schematic diagram showing an example of the data order of the XPS file normally generated by MXDW.

ここで、XPSデータをプリントデータとして利用する場合、前述した通り、XPSデータは、幾つかに分割されて出力装置に送信される。この際、前述したデータ順に並んだXPSデータでは、送信開始後、「FixedPage(FP)」、「FixedDocument(FD)」、「FixedDocumentSequence(FDS)」の情報を有するファイルデータ部が全て送信された後に、「_rels/.rels」の情報を有するファイルデータ部が出力装置に送信されることになる。   Here, when XPS data is used as print data, as described above, the XPS data is divided into several parts and transmitted to the output device. At this time, in the XPS data arranged in the above-mentioned data order, after the transmission is started, after all the file data parts having the information “FixedPage (FP)”, “FixedDocument (FD)”, and “FixedDocumentSequence (FDS)” are transmitted. , The file data portion having the information “_rels / .rels” is transmitted to the output device.

ここで、前述した通り、「_rels/.rels」は、文書の開始点となるパーツであるため、出力装置では、「_rels/.rels」の情報を有するファイルデータ部が受信されるまで、XPSデータの解析を開始できない。その結果、XPSデータの受信処理とXPSデータの解析処理と並行して行うことができず、全体としての印刷スループットが低下してしまう。なお、仮に、XPSデータの先頭に、「_rels/.rels」の情報を有するファイルデータ部があったとしても、次に、参照すべき「FixedDocumentSequence(FDS)」の情報を有するファイルデータ部が最後尾等にあるようなデータ順であった場合には、当該ファイルデータ部が受信されるまで、XPSデータの解析処理を中断せざるを得ず、この場合においても、全体としての印刷スループットが低下してしまう。   Here, as described above, since “_rels / .rels” is a part that is a starting point of a document, the output device receives the XPS until the file data portion having the information “_rels / .rels” is received. Data analysis cannot be started. As a result, XPS data reception processing and XPS data analysis processing cannot be performed in parallel, and the overall print throughput is reduced. Even if there is a file data part having information “_rels / .rels” at the beginning of XPS data, the file data part having information “FixedDocumentSequence (FDS)” to be referred to next is the last. If the data order is in the tail or the like, the XPS data analysis process must be interrupted until the file data portion is received. In this case, the overall print throughput is reduced. Resulting in.

ところで、XPSには、1つのパーツを複数のパーツに分割するインターリーブと呼ばれる仕様が存在し、MXDWの設定でインターリーブの仕様に則ったデータを作成することが可能である(例えば、非特許文献1、非特許文献2参照)。この仕様に即したXPSデータを「ピースデータ」と言う。つまり、XPSデータ内において、意味のある最小単位は「パーツ」であるが、物理的なデータとしての最小単位は「ピース」である。   By the way, there is a specification called interleaving that divides one part into a plurality of parts in XPS, and it is possible to create data in accordance with the interleaving specification by setting MXDW (for example, Non-Patent Document 1). Non-Patent Document 2). XPS data conforming to this specification is called “piece data”. That is, in XPS data, the meaningful minimum unit is “parts”, but the minimum unit as physical data is “pieces”.

通常のXPSデータをインターリーブの仕様に即したデータに変換することをインターリーブ化と呼ぶ。図28は、図25に示すXPSデータをインターリーブ化した際のパーツデータの一例を示す模式図である。図28に示すインターリーブ化では、次のパーツへの参照が存在するところまで各パーツを分割している。また、図29は、インターリーブ化した際のXPSデータの構成のイメージの一例を示す模式図である。また、図30は、インターリーブ化した際のXPSファイルのデータ順の一例を示す模式図である。   Converting normal XPS data into data conforming to the interleaving specification is called interleaving. FIG. 28 is a schematic diagram showing an example of part data when the XPS data shown in FIG. 25 is interleaved. In the interleaving shown in FIG. 28, each part is divided until a reference to the next part exists. FIG. 29 is a schematic diagram illustrating an example of an XPS data configuration when interleaved. FIG. 30 is a schematic diagram showing an example of the data order of the XPS file when interleaved.

ここで、図28に示すように分割した各パーツを、図30に示すように、各参照部の直後に参照先データが配置されるようなデータ順に並び替えることにより、前述した印刷スループットが低下する問題は解決可能である。なお、図28〜図30では、リレーションシップパーツとプリントチケットが省略されている箇所があるが、図を簡略しているだけであり、実際は存在している。例えば、/Documents/1/Page/1.fpageのリレーションシップパーツとそのリレーションシップパーツから参照されるプリントチケットは、図30の3003と3004との間に存在している。   Here, the above-described print throughput is reduced by rearranging the parts divided as shown in FIG. 28 in the order of data such that the reference destination data is arranged immediately after each reference part as shown in FIG. The problem to be solved is possible. In FIG. 28 to FIG. 30, there are places where the relationship parts and the print ticket are omitted, but the drawings are only simplified and actually exist. For example, / Documents / 1 / Page / 1. The relationship part of fpage and the print ticket referenced from the relationship part exist between 3003 and 3004 in FIG.

さて、図30に示すように各参照部の直後に参照先データが配置されるようなデータ順に並び替えることにより、印刷スループットが低下する問題が解決可能な理由としては、出力装置では解析すべきパーツの情報を有するファイルデータ部を順番に受信していくため、当該ファイルデータ部の受信後すぐに当該ファイルデータ部の解析処理を行うことが可能になるためである。   As shown in FIG. 30, the reason why the print throughput is reduced by rearranging the data in such a way that the reference destination data is arranged immediately after each reference unit can be solved by the output device. This is because the file data portion having the part information is received in order, so that the analysis processing of the file data portion can be performed immediately after receiving the file data portion.

例えば、図29に示す例では、出力装置は、2個に分割された「_rels/.rels」の1個目のパーツの情報を有するファイルデータ部を受信する。ここで、出力装置は、最初に当該パーツを解析する必要があるが、既に当該パーツの情報を有するファイルデータ部を受信済みであるため、すぐに当該パーツの解析を開始できる。   For example, in the example illustrated in FIG. 29, the output device receives a file data portion having information on the first part of “_rels / .rels” divided into two. Here, the output device needs to analyze the part first, but since it has already received the file data part having the information of the part, it can immediately start analyzing the part.

続いて、出力装置は、n個に分割された「FixedDocumentSequence(FDS)」の1個目のパーツの情報を有するファイルデータ部を受信する。ここで、出力装置は、次に当該パーツを解析する必要があるが、既に当該パーツの情報を有するファイルデータ部を受信済みであるため、すぐに当該パーツの解析を開始できる。   Subsequently, the output device receives a file data portion having information on the first part of “Fixed Document Sequence (FDS)” divided into n pieces. Here, the output device needs to analyze the part next, but since the file data part having the information of the part has already been received, the analysis of the part can be started immediately.

続いて、出力装置は、i個に分割された1つ目のドキュメントの構成情報が記述された「FixedDocument(FD)」の1個目のパーツの情報を有するファイルデータ部を受信する。ここで、出力装置は、次に当該パーツを解析する必要があるが、既に当該パーツの情報を有するファイルデータ部を受信済みであるため、すぐに当該パーツの解析を開始できる。   Subsequently, the output device receives the file data portion having the information of the first part of “Fixed Document (FD)” in which the configuration information of the first document divided into i pieces is described. Here, the output device needs to analyze the part next, but since the file data part having the information of the part has already been received, the analysis of the part can be started immediately.

続いて、出力装置は、1つ目のドキュメントの1ページ目のページ情報が記述された「FixedPage(FP)」の情報を有するファイルデータ部を受信する。ここで、出力装置は、次に当該パーツを解析する必要があるが、既に当該パーツの情報を有するファイルデータ部を受信済みであるため、すぐに当該パーツの解析を開始できる。その結果、1つ目のドキュメントの1ページ目の印刷を行うことができる。   Subsequently, the output device receives a file data portion having information of “FixedPage (FP)” in which page information of the first page of the first document is described. Here, the output device needs to analyze the part next, but since the file data part having the information of the part has already been received, the analysis of the part can be started immediately. As a result, the first page of the first document can be printed.

続いて、出力装置は、i個に分割された1つ目のドキュメントの構成情報が記述された「FixedDocument(FD)」の2個目のパーツの情報を有するファイルデータ部を受信する。ここで、出力装置は、次に当該パーツを解析する必要があるが、既に当該パーツの情報を有するファイルデータ部を受信済みであるため、すぐに当該パーツの解析を開始できる。   Subsequently, the output device receives a file data portion having information on the second part of “Fixed Document (FD)” in which the configuration information of the first document divided into i pieces is described. Here, the output device needs to analyze the part next, but since the file data part having the information of the part has already been received, the analysis of the part can be started immediately.

続いて、出力装置は、1つ目のドキュメントの2ページ目のページ情報が記述された「FixedPage(FP)」の情報を有するファイルデータ部を受信する。ここで、出力装置は、次に当該パーツを解析する必要があるが、既に当該パーツの情報を有するファイルデータ部を受信済みであるため、すぐに当該パーツの解析を開始できる。その結果、1つ目のドキュメントの2ページ目の印刷を行うことができる。   Subsequently, the output device receives a file data portion having information of “FixedPage (FP)” in which page information of the second page of the first document is described. Here, the output device needs to analyze the part next, but since the file data part having the information of the part has already been received, the analysis of the part can be started immediately. As a result, the second page of the first document can be printed.

以降、同様に、ファイルデータ部を受信後すぐに当該パーツの解析ができるようになり、印刷スループットが低下する問題は解決される。   Thereafter, similarly, the part can be analyzed immediately after receiving the file data portion, and the problem that the print throughput is reduced is solved.

次に、ZIP圧縮されたデータの構成及びデータの検索方法について説明する。   Next, the structure of the ZIP compressed data and the data search method will be described.

ZIP圧縮データには、Local_File_Headerやファイルデータと呼ばれるデータ部分が存在する。ここで、ファイルデータの直前には、必ず、Local_File_Headerが存在し、このLocal_File_Headerとファイルデータとの組によって、伸張データの1つのファイルの情報が構成される。言い換えると、Local_File_Headerとファイルデータとの1組によって、伸張データの1つのファイルを伸張することができる。以降、Local_File_Headerとファイルデータとの組を合わせて「ファイルデータ部」と称する。また、伸張データに複数のファイルが存在する場合には、ファイルデータ部が複数組列挙される。図31は、ZIP圧縮データの構成の一例を示す模式図である。   The ZIP compressed data has a data portion called Local_File_Header or file data. Here, there is always a Local_File_Header immediately before the file data, and a set of the Local_File_Header and the file data constitutes information of one file of the decompressed data. In other words, one file of decompressed data can be decompressed by one set of Local_File_Header and file data. Hereinafter, a combination of Local_File_Header and file data is collectively referred to as a “file data portion”. If there are a plurality of files in the decompressed data, a plurality of file data portions are listed. FIG. 31 is a schematic diagram showing an example of the configuration of the ZIP compressed data.

ところで、ZIP圧縮では、伸張データのディレクトリ構成を保持したままの圧縮が可能であるが、あるファイルが伸張データ時のディレクトリ構成では上位の階層に存在したとしても、圧縮時に当該ファイルを構成するファイルデータ部がデータの前方にあるとは限らない。言い換えると、伸張時のディレクトリ構成上の階層位置と圧縮時のファイルデータ部の位置に関連性はない。   By the way, in the ZIP compression, it is possible to perform compression while maintaining the directory structure of the decompressed data, but even if a certain file exists in the upper hierarchy in the directory structure at the time of decompressed data, the file that constitutes the file at the time of compression The data part is not always in front of the data. In other words, there is no relationship between the hierarchical position on the directory structure at the time of decompression and the position of the file data portion at the time of compression.

次に、XPSパーツ名が判明している場合、XPSからパーツデータを取得する方法について説明する。
図31に示すLocal_File_Headerの内部構造には、先頭データが"PK34"というバイナリデータであり、その後、既定の位置に当該Local_File_Headerと対になるファイルデータのデータ名とデータサイズが記述されている。よって、"PK34"というバイナリデータを先頭から順番に検索し、検索後、規定の位置に存在するファイルデータのデータ名を検索して取得・判定し、その結果、所望していたパーツデータでなければ、前記データサイズ分、後方に存在するLocal_File_Headerの"PK34"というバイナリデータを前回検索した位置から再度検索する。そして、上述した処理を目的のパーツデータを取得できるまで繰り返し行う。
Next, a method for acquiring part data from XPS when the XPS part name is known will be described.
In the internal structure of Local_File_Header shown in FIG. 31, the head data is binary data “PK34”, and then the data name and data size of the file data paired with the Local_File_Header are described at a predetermined position. Therefore, the binary data “PK34” is searched in order from the beginning, and after the search, the data name of the file data existing at the specified position is searched and acquired and determined. As a result, the part data must be the desired part data. For example, the binary data “PK34” of the Local_File_Header existing behind by the data size is searched again from the previously searched position. The above-described processing is repeated until the desired part data can be acquired.

XML Paper Specification(XPS Specification and Reference Guide)の「17.1 Interleaving Optimization」、インターネット<URL:http://www.ecma−international.org/memento/TC46−availabledocs.htm>からダウンロード可能な文献XML Paper Specification (XPS Specification and Reference Guide) “17.1 Interleaving Optimization”, Internet <URL: http: // www. ecma-international. org / memento / TC46-availabledocs. Documents that can be downloaded from htm> Office Open XML Part 2(Open Packaging Conventions)の「9.1.4 Interleaving」、インターネット<URL:http://www.ecma−international.org/publications/standards/Ecma−376.htm>からダウンロード可能な文献“9.1.4 Interleaving” of Office Open XML Part 2 (Open Packaging Convections), Internet <URL: http: // www. ecma-international. org / publications / standards / Ecma-376. Documents that can be downloaded from htm>

前述したMXDWで作成されたXPSファイル内のFixedPage(FP)が複数のイメージファイルを参照している場合、インターリーブ機能を使用して作成する/しないに関わらず、図32に示すように、FP(3210)よりも前方にイメージファイルが配置される。   When FixedPage (FP) in the XPS file created by MXDW refers to a plurality of image files, as shown in FIG. 32, regardless of whether or not created using the interleave function, FP ( The image file is arranged in front of 3210).

また、図33は、図32に示すFP(3210)の一例を示す模式図である。具体的に、図33には、図32のFP(3210)に示される「/Documents/1/Page/1.fpage」の内容が示されている。図33に示すように、FP(3210)は、「/Resource/Image/1.jpeg」を2度参照し、「/Resource/Image/2.jpeg」を1度参照し、「/Resource/Image/3.jpeg」を2度参照し、「/Resource/Image/4.jpeg」を1度参照している。そして、このようなデータがプリンタ(出力装置)に送信された場合、上述したイメージファイルをFixedPage(FP)の処理開始時まで保持しておかなければならず、記憶領域が少ないプリンタでは、印刷できない可能性がある。   FIG. 33 is a schematic diagram showing an example of the FP (3210) shown in FIG. Specifically, FIG. 33 shows the contents of “/Documents/1/Page/1.fpage” shown in the FP (3210) of FIG. As shown in FIG. 33, the FP (3210) refers to “/Resource/Image/1.jpeg” twice, refers to “/Resource/Image/2.jpeg” once, and “/ Resource / Image”. /3.jpeg "is referenced twice and" /Resource/Image/4.jpeg "is referenced once. When such data is transmitted to the printer (output device), the above-described image file must be held until the FixedPage (FP) processing starts, and printing cannot be performed with a printer having a small storage area. there is a possibility.

そこで、非特許文献1や非特許文献2に記載されているインターリーブをFixedPage(FP)に対しても適用し、図33に示すFPを、図34に示すようにイメージファイルを参照している箇所で分割し、直後に参照するイメージファイルを配置して、図35に示すようなXPSファイルを作成して、プリンタに送信するという方法が考えられる。この方法により、プリンタ側で、イメージファイルを受け取ると同時に処理を行い、処理の終了とともにイメージファイルを記憶領域から削除することで、記憶領域の少ないプリンタであっても印刷が可能になる。   Therefore, the interleaving described in Non-Patent Document 1 and Non-Patent Document 2 is also applied to FixedPage (FP), and the FP shown in FIG. 33 is referred to an image file as shown in FIG. It is possible to divide the image file and arrange an image file to be referred to immediately, create an XPS file as shown in FIG. 35, and send it to the printer. By this method, the printer side performs processing at the same time as receiving the image file, and deletes the image file from the storage area upon completion of the processing, so that even a printer with a small storage area can be printed.

しかしながら、この方法では、FPの分割数が増えることによる、ZIP圧縮ファイルの解凍処理の増加によるスループット(印刷速度)の低下が問題となる。また、FPから、同一のイメージファイルを複数回参照することが可能であるため、イメージファイルの参照箇所ごとに分割送信して、プリンタ側で処理終了ごとに消去するのであれば、図35に示す3507と3511のようにイメージファイルを複数回送信する必要があり、ネットワーク回線の伝送効率の低い場合、スループットの低下が問題となる。   However, with this method, there is a problem of a decrease in throughput (printing speed) due to an increase in the decompression processing of the ZIP compressed file due to an increase in the number of FP divisions. Further, since it is possible to refer to the same image file a plurality of times from the FP, if it is divided and transmitted for each reference location of the image file and deleted at the end of processing on the printer side, it is shown in FIG. When the image file needs to be transmitted a plurality of times as in 3507 and 3511 and the transmission efficiency of the network line is low, a decrease in throughput becomes a problem.

そこで、プリンタのメモリ上に参照するイメージファイルを一時的に記憶しておき、同一のイメージファイルについては、プリンタにおいて、必要に応じてメモリから読み出すようにする方法が考えられる。   Therefore, a method is conceivable in which an image file to be referred to is temporarily stored in the memory of the printer, and the same image file is read from the memory as needed by the printer.

しかしながら、この場合、例えば、メモリ容量が少ないローコストのプリンタにおいて、イメージファイルの多いXPSデータをダイレクト印刷する場合には、メモリオーバとなってしまうことが起こる。そして、メモリオーバになった場合、プリンタは、例えば、イメージファイルの解像度を落とすなどの処理を行って印刷を行うようにしてしまうため、ユーザの期待する適切な印刷物が得られないという問題があった。   However, in this case, for example, when XPS data having a large number of image files is directly printed in a low-cost printer having a small memory capacity, the memory may be over. When the memory is over, the printer, for example, performs processing such as reducing the resolution of the image file to perform printing, so that there is a problem that an appropriate printed matter expected by the user cannot be obtained. It was.

本発明は、このような問題点に鑑みてなされたものであり、メモリ容量の少ないプリンタであっても、リソースファイルを含むアーカイブデータ(XPSデータ)を適切に印刷処理することができる仕組みを提供することを目的とする。   The present invention has been made in view of such problems, and provides a mechanism that can appropriately print archive data (XPS data) including a resource file even in a printer having a small memory capacity. The purpose is to do.

本発明の情報処理装置は、プリンタと通信可能に接続された情報処理装置であって、ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含むアーカイブデータを取得するアーカイブデータ取得手段と、前記印刷対象データのファイルを分割する分割手段と、前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割手段により分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成手段とを有する。   An information processing apparatus according to the present invention is an information processing apparatus that is communicably connected to a printer. The information processing apparatus is referred to based on a page configuration data file in which document configuration information is described, and the page configuration data. An archive data acquisition unit for acquiring archive data including a file of print target data in which information of a page to be printed is described, and a resource file referred to based on the print target data, and a file of the print target data A division unit for dividing, an attribute information file for storing attributes used when printing the print target data, including a reference count for referring to the resource file by the print target data, and the division unit The print target data file, the page configuration data file, and the previous And a archive data generation means for generating an archive data including the resource file.

本発明の印刷制御システムは、情報処理装置とプリンタとで構成される印刷制御システムであって、前記情報処理装置は、ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含み構成されるアーカイブデータを取得するアーカイブデータ取得手段と、前記印刷対象データのファイルを分割する分割手段と、前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割手段により分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成手段とを有し、前記プリンタは、前記アーカイブデータ生成手段で生成されたアーカイブデータを順次受信する受信手段と、前記アーカイブデータに含まれる属性情報ファイルの参照回数に従って、前記受信手段で受信したアーカイブデータに含まれるリソースファイルの削除を行う削除手段とを有する。   A print control system according to the present invention is a print control system including an information processing apparatus and a printer, and the information processing apparatus includes a page configuration data file in which document configuration information is described, and the page configuration data. Data for obtaining archive data including a file of print target data referred to on the basis of information and a page of print target data described in the printer, and a resource file referred to based on the print target data An attribute for storing attributes used when printing the print target data, including an acquisition unit, a dividing unit for dividing the file of the print target data, and a reference count for referring to the resource file by the print target data; An information file and a file of the print target data divided by the dividing means. , Archive data generation means for generating archive data including the page configuration data file and the resource file, and the printer sequentially receives the archive data generated by the archive data generation means Receiving means; and deleting means for deleting the resource file included in the archive data received by the receiving means in accordance with the number of times the attribute information file included in the archive data is referenced.

本発明の情報処理装置の制御方法は、プリンタと通信可能に接続された情報処理装置の制御方法であって、ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含むアーカイブデータを取得するアーカイブデータ取得ステップと、前記印刷対象データのファイルを分割する分割ステップと、前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割ステップにより分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成ステップとを有する。   An information processing apparatus control method according to the present invention is a control method for an information processing apparatus that is communicably connected to a printer, and is based on a page configuration data file in which document configuration information is described and the page configuration data. An archive data acquisition step of acquiring archive data including a file of print target data referred to and describing information of a page to be printed in the printer, and a resource file referred to based on the print target data; A division step for dividing a file of print target data; an attribute information file for storing attributes used when printing the print target data, including a reference count for referring to the resource file with the print target data; The file to be printed divided by the dividing step, and the file It has a file over di configuration data and archive data generation step of generating an archive data including the resource file.

本発明のプログラムは、プリンタと通信可能に接続された情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含むアーカイブデータを取得するアーカイブデータ取得ステップと、前記印刷対象データのファイルを分割する分割ステップと、前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割ステップにより分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成ステップとをコンピュータに実行させるためのものである。   A program of the present invention is a program for causing a computer to execute a control method of an information processing apparatus connected to a printer so as to be communicable, a file of page configuration data in which document configuration information is described, and the page configuration Archive data acquisition step of acquiring archive data including a file of print target data referred to based on data and describing information of a page to be printed in the printer, and a resource file referred to based on the print target data An attribute information file for storing attributes used when printing the print target data, including a dividing step of dividing the file of the print target data, and a reference count for referring to the resource file with the print target data And the mark divided by the dividing step And file of the target data, and the file of the page configuration data is intended to be executed by a computer and archive data generation step of generating an archive data including the resource file.

本発明によれば、メモリ容量の少ないプリンタであっても、リソースファイルを含むアーカイブデータを適切に印刷処理することができる。   According to the present invention, even a printer with a small memory capacity can appropriately print archive data including a resource file.

以下に、図面を参照しながら、本発明を実施するための最良の形態(実施形態)について説明する。なお、以下に示す本発明の実施形態においては、複数のデータ(ファイル)を1つのデータ(ファイル)にまとめたアーカイブデータ(アーカイブファイル)として、XPSデータ(XPSファイル)を適用した例について説明する。   The best mode (embodiment) for carrying out the present invention will be described below with reference to the drawings. In the following embodiment of the present invention, an example in which XPS data (XPS file) is applied as archive data (archive file) in which a plurality of data (files) are combined into one data (file) will be described. .

図1は、本発明の実施形態に係る印刷制御システム10の概略構成の一例を示す模式図である。なお、本発明の実施形態に係る印刷制御システム10は、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、更には、LAN、WAN等のネットワークを介して接続がなされて処理が行われるシステムであっても、適用できる。即ち、図1に示す印刷制御システム10(以降の説明では、図1に示す印刷制御システムを「印刷制御システム10−1」とする)は、一例を示したものであり、用途や目的に応じて様々な構成例があることは言うまでもない。   FIG. 1 is a schematic diagram illustrating an example of a schematic configuration of a print control system 10 according to an embodiment of the present invention. The print control system 10 according to the embodiment of the present invention may be a single device or a system composed of a plurality of devices as long as the function of the present invention is executed. The present invention can also be applied to a system in which processing is performed by being connected via a network such as a WAN. In other words, the print control system 10 shown in FIG. 1 (in the following description, the print control system shown in FIG. 1 is referred to as “print control system 10-1”) is an example, and it depends on the application and purpose. Needless to say, there are various configuration examples.

図1に示す印刷制御システム10−1は、情報処理装置に相当するホストコンピュータ(クライアントコンピュータ)100と、出力装置(印刷装置)に相当するプリンタ200と、これらの装置を通信可能に接続するネットワーク300を有して構成されている。   A print control system 10-1 shown in FIG. 1 includes a host computer (client computer) 100 corresponding to an information processing apparatus, a printer 200 corresponding to an output apparatus (printing apparatus), and a network that connects these apparatuses so that they can communicate with each other. 300.

ホストコンピュータ100は、図1に示すように、CPU101、RAM102、ROM103、システムバス104、入力コントローラ(以下、「入力C」と称する)105、ビデオコントローラ(以下、「VC」と称する)106、メモリコントローラ(以下、「MC」と称する)107、通信インターフェース(以下、「通信I/F」と称する)108、キーボード(以下、「KB」と称する)109、CRTディスプレイ(以下、「CRT」と称する)110、及び、外部メモリ111を有して構成されている。   As shown in FIG. 1, the host computer 100 includes a CPU 101, a RAM 102, a ROM 103, a system bus 104, an input controller (hereinafter referred to as “input C”) 105, a video controller (hereinafter referred to as “VC”) 106, a memory. A controller (hereinafter referred to as “MC”) 107, a communication interface (hereinafter referred to as “communication I / F”) 108, a keyboard (hereinafter referred to as “KB”) 109, a CRT display (hereinafter referred to as “CRT”). ) 110 and an external memory 111.

CPU101は、ROM103或いは外部メモリ111に記憶されたプログラム等に基づいてシステムバス104に接続された各デバイスを制御して、当該ホストコンピュータ100における動作を統括的に制御する。   The CPU 101 controls each device connected to the system bus 104 based on a program or the like stored in the ROM 103 or the external memory 111, and controls the operation of the host computer 100 in an integrated manner.

RAM102は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して必要なプログラム等をRAM102にロードして、プログラムを実行することで各種の動作を実現する。   The RAM 102 functions as a main memory, work area, and the like for the CPU 101. The CPU 101 implements various operations by loading a program necessary for execution of processing into the RAM 102 and executing the program.

ROM103には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)、CPU101が本実施形態に係るホストコンピュータ100の機能を実現するために必要な各種のプログラム等が記憶されている。なお、これらのプログラムは、外部メモリ111に記憶されている態様であってもよい。また、本実施形態で使用するOSは、例えばWindows_Vista(Microsoft社製)を想定するが、これに限定されるものではない。   The ROM 103 includes a BIOS (Basic Input / Output System) and an operating system program (hereinafter referred to as OS), which are control programs for the CPU 101, and various programs necessary for the CPU 101 to realize the functions of the host computer 100 according to the present embodiment. Etc. are stored. Note that these programs may be stored in the external memory 111. The OS used in this embodiment is assumed to be, for example, Windows_Vista (manufactured by Microsoft), but is not limited to this.

システムバス104は、CPU101、RAM102、ROM103、入力C105、VC106、MC107及び通信I/F108を、相互に通信可能に接続する。   The system bus 104 connects the CPU 101, the RAM 102, the ROM 103, the input C105, the VC 106, the MC 107, and the communication I / F 108 so that they can communicate with each other.

入力C105は、KB109やマウス等のポインティングデバイス(不図示)からの入力を制御する。   The input C105 controls input from a pointing device (not shown) such as a KB 109 or a mouse.

VC106は、CRT110等の表示装置への表示を制御する。なお、表示装置は、CRTであっても、液晶ディスプレイ等のその他の表示装置であってもよい。   The VC 106 controls display on a display device such as the CRT 110. The display device may be a CRT or other display device such as a liquid crystal display.

MC107は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種のデータ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ111へのアクセスを制御する。   The MC 107 is connected via an adapter to a hard disk (HD), floppy disk (registered trademark FD) or PCMCIA card slot for storing a boot program, browser software, various applications, font data, user files, editing files, various data, and the like. To control access to an external memory 111 such as a compact flash (registered trademark) memory connected thereto.

通信I/F108は、ネットワーク300を介して、外部装置(図1に示す例では、プリンタ200)との通信を制御する。例えば、通信I/F108は、TCP/IPを用いたインターネット通信やプリンタ200との間でデータ送受信等が可能である。   The communication I / F 108 controls communication with an external device (in the example illustrated in FIG. 1, the printer 200) via the network 300. For example, the communication I / F 108 can perform Internet communication using TCP / IP and data transmission / reception with the printer 200.

なお、CPU101は、例えばRAM102内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT110上での表示を可能としている。また、CPU101は、CRT110上のマウスカーソル(不図示)等でのユーザ指示を可能とする。   Note that the CPU 101 enables display on the CRT 110 by executing outline font rasterization processing on a display information area in the RAM 102, for example. Further, the CPU 101 enables a user instruction with a mouse cursor (not shown) on the CRT 110.

プリンタ200は、CPU201、RAM202、ROM203、システムバス204、通信インターフェース(以下、「通信I/F」と称する)205、印刷部インターフェース(以下、「印刷部I/F」と称する)206、メモリコントローラ(以下、「MC」と称する)207、印刷部208、操作部209、及び、外部メモリ210を有して構成されている。   The printer 200 includes a CPU 201, a RAM 202, a ROM 203, a system bus 204, a communication interface (hereinafter referred to as “communication I / F”) 205, a printing unit interface (hereinafter referred to as “printing unit I / F”) 206, a memory controller. (Hereinafter, referred to as “MC”) 207, a printing unit 208, an operation unit 209, and an external memory 210.

CPU201は、ROM203或いは外部メモリ210に記憶されたプログラム等に基づいてシステムバス204に接続された各デバイスを制御して、当該プリンタ200における動作を統括的に制御する。例えば、CPU201は、ROM203或いは外部メモリ210に記憶されたプログラム等に基づいて印刷部(例えばプリンタエンジン)208に出力情報としての画像信号を出力する処理を行う。   The CPU 201 controls each device connected to the system bus 204 based on a program or the like stored in the ROM 203 or the external memory 210, and comprehensively controls the operation of the printer 200. For example, the CPU 201 performs a process of outputting an image signal as output information to a printing unit (for example, a printer engine) 208 based on a program stored in the ROM 203 or the external memory 210.

RAM202は、CPU201の主メモリ、ワークエリア等として機能する。なお、RAM202は、出力情報展開領域、環境データ格納領域、NVRAM等にも用いられる。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種の動作を実現する。また、RAM202は、増設ポート(不図示)に接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。   The RAM 202 functions as a main memory, work area, and the like for the CPU 201. The RAM 202 is also used as an output information expansion area, environment data storage area, NVRAM, and the like. The CPU 201 implements various operations by loading a program or the like necessary for executing the processing into the RAM 202 and executing the program. The RAM 202 is configured so that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown).

ROM203には、フォントROM203a、プログラムROM203b、及び、データROM203cが設けられている。フォントROM203aには、上記出力情報を生成する際に使用する各種のフォントデータ等が記憶されている。プログラムROM203bには、CPU201がプリンタ200の各種機能を実現するために必要な各種のプログラムが記憶されている。データROM203cには、例えばCPU201が各種の処理を行う際に必要な各種のデータ(各種の情報も含む)が記憶され、また、外部メモリ210がないプリンタ200の場合には、ホストコンピュータ100で利用される情報等も記憶される。   The ROM 203 is provided with a font ROM 203a, a program ROM 203b, and a data ROM 203c. The font ROM 203a stores various font data used for generating the output information. In the program ROM 203b, various programs necessary for the CPU 201 to realize various functions of the printer 200 are stored. The data ROM 203c stores, for example, various data (including various information) necessary for the CPU 201 to perform various processes, and is used by the host computer 100 in the case of the printer 200 without the external memory 210. Information to be stored is also stored.

システムバス204は、CPU201、RAM202、ROM203、通信I/F205、印刷部I/F206、MC207、及び、操作部209を、相互に通信可能に接続する。   The system bus 204 connects the CPU 201, RAM 202, ROM 203, communication I / F 205, printing unit I / F 206, MC 207, and operation unit 209 so that they can communicate with each other.

通信I/F205は、ネットワーク300を介して、外部装置(図1に示す例では、ホストコンピュータ100)との通信を制御する。   The communication I / F 205 controls communication with an external device (in the example illustrated in FIG. 1, the host computer 100) via the network 300.

印刷部I/F206は、印刷部208との通信を制御する。   A printing unit I / F 206 controls communication with the printing unit 208.

MC207は、ハードディスク(HD)やICカード等の外部メモリ210へのアクセスを制御する。外部メモリ210は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、外部メモリ210は、1個に限らず、例えば、複数設けて、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。さらに、外部メモリ210は、例えば、NVRAM(不図示)を有し、操作部209からのプリンタモード設定情報を記憶するようにしてもよい。   The MC 207 controls access to the external memory 210 such as a hard disk (HD) or an IC card. The external memory 210 is connected as an option and stores font data, an emulation program, form data, and the like. Further, the number of external memories 210 is not limited to one. For example, a plurality of external memories 210 may be provided, and a plurality of external memories storing an optional font card, a program for interpreting a printer control language having a different language system, etc. in addition to the built-in font can be connected. It may be configured. Further, the external memory 210 may have, for example, an NVRAM (not shown) and store printer mode setting information from the operation unit 209.

操作部209は、例えば、操作パネル及び操作パネルの操作のためのスイッチ、並びに、LED表示器等を備えて構成されており、ユーザにより操作されるものである。   The operation unit 209 includes, for example, an operation panel, a switch for operating the operation panel, an LED display, and the like, and is operated by a user.

また、本実施形態では、プリンタ200がサポートするプリントデータは、XPSデータを想定しているが、同様のファイルフォーマットを有するデータであれば、これに限定されるものではない。   In this embodiment, the print data supported by the printer 200 is assumed to be XPS data. However, the print data is not limited to this as long as the data has a similar file format.

図2は、本発明の実施形態に係る印刷制御システム10の概略構成の変形例を示す模式図である。
図2に示す印刷制御システム10−2は、図1に示すホストコンピュータ100(具体的には、100−1〜100−4)、図1に示すプリンタ200(具体的には、200−1〜200−2)、及び、図1に示すネットワーク300に加えて、ローカルインターフェース301と、プリントサーバコンピュータ400を有して構成されている。
FIG. 2 is a schematic diagram illustrating a modified example of the schematic configuration of the print control system 10 according to the embodiment of the present invention.
A print control system 10-2 shown in FIG. 2 includes a host computer 100 (specifically, 100-1 to 100-4) shown in FIG. 1 and a printer 200 (specifically, 200-1 to 200-1) shown in FIG. 200-2) and the network 300 shown in FIG. 1, in addition to the local interface 301 and the print server computer 400.

この場合、ホストコンピュータ100(100−1〜100−4)の通信I/F108は、ネットワークインターフェースカード(NIC)の機能を有するものとする。プリンタ200(200−1〜200−2)は、セントロニクスやUSB等のローカルインターフェース301を介してプリントサーバコンピュータ400と接続されて当該プリントサーバコンピュータ400を介してネットワーク300に接続される形態であっても、ネットワーク300に直接接続される形態であってもよい。なお、ネットワーク300に直接接続されているプリンタ200(具体的には、200−1)の通信I/F205は、ネットワークインターフェースカード(NIC)の機能を有するものとする。   In this case, the communication I / F 108 of the host computer 100 (100-1 to 100-4) has the function of a network interface card (NIC). The printer 200 (200-1 to 200-2) is connected to the print server computer 400 via a local interface 301 such as Centronics or USB, and is connected to the network 300 via the print server computer 400. Alternatively, a form directly connected to the network 300 may be used. Note that the communication I / F 205 of the printer 200 (specifically, 200-1) directly connected to the network 300 has a function of a network interface card (NIC).

また、プリントサーバコンピュータ400を介してネットワーク300に接続されるプリンタ200(具体的には、200−2)に対して各ホストコンピュータ100から印刷ジョブを送信する場合、まず、各ホストコンピュータ100は、プリントサーバコンピュータ400へ印刷ジョブを送信する。そして、プリントサーバコンピュータ400は、各ホストコンピュータ100から送信されてきた印刷ジョブを、当該プリントサーバコンピュータ400のプリントサブシステム(不図示)を介して、プリンタ200へ送信する。これにより、各ホストコンピュータ100は、プリントサーバコンピュータ400を介して印刷ジョブをプリンタ200へ送信することができる。   When a print job is transmitted from each host computer 100 to the printer 200 (specifically, 200-2) connected to the network 300 via the print server computer 400, first, each host computer 100 A print job is transmitted to the print server computer 400. Then, the print server computer 400 transmits the print job transmitted from each host computer 100 to the printer 200 via a print subsystem (not shown) of the print server computer 400. Accordingly, each host computer 100 can transmit a print job to the printer 200 via the print server computer 400.

また、ネットワーク300に直接接続されているプリンタ200(具体的には、200−1)に対して各ホストコンピュータ100から印刷ジョブを送信する場合、各ホストコンピュータ100は、ネットワーク300に直接接続されているプリンタ200へ印刷ジョブを送信する。   Further, when a print job is transmitted from each host computer 100 to the printer 200 (specifically, 200-1) directly connected to the network 300, each host computer 100 is directly connected to the network 300. A print job is transmitted to the existing printer 200.

次に、ホストコンピュータ100による前述したGDIプリントパスを用いた印刷制御機能の機能構成について説明を行う。   Next, the functional configuration of the print control function using the GDI print path described above by the host computer 100 will be described.

図3は、本発明の実施形態に係る印刷制御システム10のホストコンピュータ100によるGDIプリントパスを用いた印刷制御機能の機能構成の一例を示す模式図である。
ホストコンピュータ100には、GDIプリントパスを用いた際の印刷制御機能として、図3に示すように、アプリケーション131、GDI132、ユーザインターフェースドライバ133、スプーラ134、EMFスプールファイル135、プリントプロセッサ136、プリンタグラフィックスドライバ137及びランゲージモニタ138が構成される。
FIG. 3 is a schematic diagram illustrating an example of a functional configuration of a print control function using a GDI print path by the host computer 100 of the print control system 10 according to the embodiment of the present invention.
As shown in FIG. 3, the host computer 100 includes an application 131, a GDI 132, a user interface driver 133, a spooler 134, an EMF spool file 135, a print processor 136, a printer graphic as print control functions when using the GDI print path. A driver 137 and a language monitor 138 are configured.

ここで、アプリケーション131、GDI132、ユーザインターフェースドライバ133、スプーラ134、プリントプロセッサ136及びプリンタグラフィックスドライバ137は、例えば、図1に示すCPU101とROM103或いは外部メモリ111に記憶されているプログラムとから構成される。また、EMFスプールファイル135は、例えば、図1に示す外部メモリ111に構成される。また、ランゲージモニタ138は、例えば、図1に示すCPU101とROM103或いは外部メモリ111に記憶されているプログラム、並びに、通信I/F108から構成される。   Here, the application 131, the GDI 132, the user interface driver 133, the spooler 134, the print processor 136, and the printer graphics driver 137 are composed of, for example, the CPU 101 and the program stored in the ROM 103 or the external memory 111 shown in FIG. The Further, the EMF spool file 135 is configured in, for example, the external memory 111 shown in FIG. The language monitor 138 includes, for example, the CPU 101 and the program stored in the ROM 103 or the external memory 111 and the communication I / F 108 shown in FIG.

アプリケーション131は、GDI132を介してプリンタ200に対して印刷条件の設定を行う。より具体的に、アプリケーション131は、例えば、印刷に使用する用紙のサイズの設定や逆順で印刷するか否かの設定、製本の体裁で印刷を行う製本印刷を実施するか否かの設定など、各種の印刷条件を設定する処理を行う。さらに、アプリケーション131は、GDI132等を介してプリンタ200に対して文書や写真画像等の描画命令を発行して印刷実行を指示する。以下、図3の説明等において、描画命令の発行に伴ってGDI132を介してスプーラ134に通知される文書・画像データ及び描画命令を総称して「印刷データ」と称する。   The application 131 sets print conditions for the printer 200 via the GDI 132. More specifically, for example, the application 131 sets the size of the paper used for printing, sets whether to print in reverse order, sets whether to perform bookbinding printing that performs printing in the form of bookbinding, and the like. Processing for setting various printing conditions is performed. Further, the application 131 issues a drawing command such as a document or a photographic image to the printer 200 via the GDI 132 or the like to instruct printing execution. Hereinafter, in the description of FIG. 3 and the like, the document / image data and the drawing command notified to the spooler 134 via the GDI 132 when the drawing command is issued are collectively referred to as “print data”.

GDI132は、アプリケーション131等からの指示に基づき、GDIプリントパスに係る処理を行う。   The GDI 132 performs processing related to the GDI print path based on an instruction from the application 131 or the like.

ユーザインターフェースドライバ133は、GDI132を介して通知された印刷条件をプリンタ200に適合する内容に変更し、最終的な印刷条件を確定する処理を行う。さらに、ユーザインターフェースドライバ133は、GDI132を介して、最終的に確定した印刷条件をスプーラ134に通知する処理を行う。   The user interface driver 133 changes the printing conditions notified via the GDI 132 to contents suitable for the printer 200, and performs a process of determining the final printing conditions. Further, the user interface driver 133 performs processing for notifying the spooler 134 of the finally determined printing conditions via the GDI 132.

スプーラ134は、GDI132を介して通知された印刷データ及び印刷条件をEMFスプールファイル135に格納する。   The spooler 134 stores the print data and print conditions notified via the GDI 132 in the EMF spool file 135.

プリントプロセッサ136は、スプーラ134を介してEMFスプールファイル135に格納された印刷データを取得し、当該印刷データを1ページ単位で処理する。   The print processor 136 acquires the print data stored in the EMF spool file 135 via the spooler 134, and processes the print data in units of one page.

プリンタグラフィックスドライバ137は、GDI132を介してプリントプロセッサ136で処理された印刷データを取得し、当該印刷データをプリンタ200で印刷出力可能なPDLデータに変換する処理を行う。   The printer graphics driver 137 acquires print data processed by the print processor 136 via the GDI 132 and converts the print data into PDL data that can be printed out by the printer 200.

ランゲージモニタ138は、プリンタ200と双方向の通信を行い、プリンタ200の情報を取得してCRT110に表示する処理を行う。また、ランゲージモニタ138は、プリンタグラフィックスドライバ137が生成したPDLデータをプリンタ200に供給する。なお、ランゲージモニタ138は、プリンタ200が備えるメモリ容量や、エンジンコントローラの構成により異なる転送方法を採用することができる。   The language monitor 138 performs bi-directional communication with the printer 200 to acquire information about the printer 200 and display it on the CRT 110. The language monitor 138 supplies the PDL data generated by the printer graphics driver 137 to the printer 200. Note that the language monitor 138 can employ different transfer methods depending on the memory capacity of the printer 200 and the configuration of the engine controller.

続いて、GDIプリントパスを用いた印刷制御機能における一連の動作について説明する。   Next, a series of operations in the print control function using the GDI print path will be described.

まず、アプリケーション131は、ユーザからの操作指示に従って、印刷条件の設定、及び任意の文書又は写真画像等の印刷実行の指示を行う。   First, in accordance with an operation instruction from the user, the application 131 issues a print condition setting and print execution instruction for an arbitrary document or photo image.

GDI132は、アプリケーション131から印刷実行の指示を受けると、ユーザインターフェースドライバ133に対して、プリンタ200での印刷条件の設定内容、及び、印刷開始のイベントを通知する。   When the GDI 132 receives a print execution instruction from the application 131, the GDI 132 notifies the user interface driver 133 of the setting contents of the print conditions in the printer 200 and the print start event.

ユーザインターフェースドライバ133は、GDI132からプリンタ200での印刷条件の設定内容の通知を受けると、通知された印刷条件の設定内容を参照して、プリンタ200において印刷出力可能な設定内容であるか否かを判断する。ここで、ユーザインターフェースドライバ133は、GDI132から通知された印刷条件の設定内容が、プリンタ200において印刷出力可能な設定内容になっていないと判断した場合には、プリンタ200において印刷出力可能な設定内容になるように、印刷条件の設定内容を更新(一部更新も含む)し、印刷条件を確定する。   When the user interface driver 133 receives a notification of the setting contents of the printing conditions in the printer 200 from the GDI 132, the user interface driver 133 refers to the setting contents of the notified printing conditions and determines whether the setting contents can be printed out in the printer 200. Judging. Here, when the user interface driver 133 determines that the setting content of the printing condition notified from the GDI 132 is not the setting content that can be printed out by the printer 200, the setting content that can be printed out by the printer 200. In such a manner, the setting contents of the printing conditions are updated (including partly updated), and the printing conditions are determined.

続いて、アプリケーション131は、GDI132を介して、文書・画像データの描画命令を発行する。   Subsequently, the application 131 issues a drawing command for document / image data via the GDI 132.

スプーラ134は、アプリケーション131における描画命令の発行に伴って生成された印刷データ、及び、ユーザインターフェースドライバ133が確定した印刷条件の通知を受けると、通知された印刷データ及び印刷条件をEMFスプールファイル135に格納する。   When the spooler 134 receives the print data generated when the drawing command is issued by the application 131 and the print condition determined by the user interface driver 133, the spooler 134 displays the notified print data and print condition in the EMF spool file 135. To store.

プリントプロセッサ136は、スプーラ134を介してEMFスプールファイル135から印刷条件の設定内容及び印刷データを取得する。続いて、プリントプロセッサ136は、GDI132を介して、当該印刷条件の設定内容及び印刷データを1ページ単位で処理し、これをプリンタグラフィックスドライバ137に供給する。ここで、GDI132は、プリントプロセッサ136からプリンタグラフィックスドライバ137に印刷データを供給する際に、印刷データに含まれる描画命令をグラフィックス描画コマンドに変換する処理を行う。   The print processor 136 acquires print condition setting contents and print data from the EMF spool file 135 via the spooler 134. Subsequently, the print processor 136 processes the setting contents of the printing conditions and the print data in units of one page via the GDI 132, and supplies them to the printer graphics driver 137. Here, when the GDI 132 supplies print data from the print processor 136 to the printer graphics driver 137, the GDI 132 performs a process of converting a drawing command included in the print data into a graphics drawing command.

プリンタグラフィックスドライバ137は、GDI132により生成されたグラフィックス描画コマンド及びGDI132から通知された印刷条件の設定内容に基づいて、GDI132を介してプリントプロセッサ136から供給された印刷データから、プリンタ200が解釈できるPDLデータを生成する。   The printer graphics driver 137 interprets the printer 200 from print data supplied from the print processor 136 via the GDI 132 on the basis of the graphics rendering command generated by the GDI 132 and the print condition settings notified from the GDI 132. PDL data that can be generated is generated.

ランゲージモニタ138は、当該ホストコンピュータ100からプリンタ200にPDLデータを伝送するために使用されるインターフェースを経由して、プリンタグラフィックスドライバ137から供給されたPDLデータをプリンタ200に供給(送信)する。   The language monitor 138 supplies (sends) the PDL data supplied from the printer graphics driver 137 to the printer 200 via an interface used to transmit PDL data from the host computer 100 to the printer 200.

そして、プリンタ200(例えばCPU201)は、ランゲージモニタ138から供給されたPDLデータを解釈し、印刷画像データを用紙上に印刷出力する処理を行う。   The printer 200 (for example, the CPU 201) interprets the PDL data supplied from the language monitor 138, and performs a process of printing out print image data on paper.

次に、ホストコンピュータ100による前述したXPSプリントパスを用いた印刷制御機能の機能構成について説明を行う。   Next, the functional configuration of the print control function using the XPS print path described above by the host computer 100 will be described.

図4は、本発明の実施形態に係る印刷制御システム10のホストコンピュータ100によるXPSプリントパスを用いた印刷制御機能の機能構成の一例を示す模式図である。ここで、図4においては、図3に示す構成と同様の機能を有する構成については、同じ符号を付している。   FIG. 4 is a schematic diagram illustrating an example of a functional configuration of a print control function using an XPS print path by the host computer 100 of the print control system 10 according to the embodiment of the present invention. Here, in FIG. 4, the same reference numerals are given to configurations having the same functions as those shown in FIG.

ホストコンピュータ100には、XPSプリントパスを用いた際の印刷制御機能として、図4に示すように、アプリケーション131、WPF(Windows_Presentation_Foundation)印刷サポート141、ユーザインターフェースドライバ133、スプーラ134、XPSスプールファイル142、フィルタパイプラインマネージャ143、レイアウトフィルタ144、レンダリングフィルタ145及びランゲージモニタ138が構成される。   As shown in FIG. 4, the host computer 100 includes an application 131, a WPF (Windows_Presentation_Foundation) print support 141, a user interface driver 133, a spooler 134, an XPS spool file 142, as print control functions when using the XPS print path. A filter pipeline manager 143, a layout filter 144, a rendering filter 145, and a language monitor 138 are configured.

ここで、アプリケーション131、WPF印刷サポート141、ユーザインターフェースドライバ133、スプーラ134、フィルタパイプラインマネージャ143、レイアウトフィルタ144及びレンダリングフィルタ145は、例えば、図1に示すCPU101とROM103或いは外部メモリ111に記憶されているプログラムとから構成される。また、XPSスプールファイル142は、例えば、図1に示す外部メモリ111に構成される。また、ランゲージモニタ138は、例えば、図1に示すCPU101とROM103或いは外部メモリ111に記憶されているプログラム、並びに、通信I/F108から構成される。   Here, the application 131, the WPF print support 141, the user interface driver 133, the spooler 134, the filter pipeline manager 143, the layout filter 144, and the rendering filter 145 are stored in, for example, the CPU 101 and the ROM 103 or the external memory 111 shown in FIG. The program is composed of. Further, the XPS spool file 142 is configured in, for example, the external memory 111 shown in FIG. The language monitor 138 includes, for example, the CPU 101 and the program stored in the ROM 103 or the external memory 111 and the communication I / F 108 shown in FIG.

アプリケーション131は、WPF印刷サポート141を介してXPSデータを作成する処理を行う。また、アプリケーション131は、文書や写真画像等のドキュメント、印刷条件、描画命令をXPSデータに対して設定する処理を行う。以下、図4の説明等において、XPSデータに含まれている文書や写真画像等のドキュメント及び描画命令を総称して「印刷データ」と称する。さらに、アプリケーション131は、WPF印刷サポート141を介して印刷実行を指示する。   The application 131 performs processing for creating XPS data via the WPF print support 141. The application 131 performs processing for setting a document such as a document or a photographic image, a printing condition, and a drawing command for XPS data. Hereinafter, in the description of FIG. 4 and the like, a document such as a document or a photographic image included in the XPS data and a drawing command are collectively referred to as “print data”. Further, the application 131 instructs printing execution via the WPF print support 141.

WPF印刷サポート141は、アプリケーション131からの指示に基づき、XPSデータを構成(作成)する処理を行う。また、WPF印刷サポート141は、当該XPSデータから印刷条件の設定内容を取り出して、ユーザインターフェースドライバ133に通知する処理を行う。また、WPF印刷サポート141は、ユーザインターフェースドライバ133が確定した印刷条件の設定内容をXPSデータに設定する処理を行う。さらに、WPF印刷サポート141は、XPSデータをスプーラ134に通知する処理を行う。   The WPF print support 141 performs a process of configuring (creating) XPS data based on an instruction from the application 131. Further, the WPF print support 141 performs a process of taking out the setting contents of the printing conditions from the XPS data and notifying the user interface driver 133 of the settings. Further, the WPF print support 141 performs processing for setting the setting contents of the printing conditions determined by the user interface driver 133 in the XPS data. Further, the WPF print support 141 performs processing for notifying the spooler 134 of XPS data.

ユーザインターフェースドライバ133は、WPF印刷サポート141から通知された印刷条件をプリンタ200に適合する内容に変更し、最終的な印刷条件を確定する処理を行う。さらに、ユーザインターフェースドライバ133は、最終的に確定した印刷条件をWPF印刷サポート141に通知する処理を行う。   The user interface driver 133 changes the printing conditions notified from the WPF printing support 141 to contents suitable for the printer 200, and performs a process of determining final printing conditions. Further, the user interface driver 133 performs processing for notifying the WPF print support 141 of the finally determined printing conditions.

スプーラ134は、WPF印刷サポート141から通知されたXPSデータをXPSスプールファイル142に格納する。   The spooler 134 stores the XPS data notified from the WPF print support 141 in the XPS spool file 142.

フィルタパイプラインマネージャ143は、まず、スプーラ134を介してXPSスプールファイル142に格納されたXPSデータを取得する。そして、フィルタパイプラインマネージャ143は、取得したXPSデータをレイアウトフィルタ144及びレンダリングフィルタ145を介してプリンタ200で印刷出力可能なPDLデータに変換する処理を行う。   The filter pipeline manager 143 first acquires the XPS data stored in the XPS spool file 142 via the spooler 134. The filter pipeline manager 143 performs processing for converting the acquired XPS data into PDL data that can be printed out by the printer 200 via the layout filter 144 and the rendering filter 145.

レイアウトフィルタ144は、XPSデータ内の印刷データやページ構成を編集する処理を行う。   The layout filter 144 performs processing for editing print data and page configuration in XPS data.

レンダリングフィルタ145は、レイアウトフィルタ144により編集されたXPSデータ内の印刷データをプリンタ200で印刷出力可能なPDLデータに変換する処理を行う。ただし、本発明の実施形態では、XPSデータをプリントデータとして用い、XPSデータをプリンタ200に送信して、プリンタ200でXPSデータから描画する画像データを生成するため、レンダリングフィルタ145は使用されない。つまり、このレンダリングフィルタ145を通さずに処理がされる(XPSデータダイレクトプリント)。そのため、レンダリングフィルタ145を備えないようにすることも可能である。   The rendering filter 145 performs processing for converting print data in the XPS data edited by the layout filter 144 into PDL data that can be printed out by the printer 200. However, in the embodiment of the present invention, the XPS data is used as print data, the XPS data is transmitted to the printer 200, and the printer 200 generates image data to be drawn from the XPS data. Therefore, the rendering filter 145 is not used. That is, processing is performed without passing through the rendering filter 145 (XPS data direct printing). For this reason, the rendering filter 145 may be omitted.

ランゲージモニタ138は、プリンタ200と双方向の通信を行い、プリンタ200の情報を取得してCRT110に表示する処理を行う。また、ランゲージモニタ138は、フィルタパイプラインマネージャ143から通知されたXPSデータをプリンタ200に供給する。なお、ランゲージモニタ138は、プリンタ200が備えるメモリ容量や、エンジンコントローラの構成により異なる転送方法を採用することができる。   The language monitor 138 performs bi-directional communication with the printer 200 to acquire information about the printer 200 and display it on the CRT 110. The language monitor 138 supplies the XPS data notified from the filter pipeline manager 143 to the printer 200. Note that the language monitor 138 can employ different transfer methods depending on the memory capacity of the printer 200 and the configuration of the engine controller.

ここで、前述したXPSデータに含まれるパーツデータについて再度説明する。
XPSデータには、前述したように、以下のa)〜f)に示すパーツが存在し、それぞれ、以下のような参照を有する。
Here, the part data included in the XPS data described above will be described again.
As described above, the XPS data includes the following parts a) to f), which have the following references, respectively.

a)_rels/.rels:
文書の開始点となるパーツである。後述するb)FixedDocumentSequenceへの参照を有する。
a) _rels /. rels:
The part that is the starting point of the document. It has a reference to b) FixedDocumentSequence which will be described later.

b)FixedDocumentSequence(FDS):
1つの文書の構成情報が記述されるパーツである。後述するc)FixedDocumentへの参照を有する。なお、1つのデータは、複数のドキュメントを有することができる。即ち、FDSは、複数のFixedDocumentへの参照を有することができる。
b) Fixed Document Sequence (FDS):
It is a part in which configuration information of one document is described. C) has a reference to FixedDocument, described below. One data can include a plurality of documents. That is, the FDS can have references to multiple FixedDocuments.

c)FixedDocument(FD):
1つのドキュメントに存在する複数のページをページ順に並べて束ねるためのパーツである。即ち、1つのドキュメントの構成情報が記述されるパーツであり、後述するd)FixedPageへの参照を有する。なお、1つのドキュメントは、複数のページを有することができる。即ち、FDは、複数のFixedPageへの参照を有することができる。
c) Fixed Document (FD):
This is a part for arranging and bundling a plurality of pages existing in one document in page order. That is, it is a part in which configuration information of one document is described, and has a reference to d) FixedPage described later. One document can have a plurality of pages. That is, the FD can have references to multiple FixedPages.

d)FixedPage(FP):
1ページの描画内容が記述されたパーツである。必要に応じて、イメージファイルやフォントファイルなどの外部リソースファイルへの参照を有することができる。例えば、当該ページにイメージの描画が存在する場合には、当該イメージファイルへの参照を有することになる。
d) FixedPage (FP):
It is a part that describes the drawing contents of one page. You can have references to external resource files such as image files and font files as needed. For example, if there is an image drawing on the page, it will have a reference to the image file.

e)FixedPage.rels(FP.rels):
d)FixedPageに関連するパーツへの参照情報が記述されたパーツである。参照先としては、例えば、イメージファイル、フォントファイル、印刷設定情報が記述された後述するプリントチケットファイルなどである。
e) FixedPage. rels (FP.rels):
d) A part in which reference information to parts related to the FixedPage is described. The reference destination is, for example, an image file, a font file, a print ticket file to be described later in which print setting information is described, or the like.

f)プリントチケット:
予め定義されたXMLスキーマの形式に従って記述された印刷条件の設定が記述されたファイルである。以下、印刷設定を行うために予め定義されたXMLスキーマの形式を「プリントスキーマ」と称し、印刷スキーマに従って印刷条件が記述されているXMLファイルを「プリントチケット」と称する。なお、プリントチケットを言い換えると、印刷に用いられる属性を記憶する属性情報ファイルである。
f) Print ticket:
This is a file in which settings of printing conditions described according to a predefined XML schema format are described. Hereinafter, an XML schema format defined in advance for performing print settings is referred to as a “print schema”, and an XML file in which printing conditions are described according to the print schema is referred to as a “print ticket”. In other words, the print ticket is an attribute information file that stores attributes used for printing.

ここで、XPSデータに包含される各パーツの参照関係の論理的構造については、前述したように、図24にその一例が示され、また、XMLファイルの記述に基づいた参照関係については、前述したように、図25にその一例が示されている。   Here, as described above, an example of the logical structure of the reference relationship of each part included in the XPS data is shown in FIG. 24, and the reference relationship based on the description of the XML file is described above. As shown in FIG. 25, an example is shown.

続いて、XPSプリントパスを用いた印刷制御機能における一連の動作について説明する。   Next, a series of operations in the print control function using the XPS print path will be described.

まず、アプリケーション131は、ユーザからの操作指示に従って、任意の文書又は写真画像等のドキュメントを読み込む処理を行う。なお、前述した任意の文書には、予め作成されていたXPSデータも含まれる。   First, the application 131 performs processing for reading an arbitrary document or a document such as a photographic image in accordance with an operation instruction from the user. Note that the arbitrary document described above includes XPS data created in advance.

続いて、アプリケーション131は、ユーザからの操作指示に従って、XPSデータの作成を行い、文書や写真画像等のドキュメント、印刷条件、描画命令をXPSデータに設定する。なお、アプリケーション131は、予め作成されていたXPSデータを読み込んだ場合には、新たにXPSデータを作成することはなく、読み込んだXPSデータに含まれる印刷条件や描画命令をユーザからの操作指示に従って編集すればよい。   Subsequently, the application 131 creates XPS data in accordance with an operation instruction from the user, and sets a document such as a document or a photographic image, a printing condition, and a drawing command in the XPS data. Note that when the previously created XPS data is read, the application 131 does not create new XPS data, and the printing conditions and drawing commands included in the read XPS data are in accordance with an operation instruction from the user. Edit it.

続いて、アプリケーション131は、ユーザからの操作指示に従って、XPSデータを用いて印刷実行の指示を行う。   Subsequently, the application 131 issues a print execution instruction using the XPS data in accordance with an operation instruction from the user.

WPF印刷サポート141は、アプリケーション131から印刷実行の指示を受けると、XPSデータ内のプリントチケットを取り出し、印刷条件の設定内容として当該プリントチケットをユーザインターフェースドライバ133に通知する。   When receiving the print execution instruction from the application 131, the WPF print support 141 takes out the print ticket in the XPS data and notifies the user interface driver 133 of the print ticket as the setting contents of the print condition.

ユーザインターフェースドライバ133は、WPF印刷サポート141からプリンタ200での印刷条件の設定内容の通知を受けると、通知された印刷条件の設定内容を参照して、プリンタ200において印刷出力可能な設定内容であるか否かを判断する。ここで、ユーザインターフェースドライバ133は、WPF印刷サポート141から通知された印刷条件の設定内容が、プリンタ200において印刷出力可能な設定内容になっていないと判断した場合には、プリンタ200において印刷出力可能な設定内容になるように、印刷条件の設定内容を更新(一部更新も含む)し、印刷条件を確定する。続いて、ユーザインターフェースドライバ133は、確定した印刷条件によりプリントチケットを更新し、WPF印刷サポート141に通知する。   When the user interface driver 133 receives a notification of the setting contents of the printing conditions in the printer 200 from the WPF printing support 141, the user interface driver 133 refers to the setting contents of the notified printing conditions, and the setting contents can be printed out in the printer 200. Determine whether or not. Here, if the user interface driver 133 determines that the setting contents of the printing conditions notified from the WPF print support 141 are not the setting contents that can be printed out by the printer 200, the printing can be performed by the printer 200. The setting contents of the printing conditions are updated (including partly updated) so that the setting conditions become correct, and the printing conditions are determined. Subsequently, the user interface driver 133 updates the print ticket according to the determined printing conditions and notifies the WPF print support 141 of the print ticket.

WPF印刷サポート141は、ユーザインターフェースドライバ133から通知されたプリントチケットをXPSデータに設定し、当該XPSデータをスプーラ134に通知する。   The WPF print support 141 sets the print ticket notified from the user interface driver 133 as XPS data, and notifies the spooler 134 of the XPS data.

スプーラ134は、WPF印刷サポート141からXPSデータの通知を受けると、通知されたXPSデータをXPSスプールファイル142に格納する。なお、WPF印刷サポート141を介さずにアプリケーション131からスプーラ134に任意のXPSデータを通知することも可能である。つまり、MXDWで作成したXPSデータを通知することも可能である。続いて、スプーラ134は、フィルタパイプラインマネージャ143に対して印刷開始のイベントを通知する。   Upon receiving notification of XPS data from the WPF printing support 141, the spooler 134 stores the notified XPS data in the XPS spool file 142. It is also possible to notify arbitrary XPS data from the application 131 to the spooler 134 without using the WPF print support 141. That is, it is also possible to notify XPS data created by MXDW. Subsequently, the spooler 134 notifies the filter pipeline manager 143 of a print start event.

フィルタパイプラインマネージャ143は、スプーラ134から印刷開始のイベントの通知を受けると、スプーラ134を介してXPSスプールファイル142に格納されているXPSデータを取得する。続いて、フィルタパイプラインマネージャ143は、当該XPSデータをレイアウトフィルタ144に通知する。   When the filter pipeline manager 143 receives a print start event notification from the spooler 134, the filter pipeline manager 143 acquires the XPS data stored in the XPS spool file 142 via the spooler 134. Subsequently, the filter pipeline manager 143 notifies the layout filter 144 of the XPS data.

レイアウトフィルタ144は、通知されたXPSデータから印刷データ及びプリントチケットを取得する。続いて、レイアウトフィルタ144は、プリントチケットに記載されている印刷条件の設定内容に基づいて、印刷データの編集及びXPSデータのページ構成の編集を行う。なお、印刷データやページ構成の編集内容には、ビットマップの合成(ウォーターマーク)、ページ合成(割付)、ページ順序の変更(逆順)等が含まれる。続いて、レイアウトフィルタ144は、印刷データやページ構成の編集を終えた後のXPSデータをフィルタパイプラインマネージャ143に通知する。   The layout filter 144 acquires print data and a print ticket from the notified XPS data. Subsequently, the layout filter 144 edits the print data and the page configuration of the XPS data based on the print condition setting contents described in the print ticket. Note that the editing contents of the print data and the page configuration include bitmap composition (watermark), page composition (assignment), page order change (reverse order), and the like. Subsequently, the layout filter 144 notifies the filter pipeline manager 143 of the XPS data after finishing the editing of the print data and the page configuration.

続いて、フィルタパイプラインマネージャ143は、レイアウトフィルタ144から通知されたXPSデータをレンダリングフィルタ145に通知する。   Subsequently, the filter pipeline manager 143 notifies the rendering filter 145 of the XPS data notified from the layout filter 144.

レンダリングフィルタ145は、フィルタパイプラインマネージャ143から通知されたXPSデータから、印刷データ及びプリントチケットを取得する。続いて、レンダリングフィルタ145は、取得したプリントチケットに記載されている印刷条件の設定内容に基づいて、印刷データからプリンタ200が解釈できるPDLデータを生成し、当該PDLデータをフィルタパイプラインマネージャ143に通知する。   The rendering filter 145 acquires print data and a print ticket from the XPS data notified from the filter pipeline manager 143. Subsequently, the rendering filter 145 generates PDL data that can be interpreted by the printer 200 from the print data based on the print condition settings described in the acquired print ticket, and sends the PDL data to the filter pipeline manager 143. Notice.

続いて、フィルタパイプラインマネージャ143は、レンダリングフィルタ145から通知されたPDLデータをランゲージモニタ138に供給する。   Subsequently, the filter pipeline manager 143 supplies the PDL data notified from the rendering filter 145 to the language monitor 138.

ランゲージモニタ138は、当該ホストコンピュータ100からプリンタ200にPDLデータを伝送するために使用されるインターフェースを経由して、フィルタパイプラインマネージャ143から供給されたPDLデータをプリンタ200に供給(送信)する。   The language monitor 138 supplies (transmits) the PDL data supplied from the filter pipeline manager 143 to the printer 200 via an interface used for transmitting PDL data from the host computer 100 to the printer 200.

そして、プリンタ200(例えばCPU201)は、ランゲージモニタ138から供給されたPDLデータを解釈し、印刷画像データを用紙上に印刷出力する処理を行う。この本実施形態における処理は、特に、記憶領域が少ないプリンタ200において、XPSデータをPDLデータとして処理する場合に有効である。   The printer 200 (for example, the CPU 201) interprets the PDL data supplied from the language monitor 138, and performs a process of printing out print image data on paper. The processing in this embodiment is particularly effective when processing XPS data as PDL data in the printer 200 having a small storage area.

次に、ホストコンピュータ100によるXPSプリントパスを用いた印刷制御処理の処理手順について説明する。   Next, a processing procedure of print control processing using the XPS print path by the host computer 100 will be described.

図5は、本発明の実施形態に係る印刷制御システム10のホストコンピュータ100によるXPSプリントパスを用いた印刷制御処理の処理手順の一例を示すフローチャートである。なお、以下の説明では、主として、レイアウトフィルタ144における処理について記載する。   FIG. 5 is a flowchart illustrating an example of a processing procedure of print control processing using the XPS print path by the host computer 100 of the print control system 10 according to the embodiment of the present invention. In the following description, processing in the layout filter 144 will be mainly described.

まず、図5のステップS101において、フィルタパイプラインマネージャ143は、スプーラ134から印刷開始のイベントの通知を受けると、スプーラ134を介して、XPSスプールファイル142に格納されているMXDWで作成されたXPSデータを取得する処理を行う。そして、フィルタパイプラインマネージャ143は、取得したXPSデータをレイアウトフィルタ144に通知する。   First, in step S101 in FIG. 5, when the filter pipeline manager 143 receives notification of a print start event from the spooler 134, the XPS created by the MXDW stored in the XPS spool file 142 via the spooler 134. Process to get data. The filter pipeline manager 143 notifies the layout filter 144 of the acquired XPS data.

続いて、ステップS102において、レイアウトフィルタ144は、フィルタパイプラインマネージャ143から通知されたXPSデータを解析して、当該XPSデータ内のプリントチケットに記載されている印刷条件の設定内容に基づいて、印刷データの編集及びXPSデータのページ構成の編集を行う。ここで、レイアウトフィルタ144は、記憶領域が少ないプリンタ200で処理可能なXPSデータに編集する。   Subsequently, in step S102, the layout filter 144 analyzes the XPS data notified from the filter pipeline manager 143, and prints based on the setting contents of the printing conditions described in the print ticket in the XPS data. Data editing and XPS data page configuration editing are performed. Here, the layout filter 144 edits XPS data that can be processed by the printer 200 having a small storage area.

続いて、ステップS103において、レイアウトフィルタ144は、編集(生成)を終えた後のXPSデータをフィルタパイプラインマネージャ143に通知する処理を行う。   Subsequently, in step S103, the layout filter 144 performs a process of notifying the filter pipeline manager 143 of XPS data after the editing (generation).

その後、フィルタパイプラインマネージャ143は、レイアウトフィルタ144から通知されたXPSデータをレンダリングフィルタ145に通知する処理を行う。そして、レンダリングフィルタ145は、フィルタパイプラインマネージャ143から通知されたXPSデータから、プリンタ200が解釈できるPDLデータを生成し、当該PDLデータをフィルタパイプラインマネージャ143に通知する。ここで、本実施形態に係るプリンタ200は、XPSデータをプリントデータとして使用するものであるため、レンダリングフィルタ145では、レイアウトフィルタ144で処理されたXPSデータに対して、特に処理は行わない。   Thereafter, the filter pipeline manager 143 performs processing for notifying the rendering filter 145 of the XPS data notified from the layout filter 144. The rendering filter 145 generates PDL data that can be interpreted by the printer 200 from the XPS data notified from the filter pipeline manager 143, and notifies the filter pipeline manager 143 of the PDL data. Here, since the printer 200 according to the present embodiment uses XPS data as print data, the rendering filter 145 does not particularly process the XPS data processed by the layout filter 144.

そして、フィルタパイプラインマネージャ143は、レンダリングフィルタ145から通知されたプリントデータ(XPSデータ)をランゲージモニタ138に供給する。そして、ランゲージモニタ138は、当該ホストコンピュータ100からプリンタ200にPDLデータを伝送するために使用されるインターフェースを経由して、フィルタパイプラインマネージャ143から供給されたプリントデータ(XPSデータ)をプリンタ200に送信する(送信ステップ)。なお、プリンタ200へプリントデータ(XPSデータ)を送信する際には、プリンタ200で即時に印刷処理を実行できるようにするために、XPSデータを細分化データ(パケット)単位にしてプリンタ200に送信する。つまり、プリンタ200は、データストリームしながら、印刷を実行することが可能となる。   Then, the filter pipeline manager 143 supplies the print data (XPS data) notified from the rendering filter 145 to the language monitor 138. The language monitor 138 then sends the print data (XPS data) supplied from the filter pipeline manager 143 to the printer 200 via the interface used to transmit PDL data from the host computer 100 to the printer 200. Send (sending step). When transmitting print data (XPS data) to the printer 200, the XPS data is transmitted to the printer 200 in units of segmented data (packets) so that the printer 200 can immediately execute print processing. To do. That is, the printer 200 can execute printing while streaming the data.

次に、図5のステップS102におけるXPSデータの解析・編集処理の詳細について説明する。
図6は、図5のステップS102におけるXPSデータの解析・編集処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the XPS data analysis / editing process in step S102 of FIG. 5 will be described.
FIG. 6 is a flowchart illustrating an example of a detailed processing procedure of XPS data analysis / edit processing in step S102 of FIG.

図5のステップS102の処理では、まず、図6のステップS201において、レイアウトフィルタ144は、未処理の「_rels/.rels」パーツデータが存在するか否かを判断する。ここで、未処理の「_rels/.rels」パーツデータが存在するか否かの判断は、この「_rels/.rels」パーツデータは前述したようにXML形式であるので、ルート要素の終了タグが未処理であるか否かによって判断する。具体的に、例えば図27に示すXPSファイルでは、2702に記述されている、</Relationships>の終了要素を検出したところで、「_rels/.rels」パーツデータの処理終了と判断する。なお、ルート要素の終了タグは、最後のピースに必ず存在する。また、インターリーブされていない場合には、「_rels/.rels」パーツデータは1つしか存在しない。以降、XML形式のパーツデータに関して、全て解析(処理)したか否かの判断は、同様の方法をとるものとする。   In the process of step S102 of FIG. 5, first, in step S201 of FIG. 6, the layout filter 144 determines whether there is unprocessed “_rels / .rels” part data. Here, it is determined whether or not there is unprocessed “_rels / .rels” part data. Since the “_rels / .rels” part data is in the XML format as described above, the end tag of the root element is Judgment is made based on whether or not it is unprocessed. Specifically, for example, in the XPS file shown in FIG. 27, when the end element of </ Relationships> described in 2702 is detected, it is determined that the processing of the “_rels / .rels” part data is finished. Note that the end tag of the root element is always present in the last piece. Further, when the interleaving is not performed, there is only one “_rels / .rels” part data. Thereafter, the same method is used to determine whether or not all XML part data has been analyzed (processed).

ステップS201の判断の結果、未処理の「_rels/.rels」パーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図6におけるフローチャートの処理を終了する。即ち、図5のステップS102の処理を終了する。   If there is no unprocessed “_rels / .rels” part data as a result of the determination in step S201 (that is, if all parts data has been analyzed (processed)), the process of the flowchart in FIG. To do. That is, the process of step S102 in FIG.

一方、ステップS201の判断の結果、未処理の「_rels/.rels」パーツデータが存在する場合には、ステップS202に進む。   On the other hand, if there is unprocessed “_rels / .rels” part data as a result of the determination in step S201, the process proceeds to step S202.

ステップS202に進むと、レイアウトフィルタ144は、未処理の「_rels/.rels」パーツデータを全て取得したか否かを判断する。ここで、「_rels/.rels」パーツデータを全て取得したか否かの判断は、インターリーブされている場合には、後述するXPSデータ内のパーツデータ(もしくはピースデータ)の検索時に最後のピース名が「/_rels/.rels/[i].last.piece」(iは0で始まる通し番号であり、1つのパーツが3つにインターリーブ(分割)処理されるのであれば、最後のピースのiは2となる)となっているので、Local_File_Headerの内容から当該ピースデータを取得し、前記ピース名のデータを取得した際に、全て取得したと判断する。以降、パーツデータを全て取得したか否かの判断は、同様の方法をとるものとする。また、インターリーブされていない場合には、「_rels/.rels」パーツデータは1データのみしか存在しないので、後述するステップS203の処理は1回しか行われない。   In step S202, the layout filter 144 determines whether all unprocessed “_rels / .rels” part data has been acquired. Here, if all of the “_rels / .rels” part data has been acquired, if interleaved, the last piece name when searching for part data (or piece data) in XPS data, which will be described later, is used. Is “/_rels/.rels/[i].last.piece” (i is a serial number starting with 0, and if one part is interleaved into three parts, i of the last piece is 2), the piece data is acquired from the contents of Local_File_Header, and when the piece name data is acquired, it is determined that all pieces are acquired. Thereafter, the same method is used to determine whether or not all parts data has been acquired. If the interleave is not performed, there is only one piece of “_rels / .rels” part data, so that the process of step S203 described later is performed only once.

ステップS202の判断の結果、未処理の「_rels/.rels」パーツデータの全てを取得していない場合には、ステップS203に進む。   If all the unprocessed “_rels / .rels” part data has not been acquired as a result of the determination in step S202, the process proceeds to step S203.

ステップS203に進むと、レイアウトフィルタ144は、次の「_rels/.rels」パーツデータまたはピースデータを検索し、これを伸長して取得する。この際、本実施形態では、当該検索の方法として、Local_File_Headerをデータの先頭から検索する方法を採用するものとする。また、このとき検索するLocal_File_Header内のデータ名としては、「_rels/.rels」或いはインターリーブされている場合の「_rels/.rels/[i].piece"である。以降、特に言及が無い限り、XPSデータ内のパーツデータ等の検索方法は、この方法を採用するものとする。また、本実施形態では、当該伸張の方法として、一般的なZIPデータの伸張方法を採用するものとし、伸張したデータはディレクトリ構成を保持したまま各種のファイルを外部メモリ111に書き出す形態で保存する。以降、XPSデータ内のパーツデータ等の伸長方法は、この方法を採用するものとする。   In step S203, the layout filter 144 searches for the next “_rels / .rels” part data or piece data, and expands and acquires it. At this time, in the present embodiment, a method of searching for Local_File_Header from the head of data is adopted as the search method. Further, the data name in the Local_File_Header to be searched at this time is “_rels / .rels” or “_rels / .rels / [i] .piece” when interleaved. Hereinafter, unless otherwise specified, this method is adopted as a method for searching for part data or the like in XPS data. In this embodiment, a general ZIP data expansion method is adopted as the expansion method, and the expanded data is stored in a form in which various files are written to the external memory 111 while maintaining the directory structure. . Hereinafter, this method is adopted as a decompression method for parts data or the like in XPS data.

ステップS203の処理が終了した場合、或いは、ステップS202において未処理の「_rels/.rels」パーツデータを全て取得したと判断された場合には、ステップS204に進む。   If the process of step S203 is completed, or if it is determined in step S202 that all unprocessed “_rels / .rels” part data has been acquired, the process proceeds to step S204.

続いて、ステップS204において、レイアウトフィルタ144は、取得した次の「_rels/.rels」パーツデータ(ピースデータ)を解析し、XPSデータ内のFDSのデータ名を取得する処理を行う。ここで、前述したように、「_rels/.rels」パーツデータ(ピースデータ)は、XML形式で記述されたファイルであり、本実施形態では、当該解析の方法として、一般的なXMLファイルの解析方法を採用するものとする。なお、以後、XML形式で記述されたファイルを解析する場合は、本例と同様に、一般的なXMLファイルの解析方法を採用するものとする。   Subsequently, in step S <b> 204, the layout filter 144 analyzes the acquired next “_rels / .rels” part data (piece data) and performs a process of acquiring the FDS data name in the XPS data. Here, as described above, the “_rels / .rels” part data (piece data) is a file described in the XML format. In this embodiment, a general XML file analysis is used as the analysis method. The method shall be adopted. Hereinafter, when a file described in the XML format is analyzed, a general XML file analysis method is adopted as in this example.

また、レイアウトフィルタ144は、「_rels/.rels」パーツデータ(ピースデータ)をXPSデータに追加する処理を行う。即ち、ここでの処理は、既に圧縮されている「_rels/.rels」パーツデータ(ピースデータ)を、元のXPSデータを利用して新たなXPSデータを生成するために当該元のXPSデータに追加する処理である。このXPSデータに追加された「_rels/.rels」パーツデータ(ピースデータ)は、例えば、図7の701のようになる。ここで、「_rels/.rels」パーツデータ(ピースデータ)は、初めのパーツデータ(ピースデータ)であるため、図7に示すように、XPSデータの先頭に配置(追加)される。   Further, the layout filter 144 performs a process of adding “_rels / .rels” part data (piece data) to the XPS data. That is, the processing here is to convert the already compressed “_rels / .rels” part data (piece data) into the original XPS data in order to generate new XPS data using the original XPS data. It is a process to add. The “_rels / .rels” part data (piece data) added to the XPS data is, for example, 701 in FIG. Here, since “_rels / .rels” part data (piece data) is the first part data (piece data), it is arranged (added) at the head of the XPS data as shown in FIG.

続いて、ステップS205において、レイアウトフィルタ144は、ステップS204でFDSのデータ名を取得できたか否かを判断する。   In step S205, the layout filter 144 determines whether the FDS data name has been acquired in step S204.

ステップS205の判断の結果、ステップS204でFDSのデータ名を取得できた場合には、ステップS206に進む。   As a result of the determination in step S205, if the FDS data name can be acquired in step S204, the process proceeds to step S206.

ステップS206に進むと、レイアウトフィルタ144は、当該FDSの処理を行う。   In step S206, the layout filter 144 performs the FDS process.

ステップS206の処理が終了した場合、或いは、ステップS205においてFDSのデータ名を取得できなかったと判断された場合には、ステップS201に戻り、ステップS201以降の処理を再度行う。   When the process of step S206 is completed, or when it is determined in step S205 that the FDS data name could not be acquired, the process returns to step S201, and the processes after step S201 are performed again.

以上の図6に示すステップS201〜S206の処理を経ることにより、図5のステップS102におけるXPSデータの解析・編集処理が行われる。   Through the processes of steps S201 to S206 shown in FIG. 6, the XPS data analysis / editing process in step S102 of FIG. 5 is performed.

次に、図6のステップS206におけるFDSの処理の詳細について説明する。
図8は、図6のステップS206におけるFDSの処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FDS processing in step S206 of FIG. 6 will be described.
FIG. 8 is a flowchart illustrating an example of a detailed processing procedure of FDS processing in step S206 of FIG.

図6のステップS206の処理では、まず、図8のステップS301において、レイアウトフィルタ144は、未処理のFDSパーツデータが存在するか否かを判断する。   In the process of step S206 in FIG. 6, first, in step S301 in FIG. 8, the layout filter 144 determines whether or not unprocessed FDS part data exists.

ステップS301の判断の結果、未処理のFDSパーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図8におけるフローチャートの処理を終了する。即ち、図6のステップS206の処理を終了する。   As a result of the determination in step S301, when there is no unprocessed FDS part data (that is, when all parts data has been analyzed (processed)), the process of the flowchart in FIG. That is, the process of step S206 in FIG.

一方、ステップS301の判断の結果、未処理のFDSパーツデータが存在する場合には、ステップS302に進む。   On the other hand, if it is determined in step S301 that there is unprocessed FDS part data, the process proceeds to step S302.

ステップS302に進むと、レイアウトフィルタ144は、未処理のFDSパーツデータを全て取得したか否かを判断する。   In step S302, the layout filter 144 determines whether all unprocessed FDS part data has been acquired.

ステップS302の判断の結果、未処理のFDSパーツデータの全てを取得していない場合には、ステップS303に進む。   If all the unprocessed FDS parts data has not been acquired as a result of the determination in step S302, the process proceeds to step S303.

ステップS303に進むと、レイアウトフィルタ144は、次のFDSパーツデータまたはピースデータを検索し、これを伸長して取得する。   In step S303, the layout filter 144 searches for the next FDS part data or piece data, and expands and acquires it.

ステップS303の処理が終了した場合、或いは、ステップS302において未処理のFDSパーツデータを全て取得したと判断された場合には、ステップS304に進む。   When the process of step S303 is completed, or when it is determined in step S302 that all unprocessed FDS part data has been acquired, the process proceeds to step S304.

続いて、ステップS304において、レイアウトフィルタ144は、取得した次のFDSパーツデータ(ピースデータ)を解析し、XPSデータ内のFDのデータ名を1つ取得する処理を行う。   Subsequently, in step S304, the layout filter 144 analyzes the acquired next FDS part data (piece data), and performs a process of acquiring one FD data name in the XPS data.

また、レイアウトフィルタ144は、FDSパーツデータ(ピースデータ)をXPSデータに追加する処理を行う。即ち、ここでの処理は、既に圧縮されているFDSパーツデータ(ピースデータ)を、元のXPSデータのFDSパーツデータ(ピースデータ)を利用して新たなXPSデータを生成するために当該元のXPSデータに追加する処理である。このXPSデータに追加されたFDSパーツデータ(ピースデータ)は、例えば、図7の702のようになる。ここで、FDSパーツデータ(ピースデータ)は、図7に示すように、図6のステップS204の際に追加された「_rels/.rels」パーツデータ(ピースデータ)である701の後に配置(追加)される。   The layout filter 144 performs processing for adding FDS part data (piece data) to XPS data. In other words, the processing here is to use the FDS part data (piece data) that has already been compressed in order to generate new XPS data by using the FDS part data (piece data) of the original XPS data. This process is added to the XPS data. The FDS part data (piece data) added to the XPS data is, for example, 702 in FIG. Here, as shown in FIG. 7, the FDS part data (piece data) is arranged (added) after 701 which is the “_rels / .rels” part data (piece data) added in step S204 of FIG. )

続いて、ステップS305において、レイアウトフィルタ144は、ステップS304でFDのデータ名を取得できたか否かを判断する。   Subsequently, in step S305, the layout filter 144 determines whether or not the FD data name has been acquired in step S304.

ステップS305の判断の結果、ステップS304でFDのデータ名を取得できた場合には、ステップS306に進む。   As a result of the determination in step S305, if the data name of the FD can be acquired in step S304, the process proceeds to step S306.

ステップS306に進むと、レイアウトフィルタ144は、当該FDの処理を行う。   In step S306, the layout filter 144 performs the FD processing.

ステップS306の処理が終了した場合、或いは、ステップS305においてFDのデータ名を取得できなかったと判断された場合には、ステップS301に戻り、ステップS301以降の処理を再度行う。   When the process of step S306 is completed, or when it is determined in step S305 that the data name of the FD has not been acquired, the process returns to step S301, and the processes after step S301 are performed again.

以上の図8に示すステップS301〜S306の処理を経ることにより、図6のステップS206におけるFDSの処理が行われる。   The FDS process in step S206 in FIG. 6 is performed through the processes in steps S301 to S306 shown in FIG.

次に、図8のステップS306におけるFDの処理の詳細について説明する。
図9は、図8のステップS306におけるFDの処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FD processing in step S306 in FIG. 8 will be described.
FIG. 9 is a flowchart illustrating an example of a detailed processing procedure of the FD processing in step S306 in FIG.

図8のステップS306の処理では、まず、図9のステップS401において、レイアウトフィルタ144は、未処理のFDパーツデータが存在するか否かを判断する。   In the process of step S306 in FIG. 8, first, in step S401 of FIG. 9, the layout filter 144 determines whether or not unprocessed FD part data exists.

ステップS401の判断の結果、未処理のFDパーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図9におけるフローチャートの処理を終了する。即ち、図8のステップS306の処理を終了する。   As a result of the determination in step S401, when there is no unprocessed FD part data (that is, when all parts data has been analyzed (processed)), the process of the flowchart in FIG. That is, the process of step S306 in FIG.

一方、ステップS401の判断の結果、未処理のFDパーツデータが存在する場合には、ステップS402に進む。   On the other hand, if there is unprocessed FD part data as a result of the determination in step S401, the process proceeds to step S402.

ステップS402に進むと、レイアウトフィルタ144は、未処理のFDパーツデータを全て取得したか否かを判断する。   In step S402, the layout filter 144 determines whether all unprocessed FD part data has been acquired.

ステップS402の判断の結果、未処理のFDパーツデータの全てを取得していない場合には、ステップS403に進む。   If all the unprocessed FD part data has not been acquired as a result of the determination in step S402, the process proceeds to step S403.

ステップS403に進むと、レイアウトフィルタ144は、次のFDパーツデータまたはピースデータを検索し、これを伸長して取得する。   In step S403, the layout filter 144 searches for the next FD part data or piece data and expands and acquires it.

ステップS403の処理が終了した場合、或いは、ステップS402において未処理のFDパーツデータを全て取得したと判断された場合には、ステップS404に進む。   If the process in step S403 is completed, or if it is determined in step S402 that all unprocessed FD part data has been acquired, the process proceeds to step S404.

続いて、ステップS404において、レイアウトフィルタ144は、取得した次のFDパーツデータ(ピースデータ)を解析し、XPSデータ内のFPのデータ名を1つ取得する処理を行う。   Subsequently, in step S404, the layout filter 144 analyzes the acquired next FD part data (piece data) and performs a process of acquiring one FP data name in the XPS data.

また、レイアウトフィルタ144は、FDパーツデータ(ピースデータ)をXPSデータに追加する処理を行う。即ち、ここでの処理は、既に圧縮されているFDパーツデータ(ピースデータ)を、元のXPSデータのFDパーツデータ(ピースデータ)を利用して新たなXPSデータを生成するために当該元のXPSデータに追加する処理である。このXPSデータに追加されたFDパーツデータ(ピースデータ)は、例えば、図7の703のようになる。ここで、FDパーツデータ(ピースデータ)は、図7に示すように、図8のステップS304の際に追加されたFDSパーツデータ(ピースデータ)である702の後に配置(追加)される。   The layout filter 144 performs a process of adding FD part data (piece data) to XPS data. In other words, the processing here is performed by using the original compressed FD part data (piece data) to generate new XPS data using the FD part data (piece data) of the original XPS data. This process is added to the XPS data. The FD part data (piece data) added to the XPS data is, for example, 703 in FIG. Here, as shown in FIG. 7, the FD part data (piece data) is arranged (added) after 702 which is the FDS part data (piece data) added in step S304 of FIG.

続いて、ステップS405において、レイアウトフィルタ144は、ステップS404でFPのデータ名を取得できたか否かを判断する。   Subsequently, in step S405, the layout filter 144 determines whether or not the FP data name has been acquired in step S404.

ステップS405の判断の結果、ステップS404でFPのデータ名を取得できた場合には、ステップS406に進む。   As a result of the determination in step S405, if the FP data name can be acquired in step S404, the process proceeds to step S406.

ステップS406に進むと、レイアウトフィルタ144は、当該FPの処理を行う。   In step S406, the layout filter 144 performs the FP process.

ステップS406の処理が終了した場合、或いは、ステップS405の判断の結果、ステップS404でFPのデータ名を取得できなかった場合には、ステップS401に戻り、ステップS401以降の処理を再度行う。   If the process of step S406 is completed, or if the result of determination in step S405 is that the FP data name could not be acquired in step S404, the process returns to step S401, and the processes after step S401 are performed again.

以上の図9に示すステップS401〜S406の処理を経ることにより、図8のステップS306におけるFDの処理が行われる。   The FD process in step S306 in FIG. 8 is performed through the processes in steps S401 to S406 shown in FIG.

次に、図9のステップS406におけるFPの処理の詳細について説明する。
図10は、図9のステップS406におけるFPの処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FP process in step S406 of FIG. 9 will be described.
FIG. 10 is a flowchart illustrating an example of a detailed processing procedure of FP processing in step S406 of FIG.

図9のステップS406の処理では、まず、図10のステップS501において、レイアウトフィルタ144は、FPパーツデータを検索し、これを伸長して取得する。この際、MXDWで作成されたFPは、通常インターリーブされていない。   In the process of step S406 of FIG. 9, first, in step S501 of FIG. 10, the layout filter 144 searches for FP part data and expands and acquires it. At this time, the FP created by MXDW is not normally interleaved.

続いて、ステップS502において、レイアウトフィルタ144は、ステップS501で取得したFPパーツデータを解析して、参照する外部リソースの参照回数を求めて、外部リソース参照リスト(外部リソース参照回数リスト)の作成処理を行う。   Subsequently, in step S502, the layout filter 144 analyzes the FP part data acquired in step S501, obtains the reference count of the external resource to be referenced, and creates an external resource reference list (external resource reference count list). I do.

続いて、ステップS503において、レイアウトフィルタ144は、プリントチケットを編集して、これをXPSデータの中に含める処理を行う。   In step S503, the layout filter 144 edits the print ticket and includes it in the XPS data.

続いて、ステップS504において、レイアウトフィルタ144は、FPの分割処理を行う。   Subsequently, in step S504, the layout filter 144 performs FP division processing.

以上の図10に示すステップS501〜S504の処理を経ることにより、図9のステップS406におけるFPの処理が行われる。   Through the processes in steps S501 to S504 shown in FIG. 10, the FP process in step S406 in FIG. 9 is performed.

次に、図10のステップS502における外部リソース参照回数リスト作成処理の詳細について説明する。
図11は、図10のステップS502における外部リソース参照回数リスト作成処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the external resource reference count list creation processing in step S502 of FIG. 10 will be described.
FIG. 11 is a flowchart showing an example of a detailed processing procedure of the external resource reference number list creation processing in step S502 of FIG.

図10のステップS502の処理では、まず、図11のステップS601において、レイアウトフィルタ144は、図10のステップS501の処理で取得したFPパーツデータを解析して、描画命令を検出(抽出)する処理を行う。   In the process of step S502 of FIG. 10, first, in step S601 of FIG. 11, the layout filter 144 analyzes the FP part data acquired in the process of step S501 of FIG. 10, and detects (extracts) a drawing command. I do.

続いて、ステップS602において、レイアウトフィルタ144は、ステップS601で検出(抽出)した描画命令に、イメージデータやフォントデータ等への外部リソースの参照が含まれているか否かを判断する。   Subsequently, in step S602, the layout filter 144 determines whether or not the drawing command detected (extracted) in step S601 includes a reference to an external resource such as image data or font data.

ステップS602の判断の結果、ステップS601で検出した描画命令に外部リソースの参照が含まれている場合には、ステップS603に進む。   As a result of the determination in step S602, if the drawing command detected in step S601 includes an external resource reference, the process proceeds to step S603.

ステップS603に進むと、レイアウトフィルタ144は、ステップS602で検出した外部リソースに係る外部リソース名が既に外部参照リソースリストに含まれているか否かを判断する。   In step S603, the layout filter 144 determines whether the external resource name related to the external resource detected in step S602 is already included in the external reference resource list.

ここで、外部参照リソースリストについて説明を行う。
図12は、本発明の実施形態を示し、外部参照リソースリストの一例を示す模式図である。図12に示す外部参照リソースリストは、例えば、上述した図33に示すようなFPを解析した場合に作成されるものである。
Here, the external reference resource list will be described.
FIG. 12 is a schematic diagram illustrating an example of the external reference resource list according to the embodiment of this invention. The external reference resource list shown in FIG. 12 is created, for example, when the FP as shown in FIG. 33 described above is analyzed.

この図12に示す外部参照リソースリストは、レイアウトフィルタ144により作成されて、例えば、外部メモリ111に保存されるものである。また、図12に示すように、外部参照リソースリストには、各外部リソースごとに、外部リソース名、参照回数、及び、参照済みフラグの各項目が設定される。参照済みフラグは、図10のステップS504におけるFP分割処理で使用される領域である。   The external reference resource list shown in FIG. 12 is created by the layout filter 144 and stored in the external memory 111, for example. Also, as shown in FIG. 12, in the external reference resource list, the external resource name, the number of references, and the referenced flag are set for each external resource. The referenced flag is an area used in the FP division process in step S504 in FIG.

ここで、再び、図11の説明に戻る。
ステップS603の判断の結果、ステップS602で検出した外部リソースに係る外部リソース名が既に図12に示す外部参照リソースリストに含まれている場合には、ステップS604に進む。
Here, it returns to description of FIG. 11 again.
As a result of the determination in step S603, if the external resource name related to the external resource detected in step S602 is already included in the external reference resource list shown in FIG. 12, the process proceeds to step S604.

ステップS604に進むと、レイアウトフィルタ144は、図12に示す外部参照リソースリスト内の当該外部リソース名の参照回数をインクリメントする処理を行う。   In step S604, the layout filter 144 performs a process of incrementing the reference count of the external resource name in the external reference resource list shown in FIG.

一方、ステップS603の判断の結果、ステップS602で検出した外部リソースに係る外部リソース名が図12に示す外部参照リソースリストに含まれていない場合には、ステップS605に進む。   On the other hand, as a result of the determination in step S603, if the external resource name related to the external resource detected in step S602 is not included in the external reference resource list shown in FIG. 12, the process proceeds to step S605.

ステップS605に進むと、レイアウトフィルタ144は、図12に示す外部参照リソースリストに、新規に検出した外部リソース名を追加し、その参照回数を1に設定する処理を行う。   In step S605, the layout filter 144 performs processing for adding the newly detected external resource name to the external reference resource list shown in FIG.

ステップS604もしくはステップS605の処理が終了した場合、または、ステップS602において描画命令に外部リソースの参照が含まれていないと判断された場合には、ステップS606に進む。   When the process of step S604 or step S605 is completed, or when it is determined in step S602 that the drawing command does not include a reference to an external resource, the process proceeds to step S606.

ステップS606に進むと、レイアウトフィルタ144は、現在処理中のFPパーツデータの最後まで解析を行ったか否かを判断する。この判断の結果、現在処理中のFPパーツデータの最後までは未だ解析を行っていない場合には、ステップS601に戻り、ステップS601以降の処理を再度行う。   In step S606, the layout filter 144 determines whether the analysis has been performed up to the end of the FP part data currently being processed. If the result of this determination is that analysis has not yet been performed up to the end of the FP part data currently being processed, the process returns to step S601, and the processing from step S601 is performed again.

一方、ステップS606の判断の結果、現在処理中のFPパーツデータの最後まで解析を行った場合には、図11におけるフローチャートの処理を終了する。即ち、図10のステップS502の処理を終了する。   On the other hand, as a result of the determination in step S606, if the analysis is performed up to the end of the FP part data currently being processed, the processing of the flowchart in FIG. That is, the process of step S502 in FIG.

次に、図10のステップS503におけるプリントチケット編集処理の詳細について説明する。
図13は、図10のステップS503におけるプリントチケット編集処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the print ticket editing process in step S503 in FIG. 10 will be described.
FIG. 13 is a flowchart illustrating an example of a detailed processing procedure of the print ticket editing process in step S503 of FIG.

図10のステップS503の処理では、まず、図13のステップS701において、レイアウトフィルタ144は、FP(FixedPage)パーツデータに関連付けられたプリントチケットが存在するか否かを判断する。   In the process of step S503 of FIG. 10, first, in step S701 of FIG. 13, the layout filter 144 determines whether there is a print ticket associated with FP (FixedPage) part data.

ステップS701の判断の結果、FPパーツデータに関連付けられたプリントチケットが存在しない場合には、ステップS702に進む。   If the result of determination in step S701 is that there is no print ticket associated with FP part data, the process proceeds to step S702.

ステップS702に進むと、レイアウトフィルタ144は、プリントチケットを作成して、これをXPSデータの中に含める処理を行う。   In step S702, the layout filter 144 creates a print ticket and includes it in the XPS data.

ステップS702の処理が終了した場合、或いは、ステップS701においてFPパーツデータに関連付けられたプリントチケットが存在すると判断された場合には、ステップS703に進む。   If the process in step S702 is completed, or if it is determined in step S701 that there is a print ticket associated with the FP part data, the process proceeds to step S703.

ステップS703に進むと、レイアウトフィルタ144は、図10のステップS502で作成した外部参照リソースリストの内容を、図14に示すように、<PrintTicket>ルートタグの1階層下の子要素として、<Feature>タグ1401を挿入する。   In step S703, the layout filter 144 uses the contents of the external reference resource list created in step S502 of FIG. 10 as child elements one layer below the <PrintTicket> root tag as shown in FIG. > The tag 1401 is inserted.

ここで、図14は、本発明の実施形態を示し、プリントチケットの一例を示す模式図である。上述したように、レイアウトフィルタ144は、図10のステップS502で作成した外部参照リソースリストの内容を、<Feature>タグ1401に反映する。ここで反映されるのは、図12に示す外部参照リソースリストの「外部リソース名」と「参照回数」の情報である。具体的に、図14に示す<Feature>タグ1401の1402に「外部リソース名」の情報が反映され、<Feature>タグ1401の1403に「参照回数」の情報が反映されている。   Here, FIG. 14 is a schematic diagram illustrating an example of a print ticket according to the embodiment of the present invention. As described above, the layout filter 144 reflects the contents of the external reference resource list created in step S <b> 502 of FIG. 10 in the <Feature> tag 1401. Here, the information of “external resource name” and “reference count” in the external reference resource list shown in FIG. 12 is reflected. Specifically, information of “external resource name” is reflected in 1402 of <Feature> tag 1401 shown in FIG. 14, and information of “reference count” is reflected in 1403 of <Feature> tag 1401.

ここで、<Feature>タグ1401の挿入には、DOM等のインターフェースを備えた一般的なXML解析用モジュールを使用する。また、外部参照リソースリストの情報のプリントチケット内における表現の方法は、図12に示す外部参照リソースリストの情報を一意に復元することが可能であれば、どのような方法であってもよい。   Here, a general XML analysis module having an interface such as DOM is used to insert the <Feature> tag 1401. The method of expressing the information of the external reference resource list in the print ticket may be any method as long as the information of the external reference resource list shown in FIG. 12 can be uniquely restored.

以上の図13に示すステップS701〜S703の処理を経ることにより、図10のステップS503におけるプリントチケット編集処理が行われる。   Through the processes in steps S701 to S703 shown in FIG. 13, the print ticket editing process in step S503 in FIG. 10 is performed.

次に、図10のステップS504におけるFPの分割処理の詳細について説明する。
図15は、図10のステップS504におけるFP分割処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FP division processing in step S504 in FIG. 10 will be described.
FIG. 15 is a flowchart illustrating an example of a detailed processing procedure of the FP division processing in step S504 of FIG.

図10のステップS504の処理では、まず、図15のステップS801において、レイアウトフィルタ144は、プリンタ200の限界メモリ量を取得する処理を行う。この限界メモリ量の値は、プリンタドライバ内に固定値として保持されている。   In the process of step S504 in FIG. 10, first, in step S801 in FIG. 15, the layout filter 144 performs a process of acquiring the limit memory amount of the printer 200. This limit memory amount value is held as a fixed value in the printer driver.

続いて、ステップS802において、レイアウトフィルタ144は、例えば外部メモリ111の記憶領域に、外部リソースのメモリ量(合計)に相当する領域を確保し、その領域の値(外部リソースメモリ量合計)を0に設定する。   Subsequently, in step S802, the layout filter 144 secures an area corresponding to the memory amount (total) of the external resources, for example, in the storage area of the external memory 111, and sets the value of the area (total external resource memory amount) to 0. Set to.

続いて、ステップS803において、レイアウトフィルタ144は、例えば外部メモリ111の記憶領域に、処理中のFPデータのメモリ量(合計)に相当する領域を確保し、その領域の値(処理FPメモリ量合計)を0に設定する。   Subsequently, in step S803, the layout filter 144 secures an area corresponding to the memory amount (total) of the FP data being processed, for example, in the storage area of the external memory 111, and the value of the area (total processing FP memory amount) ) Is set to 0.

ステップS802及びS803で確保した領域は、FPの分割処理中に使用される。   The area secured in steps S802 and S803 is used during the FP division process.

続いて、ステップS804において、レイアウトフィルタ144は、描画命令を1つ検出(取得)する処理を行う。   Subsequently, in step S804, the layout filter 144 performs a process of detecting (acquiring) one drawing command.

続いて、ステップS805において、レイアウトフィルタ144は、ステップS804の検出開始時から検出終了時までのXMLデータ量を、処理FPメモリ量合計に加算する処理を行う。   Subsequently, in step S805, the layout filter 144 performs processing for adding the XML data amount from the detection start time to the detection end time in step S804 to the total processing FP memory amount.

続いて、ステップS806において、レイアウトフィルタ144は、ステップS804で検出した描画命令が外部リソースを参照するか否かを判断する。   Subsequently, in step S806, the layout filter 144 determines whether or not the drawing command detected in step S804 refers to an external resource.

ステップS806の判断の結果、ステップS804で検出した描画命令が外部リソースを参照する場合には、ステップS807に進む。   As a result of the determination in step S806, if the drawing command detected in step S804 refers to an external resource, the process proceeds to step S807.

ステップS807に進むと、レイアウトフィルタ144は、ステップS806で検出した外部リソースが外部リソース参照リスト内に存在するか否かを判断する。ここで、外部リソースが外部リソース参照リスト内に存在しない場合は、既に、当該外部リソースがXPSデータに追加されているということである。   In step S807, the layout filter 144 determines whether the external resource detected in step S806 exists in the external resource reference list. Here, when the external resource does not exist in the external resource reference list, it means that the external resource has already been added to the XPS data.

ステップS807の判断の結果、ステップS806で検出した外部リソースが外部リソース参照リスト内に存在する場合には、ステップS808に進む。   If it is determined in step S807 that the external resource detected in step S806 exists in the external resource reference list, the process proceeds to step S808.

ステップS808に進むと、レイアウトフィルタ144は、外部参照リソースリスト内の当該外部リソースの参照回数をデクリメントし、参照済みフラグをONにする。   In step S808, the layout filter 144 decrements the reference count of the external resource in the external reference resource list, and sets the referenced flag to ON.

続いて、ステップS809において、レイアウトフィルタ144は、外部参照リソースリスト内の当該外部リソースの参照回数が0であるか否かを判断する。   Subsequently, in step S809, the layout filter 144 determines whether the reference count of the external resource in the external reference resource list is zero.

ステップS809の判断の結果、外部参照リソースリスト内の当該外部リソースの参照回数が0である場合には、ステップS810に進む。   As a result of the determination in step S809, when the reference count of the external resource in the external reference resource list is 0, the process proceeds to step S810.

ステップS810に進むと、レイアウトフィルタ144は、現在検出中の描画命令に基づいてFPの分割処理を行う。具体的には、FPピースデータを伸張して、伸張されたデータから現在検出中の描画命令のところまでを抽出し、当該抽出したデータを分割したFPピースデータ(パーツデータ)として作成する。より、詳細には、前回FPを分割した箇所より後から現在検出中の描画命令のところまででFPを分割し、これをFPピースデータ(パーツデータ)として作成する。そして、レイアウトフィルタ144は、作成したFPピースデータを圧縮してXPSデータに追加する。   In step S810, the layout filter 144 performs FP division processing based on the drawing command currently being detected. Specifically, the FP piece data is expanded, the portion from the expanded data to the drawing command currently being detected is extracted, and the extracted data is created as divided FP piece data (part data). More specifically, the FP is divided from the position where the previous FP was divided to the drawing command currently being detected, and this is created as FP piece data (part data). Then, the layout filter 144 compresses the created FP piece data and adds it to the XPS data.

ここで、ステップS810で作成されたFPピースデータは、初めは、図9のステップS404で追加されたFDパーツデータ(ピースデータ)の後であって、図7の704及び705が追加された後に、図7の706として配置され追加される。また、次に作成されたFPピースデータは、後工程であるステップS811で追加された外部リソースの後に、図7の709として配置され追加される。   Here, the FP piece data created in step S810 is initially after the FD part data (piece data) added in step S404 in FIG. 9 and after 704 and 705 in FIG. 7 are added. 7 is arranged and added as 706 in FIG. Further, the FP piece data created next is arranged and added as 709 in FIG. 7 after the external resource added in step S811, which is a subsequent process.

続いて、ステップS811において、レイアウトフィルタ144は、外部参照リソースリストを先頭から検索し、現在検出した外部リソースを、分割したFPピースデータ(例えば、図7の706)の直後に続けてXPSデータに追加する。例えば、図7に示す例では、現在検出した外部リソースを、図7の707及び708として配置して追加する。   Subsequently, in step S811, the layout filter 144 searches the external reference resource list from the top, and converts the currently detected external resource to XPS data immediately after the divided FP piece data (eg, 706 in FIG. 7). to add. For example, in the example shown in FIG. 7, the currently detected external resources are arranged and added as 707 and 708 in FIG.

続いて、ステップS812において、レイアウトフィルタ144は、外部参照リソースリストの先頭から現在検出した外部リソースまでを、当該外部参照リソースリストから削除する処理を行う。   Subsequently, in step S812, the layout filter 144 performs a process of deleting from the head of the external reference resource list to the currently detected external resource from the external reference resource list.

続いて、ステップS813において、レイアウトフィルタ144は、外部リソースメモリ量合計を0に設定する。   Subsequently, in step S813, the layout filter 144 sets the total external resource memory amount to zero.

続いて、ステップS814において、レイアウトフィルタ144は、処理FPメモリ量合計を0に設定する。   Subsequently, in step S814, the layout filter 144 sets the total processing FP memory amount to zero.

また、ステップS809の判断の結果、外部参照リソースリスト内の当該外部リソースの参照回数が0でない場合には、ステップS815に進む。   If it is determined in step S809 that the number of references to the external resource in the external reference resource list is not 0, the process proceeds to step S815.

ステップS815に進むと、レイアウトフィルタ144は、外部リソースメモリ量合計に、検出した外部リソースのメモリ量(具体的には、外部リソースの展開後のメモリ量)を加算する処理を行う。この際、加算する外部リソースの展開後のメモリ量は、ZIPヘッダの中に記述されているのでそれを参照する。   In step S815, the layout filter 144 performs processing to add the detected external resource memory amount (specifically, the amount of memory after expansion of the external resource) to the external resource memory amount total. At this time, the amount of memory after expansion of the external resource to be added is described in the ZIP header, and is referred to.

ステップS815の処理が終了した場合、ステップS806においてステップS804で検出した描画命令が外部リソースを参照しないと判断された場合、或いは、ステップS807においてステップS806で検出した外部リソースが外部リソース参照リスト内に存在しないと判断された場合には、ステップS816に進む。   When the process of step S815 is completed, when it is determined in step S806 that the drawing command detected in step S804 does not refer to the external resource, or in step S807, the external resource detected in step S806 is included in the external resource reference list. If it is determined that it does not exist, the process proceeds to step S816.

ステップS816に進むと、レイアウトフィルタ144は、処理FPメモリ量合計と外部リソースメモリ量合計との合計が、ステップS801で取得したプリンタ200の限界メモリ量を超えているか否かを判断する。   In step S816, the layout filter 144 determines whether the sum of the processing FP memory amount and the external resource memory amount exceeds the limit memory amount of the printer 200 acquired in step S801.

ステップS816の判断の結果、処理FPメモリ量合計と外部リソースメモリ量合計との合計が、ステップS801で取得したプリンタ200の限界メモリ量を超えている場合には、ステップS817に進む。   As a result of the determination in step S816, if the sum of the processing FP memory amount and the external resource memory amount exceeds the limit memory amount of the printer 200 acquired in step S801, the process proceeds to step S817.

ステップS817に進むと、レイアウトフィルタ144は、ステップS810と同様の処理、即ち、現在検出中の描画命令に基づいてFPの分割を行い、当該分割により作成されたFPピースデータを圧縮してXPSデータに追加する。なお、追加するXPSデータは、ステップS801で取得したプリンタ200の限界メモリ量を超えない位置で分割されたデータである。   In step S817, the layout filter 144 performs the same processing as in step S810, that is, performs FP division based on the drawing command currently detected, compresses the FP piece data created by the division, and generates XPS data. Add to Note that the XPS data to be added is data divided at a position that does not exceed the limit memory amount of the printer 200 acquired in step S801.

続いて、ステップS818に進むと、レイアウトフィルタ144は、外部参照リソースリストを先頭から検索し、参照済みフラグがONになっている外部リソースを全て、ステップS817で追加したFPピースデータの直後に続けてXPSデータに追加する。   Subsequently, when proceeding to step S818, the layout filter 144 searches the external reference resource list from the top, and continues all the external resources whose referenced flags are ON immediately after the FP piece data added in step S817. To add to the XPS data.

続いて、ステップS819において、レイアウトフィルタ144は、外部参照リソースリストを先頭から検索し、参照済みフラグがONになっている外部リソースを全て、当該外部参照リソースリストから削除する処理を行う。   Subsequently, in step S819, the layout filter 144 searches the external reference resource list from the top, and performs a process of deleting all external resources for which the referenced flag is ON from the external reference resource list.

続いて、ステップS820において、レイアウトフィルタ144は、ステップS813と同様の処理、即ち、外部リソースメモリ量合計を0に設定する。   Subsequently, in step S820, the layout filter 144 sets the same processing as in step S813, that is, sets the total external resource memory amount to zero.

続いて、ステップS821において、レイアウトフィルタ144は、ステップS814と同様の処理、即ち、処理FPメモリ量合計を0に設定する。   Subsequently, in step S821, the layout filter 144 sets the processing similar to that in step S814, that is, the total processing FP memory amount to 0.

ステップS814の処理が終了した場合、ステップS821の処理が終了した場合、或いは、ステップS816において処理FPメモリ量合計と外部リソースメモリ量合計との合計がプリンタ200の限界メモリ量を超えていないと判断された場合には、ステップS822に進む。   When the process of step S814 is completed, when the process of step S821 is completed, or in step S816, it is determined that the total of the processing FP memory amount and the external resource memory amount does not exceed the limit memory amount of the printer 200. If so, the process proceeds to step S822.

ステップS822に進むと、レイアウトフィルタ144は、現在処理中のFPパーツデータの最後まで解析を行ったか否かを判断する。この判断の結果、現在処理中のFPパーツデータの最後までは未だ解析を行っていない場合には、ステップS804に戻り、ステップS804以降の処理を再度行う。   In step S822, the layout filter 144 determines whether the analysis has been performed up to the end of the FP part data currently being processed. If the result of this determination is that analysis has not yet been performed up to the end of the FP part data currently being processed, processing returns to step S804, and processing from step S804 onward is performed again.

一方、ステップS822の判断の結果、現在処理中のFPパーツデータの最後まで解析を行った場合には、ステップS823に進む。   On the other hand, if the result of determination in step S822 is that analysis has been performed up to the end of the FP part data currently being processed, the process proceeds to step S823.

ステップS823に進むと、レイアウトフィルタ144は、XPSデータに追加されていない箇所(処理部分)を最後のFPピースデータとして、XPSデータに追加する。その後、図15におけるフローチャートの処理を終了する。即ち、図10のステップS504の処理を終了する。これにより、FPパーツ(印刷対象データ)でリソースファイルを参照する参照回数を含む、FPパーツ(印刷対象データ)を印刷する際に利用される属性を記憶するプリントチケット(属性情報ファイル)と、分割により作成されたFPピースデータ(印刷対象データ)のファイルと、FDパーツ(ページ構成データ)のファイルと、リソースファイルとを含むアーカイブデータが生成される。   In step S823, the layout filter 144 adds a portion (processing portion) not added to the XPS data to the XPS data as the last FP piece data. Thereafter, the process of the flowchart in FIG. That is, the process of step S504 in FIG. Thus, a print ticket (attribute information file) that stores attributes used when printing an FP part (print target data), including the number of times the resource file is referred to by the FP part (print target data), is divided. The archive data including the FP piece data (print target data) file, the FD part (page configuration data) file, and the resource file created by the above is generated.

図15において、ステップS810及びS811、または、ステップS818及びS819の処理を行うことによって、FPパーツデータを分割したXPSデータが生成され、メモリの少ないローコストプリンタでもXPSデータをダイレクト印刷することが可能となる。   In FIG. 15, by performing the processing of steps S810 and S811, or steps S818 and S819, XPS data obtained by dividing the FP part data is generated, and XPS data can be directly printed even by a low-cost printer with a small amount of memory. Become.

図16は、本発明の実施形態を示し、図4に示すレイアウトフィルタ144において分割されたFPの一例を示す模式図である。
図33に示すFPを図12に示す外部参照リソースリストを使用して分割処理した場合、プリンタ200の限界メモリ量を1度も超えることが無ければ、図16に示すようになる。そして、これを図7に示すように、XPSデータ内に配置することになる。なお、この場合、ステップS823で追加した最後のFPピースデータは、例えば、図16の1604及び図7の713で示される、「/Document/1/Page/1.Fpage/[3].Last.Piece」である。また、もしプリンタ200の限界メモリ量の値が小さければ、図34や図35のように参照箇所ごとに分割されることもあり得る。
FIG. 16 is a schematic diagram illustrating an example of the FP divided by the layout filter 144 illustrated in FIG. 4 according to the embodiment of this invention.
When the FP shown in FIG. 33 is divided using the external reference resource list shown in FIG. 12, if the limit memory amount of the printer 200 is never exceeded, the result is as shown in FIG. Then, this is arranged in the XPS data as shown in FIG. In this case, the last FP piece data added in step S823 is, for example, “/Document/1/Page/1.Fpage/[3].Last.” Indicated by 1604 in FIG. 16 and 713 in FIG. “Piece”. Further, if the value of the limit memory amount of the printer 200 is small, it may be divided for each reference location as shown in FIGS.

図17は、本発明の実施形態に係る印刷制御システム10のプリンタ200によるXPSプリントパスを用いた印刷制御処理の処理手順の一例を示すフローチャートである。   FIG. 17 is a flowchart illustrating an example of a processing procedure of print control processing using an XPS print path by the printer 200 of the print control system 10 according to the embodiment of the present invention.

まず、図17のステップS901において、プリンタ200のCPU201は、ホストコンピュータ100からXPSデータを受信する。この受信したXPSデータは、プリンタ200で即時に印刷処理させるために、ホストコンピュータ100でXPSデータを細分化データ(パケット)単位にして送信されたデータである。また、細分化データをデータストリームの受信に従って、順次プリンタ200の記憶領域(例えば、外部メモリ210)に記憶して格納する(データストリーム)。
なお、ステップS901のデータストリームは、後述するステップS902の処理を実行しながら行っている。また、ステップS902の処理は、データストリームしたデータをプリンタ200の記憶領域(例えば、外部メモリ210)から順次読み出し処理する。なお、ステップS902の処理は、各処理が実行できる単位(1つのファイル(パーツ)分)を受信していない(読み出しができない)場合は処理を待機する。
First, in step S <b> 901 in FIG. 17, the CPU 201 of the printer 200 receives XPS data from the host computer 100. The received XPS data is data transmitted by the host computer 100 in units of fragmented data (packets) so that the printer 200 can immediately perform printing processing. Further, according to the reception of the data stream, the segmented data is sequentially stored and stored in the storage area (for example, the external memory 210) of the printer 200 (data stream).
Note that the data stream in step S901 is performed while executing the process in step S902 described later. In step S902, the data stream is sequentially read from the storage area of the printer 200 (for example, the external memory 210). Note that the processing in step S902 waits for processing when a unit (one file (part)) that can be executed by each processing is not received (cannot be read).

続いて、ステップS902において、プリンタ200のCPU201は、ステップS901で取得したXPSデータの解析を行って、XPSデータの印刷処理を行う。   In step S902, the CPU 201 of the printer 200 analyzes the XPS data acquired in step S901, and performs XPS data printing processing.

次に、図17のステップS902におけるXPSデータの解析・印刷処理の詳細について説明する。
図18は、図17のステップS902におけるXPSデータの解析・印刷処理の詳細な処理手順の一例を示すフローチャートである。
Next, the details of the XPS data analysis / printing process in step S902 of FIG. 17 will be described.
FIG. 18 is a flowchart illustrating an example of a detailed processing procedure of XPS data analysis / print processing in step S902 of FIG.

図17のステップS902の処理では、まず、図18のステップS1001において、プリンタ200のCPU201は、未処理の「_rels/.rels」パーツデータが存在するか否かを判断する。   In the process of step S902 of FIG. 17, first, in step S1001 of FIG. 18, the CPU 201 of the printer 200 determines whether or not unprocessed “_rels / .rels” part data exists.

ステップS1001の判断の結果、未処理の「_rels/.rels」パーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図18におけるフローチャートの処理を終了する。即ち、図17のステップS902の処理を終了する。   If there is no unprocessed “_rels / .rels” part data as a result of the determination in step S1001 (that is, if all parts data has been analyzed (processed)), the process of the flowchart in FIG. 18 ends. To do. That is, the process of step S902 in FIG.

一方、ステップS1001の判断の結果、未処理の「_rels/.rels」パーツデータが存在する場合には、ステップS1002に進む。   On the other hand, as a result of the determination in step S1001, if unprocessed “_rels / .rels” part data exists, the process proceeds to step S1002.

ステップS1002に進むと、プリンタ200のCPU201は、未処理の「_rels/.rels」パーツデータを全て取得したか否かを判断する。   In step S1002, the CPU 201 of the printer 200 determines whether all unprocessed “_rels / .rels” part data has been acquired.

ステップS1002の判断の結果、未処理の「_rels/.rels」パーツデータの全てを取得していない場合には、ステップS1003に進む。   If all the unprocessed “_rels / .rels” part data has not been acquired as a result of the determination in step S1002, the process proceeds to step S1003.

ステップS1003に進むと、プリンタ200のCPU201は、次の「_rels/.rels」パーツデータまたはピースデータを検索し、これを伸長して取得する。   In step S1003, the CPU 201 of the printer 200 searches for the next “_rels / .rels” part data or piece data, expands and acquires it.

ステップS1003の処理が終了した場合、或いは、ステップS1002において未処理の「_rels/.rels」パーツデータを全て取得したと判断された場合には、ステップS1004に進む。   When the process of step S1003 is completed, or when it is determined in step S1002 that all unprocessed “_rels / .rels” part data has been acquired, the process proceeds to step S1004.

続いて、ステップS1004において、プリンタ200のCPU201は、取得した次の「_rels/.rels」パーツデータ(ピースデータ)を解析し、XPSデータ内のFDSのデータ名を取得する処理を行う。ここで、前述したように、「_rels/.rels」パーツデータ(ピースデータ)は、XML形式で記述されたファイルであり、本実施形態では、当該解析の方法として、一般的なXMLファイルの解析方法を採用するものとする。なお、以後、XML形式で記述されたファイルを解析する場合は、本例と同様に、一般的なXMLファイルの解析方法を採用するものとする。   In step S <b> 1004, the CPU 201 of the printer 200 analyzes the next acquired “_rels / .rels” part data (piece data), and performs processing for acquiring the FDS data name in the XPS data. Here, as described above, the “_rels / .rels” part data (piece data) is a file described in the XML format. In this embodiment, a general XML file analysis is used as the analysis method. The method shall be adopted. Hereinafter, when a file described in the XML format is analyzed, a general XML file analysis method is adopted as in this example.

続いて、ステップS1005において、プリンタ200のCPU201は、ステップS1004でFDSのデータ名を取得できたか否かを判断する。   In step S1005, the CPU 201 of the printer 200 determines whether the FDS data name has been acquired in step S1004.

ステップS1005の判断の結果、ステップS1004でFDSのデータ名を取得できた場合には、ステップS1006に進む。   If it is determined in step S1005 that the FDS data name has been acquired in step S1004, the process advances to step S1006.

ステップS1006に進むと、プリンタ200のCPU201は、当該FDSの処理を行う。   In step S1006, the CPU 201 of the printer 200 performs the FDS process.

ステップS1006の処理が終了した場合、或いは、ステップS1005においてFDSのデータ名を取得できなかったと判断された場合には、ステップS1001に戻り、ステップS1001以降の処理を再度行う。   When the process of step S1006 is completed, or when it is determined in step S1005 that the FDS data name could not be acquired, the process returns to step S1001, and the processes after step S1001 are performed again.

以上の図18に示すステップS1001〜S1006の処理を経ることにより、図17のステップS902におけるXPSデータの解析・印刷処理が行われる。即ち、図18の処理は、ホストコンピュータ100のレイアウトフィルタ144で行われる図6の処理と同様の処理が行われる。   Through the processes of steps S1001 to S1006 shown in FIG. 18, the XPS data analysis / print process in step S902 of FIG. 17 is performed. That is, the process of FIG. 18 is the same as the process of FIG. 6 performed by the layout filter 144 of the host computer 100.

次に、図18のステップS1006におけるFDSの処理の詳細について説明する。
図19は、図18のステップS1006におけるFDSの処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FDS processing in step S1006 of FIG. 18 will be described.
FIG. 19 is a flowchart illustrating an example of a detailed processing procedure of FDS processing in step S1006 of FIG.

図18のステップS1006の処理では、まず、図19のステップS1101において、プリンタ200のCPU201は、未処理のFDSパーツデータが存在するか否かを判断する。   In step S1006 of FIG. 18, first, in step S1101 of FIG. 19, the CPU 201 of the printer 200 determines whether or not unprocessed FDS part data exists.

ステップS1101の判断の結果、未処理のFDSパーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図19におけるフローチャートの処理を終了する。即ち、図18のステップS1006の処理を終了する。   If there is no unprocessed FDS part data as a result of the determination in step S1101 (that is, if all parts data has been analyzed (processed)), the processing of the flowchart in FIG. That is, the process of step S1006 in FIG.

一方、ステップS1101の判断の結果、未処理のFDSパーツデータが存在する場合には、ステップS1102に進む。   On the other hand, if it is determined in step S1101 that there is unprocessed FDS part data, the process advances to step S1102.

ステップS1102に進むと、プリンタ200のCPU201は、未処理のFDSパーツデータを全て取得したか否かを判断する。   In step S1102, the CPU 201 of the printer 200 determines whether all unprocessed FDS part data has been acquired.

ステップS1102の判断の結果、未処理のFDSパーツデータの全てを取得していない場合には、ステップS1103に進む。   If all the unprocessed FDS parts data has not been acquired as a result of the determination in step S1102, the process proceeds to step S1103.

ステップS1103に進むと、プリンタ200のCPU201は、次のFDSパーツデータまたはピースデータを検索し、これを伸長して取得する。   In step S1103, the CPU 201 of the printer 200 searches for the next FDS part data or piece data, and decompresses and acquires the data.

ステップS1103の処理が終了した場合、或いは、ステップS1102において未処理のFDSパーツデータを全て取得したと判断された場合には、ステップS1104に進む。   When the process of step S1103 is completed, or when it is determined in step S1102 that all unprocessed FDS part data has been acquired, the process proceeds to step S1104.

続いて、ステップS1104において、プリンタ200のCPU201は、取得した次のFDSパーツデータ(ピースデータ)を解析し、XPSデータ内のFDのデータ名を1つ取得する処理を行う。   Subsequently, in step S1104, the CPU 201 of the printer 200 analyzes the acquired next FDS part data (piece data) and performs a process of acquiring one FD data name in the XPS data.

続いて、ステップS1105において、プリンタ200のCPU201は、ステップS1104でFDのデータ名を取得できたか否かを判断する。   Subsequently, in step S1105, the CPU 201 of the printer 200 determines whether or not the FD data name has been acquired in step S1104.

ステップS1105の判断の結果、ステップS1104でFDのデータ名を取得できた場合には、ステップS1106に進む。   If it is determined in step S1105 that the FD data name has been acquired in step S1104, the process advances to step S1106.

ステップS1106に進むと、プリンタ200のCPU201は、当該FDの処理を行う。   In step S1106, the CPU 201 of the printer 200 performs the FD processing.

ステップS1106の処理が終了した場合、或いは、ステップS1105においてFDのデータ名を取得できなかったと判断された場合には、ステップS1101に戻り、ステップS1101以降の処理を再度行う。   When the process of step S1106 is completed, or when it is determined in step S1105 that the FD data name could not be acquired, the process returns to step S1101 and the processes after step S1101 are performed again.

以上の図19に示すステップS1101〜S1106の処理を経ることにより、図18のステップS1006におけるFDSの処理が行われる。即ち、図19の処理は、ホストコンピュータ100のレイアウトフィルタ144で行われる図8の処理と同様の処理が行われる。   Through the processes of steps S1101 to S1106 shown in FIG. 19, the FDS process in step S1006 of FIG. 18 is performed. That is, the process of FIG. 19 is the same as the process of FIG. 8 performed by the layout filter 144 of the host computer 100.

次に、図19のステップS1106におけるFDの処理の詳細について説明する。
図20は、図19のステップS1106におけるFDの処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FD processing in step S1106 of FIG. 19 will be described.
FIG. 20 is a flowchart illustrating an example of a detailed processing procedure of the FD processing in step S1106 of FIG.

図19のステップS1106の処理では、まず、図20のステップS1201において、プリンタ200のCPU201は、未処理のFDパーツデータが存在するか否かを判断する。   In the process of step S1106 of FIG. 19, first, in step S1201 of FIG. 20, the CPU 201 of the printer 200 determines whether or not unprocessed FD part data exists.

ステップS1201の判断の結果、未処理のFDパーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図20におけるフローチャートの処理を終了する。即ち、図19のステップS1106の処理を終了する。   As a result of the determination in step S1201, when there is no unprocessed FD part data (that is, when all the part data has been analyzed (processed)), the process of the flowchart in FIG. That is, the process of step S1106 in FIG.

一方、ステップS1201の判断の結果、未処理のFDパーツデータが存在する場合には、ステップS1202に進む。   On the other hand, if there is unprocessed FD part data as a result of the determination in step S1201, the process proceeds to step S1202.

ステップS1202に進むと、プリンタ200のCPU201は、未処理のFDパーツデータを全て取得したか否かを判断する。   In step S1202, the CPU 201 of the printer 200 determines whether all unprocessed FD part data has been acquired.

ステップS1202の判断の結果、未処理のFDパーツデータの全てを取得していない場合には、ステップS1203に進む。   If all the unprocessed FD part data has not been acquired as a result of the determination in step S1202, the process proceeds to step S1203.

ステップS1203に進むと、プリンタ200のCPU201は、次のFDパーツデータまたはピースデータを検索し、これを伸長して取得する。   In step S1203, the CPU 201 of the printer 200 searches for the next FD part data or piece data, and expands and acquires it.

ステップS1203の処理が終了した場合、或いは、ステップS1202において未処理のFDパーツデータを全て取得したと判断された場合には、ステップS1204に進む。   If the process of step S1203 is completed, or if it is determined in step S1202 that all unprocessed FD part data has been acquired, the process proceeds to step S1204.

続いて、ステップS1204において、プリンタ200のCPU201は、取得した次のFDパーツデータ(ピースデータ)を解析し、XPSデータ内のFPのデータ名を1つ取得する処理を行う。   Subsequently, in step S1204, the CPU 201 of the printer 200 analyzes the acquired next FD part data (piece data), and performs a process of acquiring one FP data name in the XPS data.

続いて、ステップS1205において、プリンタ200のCPU201は、ステップS1204でFPのデータ名を取得できたか否かを判断する。   In step S1205, the CPU 201 of the printer 200 determines whether or not the FP data name has been acquired in step S1204.

ステップS1205の判断の結果、ステップS1204でFPのデータ名を取得できた場合には、ステップS1206に進む。   If it is determined in step S1205 that the FP data name has been acquired in step S1204, the process advances to step S1206.

ステップS1206に進むと、プリンタ200のCPU201は、当該FPの処理を行う。   In step S1206, the CPU 201 of the printer 200 performs the FP process.

ステップS1206の処理が終了した場合、或いは、ステップS1205においてFPのデータ名を取得できなかったと判断された場合には、ステップS1201に戻り、ステップS1201以降の処理を再度行う。   When the process of step S1206 is completed, or when it is determined in step S1205 that the FP data name could not be acquired, the process returns to step S1201, and the processes after step S1201 are performed again.

以上の図20に示すステップS1201〜S1206の処理を経ることにより、図19のステップS1106におけるFDの処理が行われる。即ち、図20の処理は、ホストコンピュータ100のレイアウトフィルタ144で行われる図9の処理と同様の処理が行われる。   Through the processes in steps S1201 to S1206 shown in FIG. 20, the FD process in step S1106 in FIG. 19 is performed. That is, the process of FIG. 20 is the same as the process of FIG. 9 performed by the layout filter 144 of the host computer 100.

次に、図20のステップS1206におけるFPの処理の詳細について説明する。
図21は、図20のステップS1206におけるFPの処理の詳細な処理手順の一例を示すフローチャートである。
Next, details of the FP process in step S1206 of FIG. 20 will be described.
FIG. 21 is a flowchart illustrating an example of a detailed processing procedure of FP processing in step S1206 of FIG.

図20のステップS1206の処理では、まず、図21のステップS1301において、プリンタ200のCPU201は、FPパーツデータに関連付けられたプリントチケット3505を検索し伸長して取得し、例えば、図12に示すような外部参照リソースリストを作成する。なお、プリントチケット3505は、FPパーツデータに先立ってプリンタ200は受信されるため、このタイミングで図12に示すような外部参照リソースリストを作成することが可能である。   In the process of step S1206 in FIG. 20, first, in step S1301 in FIG. 21, the CPU 201 of the printer 200 searches for and acquires the print ticket 3505 associated with the FP part data, for example, as shown in FIG. A safe external reference resource list. Since the print ticket 3505 is received by the printer 200 prior to the FP parts data, an external reference resource list as shown in FIG. 12 can be created at this timing.

続いて、ステップS1302において、プリンタ200のCPU201は、未処理のFPパーツデータが存在するか否かを判断する。なお、FPパーツが分割されている場合、各FPパーツデータは、ステップS1204において取得したFPのデータ名に添え字[1][2][3]・・・[i]が付してある。つまり、FPパーツを分割した場合にも、FPのデータ名を用いて未処理のFPパーツデータが存在するか否かを判断することができる。   Subsequently, in step S1302, the CPU 201 of the printer 200 determines whether there is unprocessed FP part data. When the FP parts are divided, each FP part data has the subscripts [1] [2] [3]... [I] added to the data name of the FP acquired in step S1204. That is, even when an FP part is divided, it is possible to determine whether or not there is unprocessed FP part data using the FP data name.

ステップS1302の判断の結果、未処理のFPパーツデータが存在しない場合(即ち、全てのパーツデータについて解析(処理)済みである場合)には、図21におけるフローチャートの処理を終了する。即ち、図20のステップS1206の処理を終了する。   If there is no unprocessed FP part data as a result of the determination in step S1302 (that is, if all parts data has been analyzed (processed)), the processing of the flowchart in FIG. That is, the process of step S1206 in FIG.

一方、ステップS1302の判断の結果、未処理のFPパーツデータが存在する場合には、ステップS1303に進む。   On the other hand, if there is unprocessed FP part data as a result of the determination in step S1302, the process proceeds to step S1303.

ステップS1303に進むと、プリンタ200のCPU201は、未処理のFPパーツデータを全て取得したか否かを判断する。   In step S1303, the CPU 201 of the printer 200 determines whether all unprocessed FP part data has been acquired.

ステップS1303の判断の結果、未処理のFPパーツデータの全てを取得していない場合には、ステップS1304に進む。   If it is determined in step S1303 that all unprocessed FP part data has not been acquired, the process advances to step S1304.

ステップS1304に進むと、プリンタ200のCPU201は、次のFPパーツデータまたはピースデータを検索し、これを伸長して取得する。   In step S1304, the CPU 201 of the printer 200 searches for the next FP part data or piece data, and decompresses and acquires the data.

続いて、ステップS1305において、プリンタ200のCPU201は、ステップS1305で取得したFPパーツデータまたはピースデータの描画命令処理を行う。   Subsequently, in step S1305, the CPU 201 of the printer 200 performs a drawing command process for the FP part data or piece data acquired in step S1305.

ステップS1305の処理が終了した場合、或いは、ステップS1303において未処理のFPパーツデータの全てを取得していないと判断された場合には、ステップS1302に戻り、ステップS1302以降の処理を再度行う。   When the process of step S1305 is completed, or when it is determined in step S1303 that not all the unprocessed FP part data has been acquired, the process returns to step S1302, and the processes after step S1302 are performed again.

以上の図21に示すステップS1301〜S1305の処理を経ることにより、図20のステップS1206におけるFPの処理が行われる。   The FP process in step S1206 in FIG. 20 is performed through the processes in steps S1301 to S1305 shown in FIG.

次に、図21のステップS1305におけるFPパーツデータまたはピースデータの描画命令処理(FP描画命令処理)の詳細について説明する。
図22は、図21のステップS1305におけるFP描画命令処理の詳細な処理手順の一例を示すフローチャートである。
Next, the details of the FP part data or piece data drawing command processing (FP drawing command processing) in step S1305 of FIG. 21 will be described.
FIG. 22 is a flowchart illustrating an example of a detailed processing procedure of the FP drawing command processing in step S1305 of FIG.

図21のステップS1305の処理では、まず、図22のステップS1401において、プリンタ200のCPU201は、図21のステップS1304の処理で取得したFPデータを解析して、描画命令を検出(抽出)する処理を行う。   In step S1305 in FIG. 21, first, in step S1401 in FIG. 22, the CPU 201 of the printer 200 analyzes the FP data acquired in step S1304 in FIG. 21, and detects (extracts) a drawing command. I do.

続いて、ステップS1402において、プリンタ200のCPU201は、ステップS1401で検出(抽出)した描画命令に、イメージデータやフォントデータ等への外部リソースの参照が含まれているか否かを判断する。   In step S1402, the CPU 201 of the printer 200 determines whether the drawing command detected (extracted) in step S1401 includes a reference to an external resource such as image data or font data.

ステップS1402の判断の結果、ステップS1401で検出した描画命令に外部リソースの参照が含まれている場合には、ステップS1403に進む。   If the result of determination in step S1402 is that the rendering command detected in step S1401 includes a reference to an external resource, the process proceeds to step S1403.

ステップS1403に進むと、プリンタ200のCPU201は、プリンタ200の記憶領域(例えば、外部メモリ210)に格納されている外部リソースを取得し、描画処理を行う。この際、ステップS1401で検出した描画命令から参照される外部リソースは、当該描画命令が記述されているFPピースデータの直後に、後工程であるステップS1404の処理において配置されるため、プリンタ200の記憶領域に存在しているものである。   In step S1403, the CPU 201 of the printer 200 acquires an external resource stored in a storage area (for example, the external memory 210) of the printer 200 and performs a drawing process. At this time, the external resource referred to from the drawing command detected in step S1401 is arranged immediately after the FP piece data in which the drawing command is described in the process of step S1404, which is a subsequent process. It exists in the storage area.

続いて、ステップS1404において、プリンタ200のCPU201は、ステップS1301の処理で作成した外部参照リソースリスト内の当該検出した外部リソースの参照回数をデクリメントする。   Subsequently, in step S1404, the CPU 201 of the printer 200 decrements the reference count of the detected external resource in the external reference resource list created in step S1301.

続いて、ステップS1405において、プリンタ200のCPU201は、外部参照リソースリスト内の当該外部リソースの参照回数が0であるか否かを判断する。   In step S1405, the CPU 201 of the printer 200 determines whether the number of times the external resource is referenced in the external reference resource list is zero.

ステップS1405の判断の結果、外部参照リソースリスト内の当該外部リソースの参照回数が0である場合には、ステップS1406に進む。   If the result of determination in step S1405 is that the number of times the external resource is referenced in the external reference resource list is 0, processing proceeds to step S1406.

ステップS1406に進むと、プリンタ200のCPU201は、プリンタ200の記憶領域に格納されている当該外部リソースの削除処理を行う。これは、参照回数が0であれば、プリンタ200の記憶領域に格納されている当該外部リソースは、処理中のFPにおいて今後二度と参照されることが無く、当該記憶領域から削除しても問題無いからである。このように、今後、参照されない外部リソースを削除することにより、プリンタ200の記憶領域に余裕を与えることでできる。   In step S 1406, the CPU 201 of the printer 200 performs a process for deleting the external resource stored in the storage area of the printer 200. If the reference count is 0, the external resource stored in the storage area of the printer 200 will not be referenced again in the FP being processed, and there is no problem even if it is deleted from the storage area. Because. In this way, it is possible to give a margin to the storage area of the printer 200 by deleting external resources that will not be referred to in the future.

ステップS1406の処理が終了した場合、ステップS1402において描画命令に外部リソースの参照が含まれていないと判断された場合、或いは、ステップS1405において外部参照リソースリスト内の当該外部リソースの参照回数が0でないと判断された場合には、ステップS1407に進む。   When the processing in step S1406 is completed, when it is determined in step S1402 that the external resource reference is not included in the rendering command, or in step S1405, the reference count of the external resource in the external reference resource list is not zero. If it is determined, the process proceeds to step S1407.

ステップS1407に進むと、プリンタ200のCPU201は、現在処理中のFPパーツデータまたはピースデータも今後参照されることはないので、プリンタ200の記憶領域(例えば、外部メモリ210)から削除する処理を行う。   In step S1407, the CPU 201 of the printer 200 performs a process of deleting from the storage area (for example, the external memory 210) of the printer 200 because the FP part data or piece data currently being processed will not be referred to in the future. .

続いて、ステップS1408において、プリンタ200のCPU201は、現在処理中のFPパーツデータまたはピースデータの最後まで解析を行ったか否かを判断する。この判断の結果、現在処理中のFPパーツデータまたはピースデータの最後までは未だ解析を行っていない場合には、ステップS1401に戻り、ステップS1401以降の処理を再度行う。   In step S1408, the CPU 201 of the printer 200 determines whether the analysis has been performed up to the end of the FP part data or piece data currently being processed. If the result of this determination is that analysis has not yet been performed up to the end of the FP part data or piece data currently being processed, processing returns to step S1401, and processing from step S1401 is performed again.

一方、ステップS1408の判断の結果、現在処理中のFPパーツデータまたはピースデータの最後まで解析を行った場合には、図22におけるフローチャートの処理を終了する。即ち、図21のステップS1305の処理を終了する。   On the other hand, as a result of the determination in step S1408, if the analysis is performed up to the end of the FP part data or piece data currently being processed, the processing of the flowchart in FIG. That is, the process of step S1305 in FIG.

以上説明したように、本実施形態に係る印刷制御システム10のホストコンピュータ100(情報処理装置)では、以下の処理を行うようにしている。
まず、ドキュメントの構成情報が記述されたページ構成データ(FD)のファイルと、FDに基づき参照され、プリンタ200において印刷対象となるページの情報が記述された印刷対象データ(FP)のファイルと、FPに基づき参照されるリソースファイルとを含み構成されるXPSデータ(アーカイブデータ)を取得するようにしている(例えば、図5のS101:アーカイブデータ取得ステップ)。その後、FPのファイルを分割するようにしている(例えば、図15のS810、S817:分割ステップ)。そして、印刷対象データ(FP)でリソースファイルを参照する参照回数を含む、FPを印刷する際に利用される属性を記憶するプリントチケット(属性情報ファイル)と、前記分割ステップにより分割されたFPのファイルと、FDのファイルと、リソースファイルとを含むXPSデータ(アーカイブデータ)を生成するようにしている(例えば、図15のS823:アーカイブデータ生成ステップ)。
かかる構成によれば、プリンタ200側で、ホストコンピュータ100で処理されたXPSデータの印刷処理を行う際に、メモリ容量の少ないプリンタであっても、リソースファイルを含むXPSデータを適切に印刷処理することができる。
As described above, the host computer 100 (information processing apparatus) of the print control system 10 according to the present embodiment performs the following processing.
First, a page configuration data (FD) file in which document configuration information is described, a print target data (FP) file in which information on pages to be printed in the printer 200 is described based on the FD, and XPS data (archive data) including a resource file referred to based on FP is acquired (for example, S101 in FIG. 5: archive data acquisition step). Thereafter, the FP file is divided (for example, S810 and S817: division step in FIG. 15). Then, a print ticket (attribute information file) that stores attributes used when printing the FP, including the reference count for referring to the resource file in the print target data (FP), and the FP divided by the dividing step XPS data (archive data) including a file, an FD file, and a resource file is generated (for example, S823 in FIG. 15: archive data generation step).
According to this configuration, when XPS data processed by the host computer 100 is printed on the printer 200 side, XPS data including a resource file is appropriately printed even if the printer has a small memory capacity. be able to.

さらに、ホストコンピュータ100では、プリンタ200のメモリ量(第1のメモリ量)を取得し(図15のS801:プリンタメモリ量取得ステップ)、FPのデータ量に基づくメモリ量がS801で取得したメモリ量(第2のメモリ量)を超えるか否かを判断し(図15のS816:判断ステップ)、前記分割ステップでは、前記リソースファイルを参照する参照回数の情報に加えて、前記判断ステップによる判断の結果に基づいて、FPのファイルを分割するようにしている。さらに、前記分割ステップでは、前記リソースファイルを参照する参照回数の情報と前記判断ステップによる判断の結果に加えて、更に参照済みのリソースファイルの情報(参照済みフラグ)に基づいて、FPのファイルを分割するようにしている。   Further, the host computer 100 acquires the memory amount (first memory amount) of the printer 200 (S801 in FIG. 15: printer memory amount acquisition step), and the memory amount based on the FP data amount is acquired in S801. It is determined whether or not (second memory amount) is exceeded (S816 in FIG. 15: determination step), and in the division step, in addition to information on the number of references referring to the resource file, the determination in the determination step Based on the result, the FP file is divided. Further, in the dividing step, in addition to the information on the number of references for referring to the resource file and the result of the determination in the determining step, the file of the FP is further converted based on the information on the already-referenced resource file (referenced flag). I try to divide it.

また、本実施形態に係る印刷制御システム10のプリンタ200では、以下の処理を行うようにしている。
まず、ホストコンピュータ100で編集処理されたXPSデータを受信して、当該XPSデータをプリンタ200の記憶領域(例えば、外部メモリ210)に記憶するようにしている(図17のS901)。そして、XPSデータの印刷処理を行った際に、当該XPSデータに含まれる前記参照回数の情報に応じて、プリンタ200の記憶領域に記憶されているXPSデータに含まれるリソースファイルの削除を行うようにしている(図22のS1406:削除ステップ)。
Further, the printer 200 of the print control system 10 according to the present embodiment performs the following processing.
First, XPS data edited by the host computer 100 is received, and the XPS data is stored in a storage area (for example, the external memory 210) of the printer 200 (S901 in FIG. 17). When the XPS data is printed, the resource file included in the XPS data stored in the storage area of the printer 200 is deleted according to the reference count information included in the XPS data. (S1406 in FIG. 22: deletion step).

(本発明の他の実施形態)
前述した本発明の実施形態に係る印刷制御システム10のホストコンピュータ100を構成する図3及び図4の各構成部、並びに、ホストコンピュータ100及びプリンタ200における印刷制御処理を示す図5、図6、図8〜図11、図13、図15、図17〜図22の各ステップは、コンピュータのCPUがROMなどに記憶されたプログラムを実行することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments of the present invention)
3 and 4 constituting the host computer 100 of the print control system 10 according to the embodiment of the present invention, and print control processing in the host computer 100 and the printer 200 are shown in FIGS. 8 to 11, 13, 15, and 17 to 22 can be realized by the CPU of the computer executing a program stored in a ROM or the like. This program and a computer-readable recording medium recording the program are included in the present invention.

また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。   In addition, the present invention can be implemented as, for example, a system, apparatus, method, program, storage medium, or the like. Specifically, the present invention may be applied to a system including a plurality of devices. You may apply to the apparatus which consists of one apparatus.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図5、図6、図8〜図11、図13、図15、図17〜図22に示すフローチャートに対応したプログラム)を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。   The present invention corresponds to the software program for realizing the functions of the above-described embodiments (in the embodiment, the flowcharts shown in FIGS. 5, 6, 8 to 11, 13, 15, and 17 to 22). Program) directly or remotely to a system or apparatus. The present invention also includes a case where the system or the computer of the apparatus is achieved by reading and executing the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。   Examples of the recording medium for supplying the program include a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, and CD-RW. In addition, there are magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R), and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the downloaded key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.

なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   Note that each of the above-described embodiments is merely a specific example for carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. . That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

本発明の実施形態に係る印刷制御システムの概略構成の一例を示す模式図である。1 is a schematic diagram illustrating an example of a schematic configuration of a print control system according to an embodiment of the present invention. 本発明の実施形態に係る印刷制御システムの概略構成の変形例を示す模式図である。It is a schematic diagram which shows the modification of schematic structure of the printing control system which concerns on embodiment of this invention. 本発明の実施形態に係る印刷制御システムのホストコンピュータによるGDIプリントパスを用いた印刷制御機能の機能構成の一例を示す模式図である。It is a schematic diagram showing an example of a functional configuration of a print control function using a GDI print path by a host computer of the print control system according to the embodiment of the present invention. 本発明の実施形態に係る印刷制御システムのホストコンピュータによるXPSプリントパスを用いた印刷制御機能の機能構成の一例を示す模式図である。FIG. 3 is a schematic diagram illustrating an example of a functional configuration of a print control function using an XPS print path by a host computer of a print control system according to an embodiment of the present invention. 本発明の実施形態に係る印刷制御システムのホストコンピュータによるXPSプリントパスを用いた印刷制御処理の処理手順の一例を示すフローチャートである。6 is a flowchart illustrating an example of a processing procedure of print control processing using an XPS print path by a host computer of the print control system according to the embodiment of the present invention. 図5のステップS102におけるXPSデータの解析・編集処理の詳細な処理手順の一例を示すフローチャートである。6 is a flowchart illustrating an example of a detailed processing procedure of XPS data analysis / editing processing in step S102 of FIG. 5; 本発明の実施形態を示し、FPを含むXPSデータの一例を示す模式図である。It is a schematic diagram which shows embodiment of this invention and shows an example of XPS data containing FP. 図6のステップS206におけるFDSの処理の詳細な処理手順の一例を示すフローチャートである。7 is a flowchart illustrating an example of a detailed processing procedure of FDS processing in step S206 of FIG. 6. 図8のステップS306におけるFDの処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the process of FD in step S306 of FIG. 図9のステップS406におけるFPの処理の詳細な処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a detailed processing procedure of FP processing in step S406 of FIG. 9. 図10のステップS502における外部リソース参照回数リスト作成処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the external resource reference frequency list creation process in step S502 of FIG. 本発明の実施形態を示し、外部参照リソースリストの一例を示す模式図である。It is a schematic diagram which shows embodiment of this invention and shows an example of an external reference resource list | wrist. 図10のステップS503におけるプリントチケット編集処理の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a detailed processing procedure of a print ticket editing process in step S503 in FIG. 本発明の実施形態を示し、プリントチケットの一例を示す模式図である。1 is a schematic diagram illustrating an example of a print ticket according to an embodiment of the present invention. 図10のステップS504におけるFP分割処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of FP division | segmentation process in FIG.10 S504. 本発明の実施形態を示し、図4に示すレイアウトフィルタにおいて分割されたFPの一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of an FP divided in the layout filter illustrated in FIG. 4 according to the embodiment of this invention. 本発明の実施形態に係る印刷制御システムのプリンタによるXPSプリントパスを用いた印刷制御処理の処理手順の一例を示すフローチャートである。6 is a flowchart illustrating an example of a processing procedure of print control processing using an XPS print path by a printer of the print control system according to the embodiment of the present invention. 図17のステップS902におけるXPSデータの解析・印刷処理の詳細な処理手順の一例を示すフローチャートである。18 is a flowchart illustrating an example of a detailed processing procedure of XPS data analysis / print processing in step S902 in FIG. 図18のステップS1006におけるFDSの処理の詳細な処理手順の一例を示すフローチャートである。19 is a flowchart illustrating an example of a detailed processing procedure of FDS processing in step S1006 of FIG. 図19のステップS1106におけるFDの処理の詳細な処理手順の一例を示すフローチャートである。20 is a flowchart illustrating an example of a detailed processing procedure of FD processing in step S1106 of FIG. 19. 図20のステップS1206におけるFPの処理の詳細な処理手順の一例を示すフローチャートである。21 is a flowchart illustrating an example of a detailed processing procedure of FP processing in step S1206 of FIG. 図21のステップS1305におけるFP描画命令処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of FP drawing command process in step S1305 of FIG. XPSデータの構成のイメージの一例を示す模式図である。It is a schematic diagram which shows an example of the image of a structure of XPS data. 図23に示すXPSデータに包含される各パーツの参照関係の論理的構造の一例を示す模式図である。It is a schematic diagram which shows an example of the logical structure of the reference relationship of each part included in the XPS data shown in FIG. XMLファイルの記述に基づいた参照関係の一例を示す模式図である。It is a schematic diagram which shows an example of the reference relationship based on the description of an XML file. XMLファイルの記述に基づいたプリントチケットの一例を示す模式図である。It is a schematic diagram which shows an example of the print ticket based on the description of an XML file. MXDWが通常生成するXPSファイルのデータ順の一例を示す模式図である。It is a schematic diagram which shows an example of the data order of the XPS file normally generated by MXDW. 図25に示すXPSデータをインターリーブ化した際のパーツデータの一例を示す模式図である。FIG. 26 is a schematic diagram illustrating an example of part data when the XPS data illustrated in FIG. 25 is interleaved. インターリーブ化した際のXPSデータの構成のイメージの一例を示す模式図である。It is a schematic diagram which shows an example of the image of a structure of XPS data at the time of making it interleave. インターリーブ化した際のXPSファイルのデータ順の一例を示す模式図である。It is a schematic diagram which shows an example of the data order of the XPS file at the time of interleaving. ZIP圧縮データの構成の一例を示す模式図である。It is a schematic diagram which shows an example of a structure of ZIP compression data. インターリーブ化したXPSファイルのデータ順の一例を示す模式図である。It is a schematic diagram which shows an example of the data order of the interleaved XPS file. 図32に示すXPSファイル内のFPの一例を示す模式図である。FIG. 33 is a schematic diagram illustrating an example of an FP in the XPS file illustrated in FIG. 32. FPの分割処理の一例を示す模式図である。It is a schematic diagram which shows an example of the division | segmentation process of FP. XPSファイルのデータ順の一例を示す模式図である。It is a schematic diagram which shows an example of the data order of an XPS file.

符号の説明Explanation of symbols

10−1 印刷制御システム
100 ホストコンピュータ(クライアントコンピュータ)
101 CPU
102 RAM
103 ROM
104 システムバス
105 入力C(入力コントローラ)
106 VC(ビデオコントローラ)
107 MC(メモリコントローラ)
108 通信I/F(通信インターフェース)
109 KB(キーボード)
110 CRT(CRTディスプレイ)
111 外部メモリ
200 プリンタ
201 CPU
202 RAM
203 ROM
204 システムバス
205 通信I/F(通信インターフェース)
206 印刷部I/F(印刷部インターフェース)
207 MC(メモリコントローラ)
208 印刷部
209 操作部
210 外部メモリ
300 ネットワーク
10-1 Print Control System 100 Host Computer (Client Computer)
101 CPU
102 RAM
103 ROM
104 System bus 105 Input C (input controller)
106 VC (video controller)
107 MC (memory controller)
108 Communication I / F (communication interface)
109 KB (keyboard)
110 CRT (CRT display)
111 External memory 200 Printer 201 CPU
202 RAM
203 ROM
204 System bus 205 Communication I / F (communication interface)
206 Print section I / F (print section interface)
207 MC (memory controller)
208 Printing unit 209 Operation unit 210 External memory 300 Network

Claims (9)

プリンタと通信可能に接続された情報処理装置であって、
ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含むアーカイブデータを取得するアーカイブデータ取得手段と、
前記印刷対象データのファイルを分割する分割手段と、
前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割手段により分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成手段と
を有することを特徴とする情報処理装置。
An information processing apparatus communicably connected to a printer,
A page configuration data file in which document configuration information is described, a print target data file that is referred to based on the page configuration data and in which information on a page to be printed in the printer is described, and the print target data Archive data acquisition means for acquiring archive data including resource files referred to based on;
A dividing unit for dividing the file of the print target data;
An attribute information file for storing attributes used when printing the print target data, including the number of times the resource file is referred to by the print target data; and the file of the print target data divided by the dividing unit And an archive data generating means for generating archive data including the page configuration data file and the resource file.
前記分割手段は、前記属性情報ファイルに記憶する参照回数に応じて前記印刷対象データのファイルを分割することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the dividing unit divides the file of the print target data according to a reference count stored in the attribute information file. 前記プリンタの第1のメモリ量を取得するプリンタメモリ量取得手段と、
前記印刷対象データのファイルのデータ量に基づく第2のメモリ量が前記プリンタメモリ量取得手段により取得された前記第1のメモリ量を超えるか否かを判断する判断手段と
を更に有し、
前記分割手段は、前記判断手段で前記第2のメモリ量が前記第1のメモリ量を超えると判断される場合、前記第1のメモリ量を超えない位置で前記印刷対象データのファイルを分割することを特徴とする請求項1または2に記載の情報処理装置。
Printer memory amount acquisition means for acquiring a first memory amount of the printer;
Determination means for determining whether or not a second memory amount based on the data amount of the file of the print target data exceeds the first memory amount acquired by the printer memory amount acquisition unit;
The dividing unit divides the file of the print target data at a position not exceeding the first memory amount when the determining unit determines that the second memory amount exceeds the first memory amount. The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
前記属性情報ファイルが存在するか否かを判定する属性情報ファイル判定手段と、
前記印刷対象データで前記リソースファイルを参照する参照回数を記憶する、前記属性情報ファイルを生成する属性情報ファイル生成手段と、
前記属性情報ファイルが存在しないと判定される場合には、前記属性情報ファイル生成手段で生成された属性情報ファイルに、前記属性情報ファイルが存在すると判定される場合には、既に存在する属性情報ファイルに、前記参照回数を入力する参照回数入力手段と
を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
Attribute information file determination means for determining whether or not the attribute information file exists;
An attribute information file generating means for generating the attribute information file, storing a reference count for referring to the resource file in the print target data;
When it is determined that the attribute information file does not exist, when it is determined that the attribute information file exists in the attribute information file generated by the attribute information file generation unit, the attribute information file that already exists The information processing apparatus according to claim 1, further comprising: a reference number input unit configured to input the reference number.
前記リソースファイルは、イメージファイルまたはフォントファイルであり、
前記参照回数入力手段は、前記印刷対象データにおいて参照する前記イメージファイルまたは前記フォントファイルごとの前記参照回数を前記属性情報ファイルに入力することを特徴とする請求項4に記載の情報処理装置。
The resource file is an image file or a font file,
The information processing apparatus according to claim 4, wherein the reference count input unit inputs the reference count for each image file or font file referred to in the print target data to the attribute information file.
前記アーカイブデータ生成手段で生成されたアーカイブデータを前記プリンタに送信する送信手段を更に有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising a transmission unit configured to transmit the archive data generated by the archive data generation unit to the printer. 情報処理装置とプリンタとで構成される印刷制御システムであって、
前記情報処理装置は、
ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含み構成されるアーカイブデータを取得するアーカイブデータ取得手段と、
前記印刷対象データのファイルを分割する分割手段と、
前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割手段により分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成手段と
を有し、
前記プリンタは、
前記アーカイブデータ生成手段で生成されたアーカイブデータを順次受信する受信手段と、
前記アーカイブデータに含まれる属性情報ファイルの参照回数に従って、前記受信手段で受信したアーカイブデータに含まれるリソースファイルの削除を行う削除手段と
を有することを特徴とする印刷制御システム。
A print control system comprising an information processing device and a printer,
The information processing apparatus includes:
A page configuration data file in which document configuration information is described, a print target data file that is referred to based on the page configuration data and in which information on a page to be printed in the printer is described, and the print target data Archive data acquisition means for acquiring archive data including a resource file referred to based on;
A dividing unit for dividing the file of the print target data;
An attribute information file for storing attributes used when printing the print target data, including the number of times the resource file is referred to by the print target data; and the file of the print target data divided by the dividing unit And archive data generation means for generating archive data including the page configuration data file and the resource file,
The printer is
Receiving means for sequentially receiving the archive data generated by the archive data generating means;
A printing control system comprising: a deleting unit that deletes a resource file included in the archive data received by the receiving unit according to the number of times the attribute information file included in the archive data is referenced.
プリンタと通信可能に接続された情報処理装置の制御方法であって、
ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含むアーカイブデータを取得するアーカイブデータ取得ステップと、
前記印刷対象データのファイルを分割する分割ステップと、
前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割ステップにより分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成ステップと
を有することを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus connected to a printer in a communicable manner,
A page configuration data file in which document configuration information is described, a print target data file that is referred to based on the page configuration data and in which information on a page to be printed in the printer is described, and the print target data An archive data acquisition step for acquiring archive data including a resource file referred to based on;
A dividing step of dividing the file of the print target data;
An attribute information file for storing attributes used when printing the print target data, including a reference count for referring to the resource file in the print target data; and the file of the print target data divided by the dividing step And an archive data generation step of generating archive data including the page configuration data file and the resource file.
プリンタと通信可能に接続された情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含むアーカイブデータを取得するアーカイブデータ取得ステップと、
前記印刷対象データのファイルを分割する分割ステップと、
前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割ステップにより分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成ステップと
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a control method of an information processing apparatus that is communicably connected to a printer,
A page configuration data file in which document configuration information is described, a print target data file that is referred to based on the page configuration data and in which information on a page to be printed in the printer is described, and the print target data An archive data acquisition step for acquiring archive data including a resource file referred to based on;
A dividing step of dividing the file of the print target data;
An attribute information file for storing attributes used when printing the print target data, including a reference count for referring to the resource file in the print target data; and the file of the print target data divided by the dividing step And an archive data generation step for generating archive data including the page configuration data file and the resource file.
JP2008305097A 2008-11-28 2008-11-28 Information processing apparatus, method of controlling the same, printing control system, and program Pending JP2010128962A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008305097A JP2010128962A (en) 2008-11-28 2008-11-28 Information processing apparatus, method of controlling the same, printing control system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008305097A JP2010128962A (en) 2008-11-28 2008-11-28 Information processing apparatus, method of controlling the same, printing control system, and program

Publications (1)

Publication Number Publication Date
JP2010128962A true JP2010128962A (en) 2010-06-10

Family

ID=42329287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008305097A Pending JP2010128962A (en) 2008-11-28 2008-11-28 Information processing apparatus, method of controlling the same, printing control system, and program

Country Status (1)

Country Link
JP (1) JP2010128962A (en)

Similar Documents

Publication Publication Date Title
KR101139550B1 (en) Print control device, print control method, and storage medium
JP4110147B2 (en) Information leakage prevention method, information processing apparatus and driver program for realizing the method
US8274670B2 (en) Information processing apparatus print control method, and storage medium
JP5017083B2 (en) Printer and its control method
JP2009271745A (en) Image forming apparatus, job processing method, and program
US8560945B2 (en) File editing apparatus, file editing method and file editing program
US8320001B2 (en) Information processing method and apparatus for banner printing
US20110109930A1 (en) Printing control apparatus and method
JP2004348622A (en) Electronic document printing system
KR101496438B1 (en) Print controling apparatus, image forming apparatus and method for controling print
JP2007323207A (en) Business form processor and business form processing method
JP4439864B2 (en) Document processing apparatus, document processing method, and program
JP4289987B2 (en) Print control apparatus, print control method, and computer program
JP5871521B2 (en) Print data processing method, print data processing apparatus and program
JP5879807B2 (en) Print control apparatus, control program, and recording medium
JP2012058795A (en) Information processor, document image processor, electronic document processing method, and program
JP2010033360A (en) Information processor, job processing method, storage medium and program
JP2006235756A (en) Image processor and its method
JP2010128962A (en) Information processing apparatus, method of controlling the same, printing control system, and program
JP5106655B2 (en) Printing control apparatus and method
JP4619433B2 (en) Print control apparatus, print control method, and program
JP6320146B2 (en) Information processing system, information processing apparatus, information processing method, and program
JP7271208B2 (en) Program and information processing device
JP5344619B2 (en) Information processing apparatus, method and program
US8023146B2 (en) Print control device, information processing device, method of print control device, method of information processing device and computer program