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 PDFInfo
- 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 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
Links
Images
Abstract
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.
前述した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
しかしながら、この方法では、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
図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
ホストコンピュータ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
CPU101は、ROM103或いは外部メモリ111に記憶されたプログラム等に基づいてシステムバス104に接続された各デバイスを制御して、当該ホストコンピュータ100における動作を統括的に制御する。
The
RAM102は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して必要なプログラム等をRAM102にロードして、プログラムを実行することで各種の動作を実現する。
The
ROM103には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)、CPU101が本実施形態に係るホストコンピュータ100の機能を実現するために必要な各種のプログラム等が記憶されている。なお、これらのプログラムは、外部メモリ111に記憶されている態様であってもよい。また、本実施形態で使用するOSは、例えばWindows_Vista(Microsoft社製)を想定するが、これに限定されるものではない。
The
システムバス104は、CPU101、RAM102、ROM103、入力C105、VC106、MC107及び通信I/F108を、相互に通信可能に接続する。
The
入力C105は、KB109やマウス等のポインティングデバイス(不図示)からの入力を制御する。
The input C105 controls input from a pointing device (not shown) such as a
VC106は、CRT110等の表示装置への表示を制御する。なお、表示装置は、CRTであっても、液晶ディスプレイ等のその他の表示装置であってもよい。
The VC 106 controls display on a display device such as the
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
通信I/F108は、ネットワーク300を介して、外部装置(図1に示す例では、プリンタ200)との通信を制御する。例えば、通信I/F108は、TCP/IPを用いたインターネット通信やプリンタ200との間でデータ送受信等が可能である。
The communication I /
なお、CPU101は、例えばRAM102内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT110上での表示を可能としている。また、CPU101は、CRT110上のマウスカーソル(不図示)等でのユーザ指示を可能とする。
Note that the
プリンタ200は、CPU201、RAM202、ROM203、システムバス204、通信インターフェース(以下、「通信I/F」と称する)205、印刷部インターフェース(以下、「印刷部I/F」と称する)206、メモリコントローラ(以下、「MC」と称する)207、印刷部208、操作部209、及び、外部メモリ210を有して構成されている。
The
CPU201は、ROM203或いは外部メモリ210に記憶されたプログラム等に基づいてシステムバス204に接続された各デバイスを制御して、当該プリンタ200における動作を統括的に制御する。例えば、CPU201は、ROM203或いは外部メモリ210に記憶されたプログラム等に基づいて印刷部(例えばプリンタエンジン)208に出力情報としての画像信号を出力する処理を行う。
The
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。なお、RAM202は、出力情報展開領域、環境データ格納領域、NVRAM等にも用いられる。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種の動作を実現する。また、RAM202は、増設ポート(不図示)に接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
The
ROM203には、フォントROM203a、プログラムROM203b、及び、データROM203cが設けられている。フォントROM203aには、上記出力情報を生成する際に使用する各種のフォントデータ等が記憶されている。プログラムROM203bには、CPU201がプリンタ200の各種機能を実現するために必要な各種のプログラムが記憶されている。データROM203cには、例えばCPU201が各種の処理を行う際に必要な各種のデータ(各種の情報も含む)が記憶され、また、外部メモリ210がないプリンタ200の場合には、ホストコンピュータ100で利用される情報等も記憶される。
The
システムバス204は、CPU201、RAM202、ROM203、通信I/F205、印刷部I/F206、MC207、及び、操作部209を、相互に通信可能に接続する。
The
通信I/F205は、ネットワーク300を介して、外部装置(図1に示す例では、ホストコンピュータ100)との通信を制御する。
The communication I /
印刷部I/F206は、印刷部208との通信を制御する。
A printing unit I /
MC207は、ハードディスク(HD)やICカード等の外部メモリ210へのアクセスを制御する。外部メモリ210は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、外部メモリ210は、1個に限らず、例えば、複数設けて、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。さらに、外部メモリ210は、例えば、NVRAM(不図示)を有し、操作部209からのプリンタモード設定情報を記憶するようにしてもよい。
The MC 207 controls access to the
操作部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
図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
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
この場合、ホストコンピュータ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 /
また、プリントサーバコンピュータ400を介してネットワーク300に接続されるプリンタ200(具体的には、200−2)に対して各ホストコンピュータ100から印刷ジョブを送信する場合、まず、各ホストコンピュータ100は、プリントサーバコンピュータ400へ印刷ジョブを送信する。そして、プリントサーバコンピュータ400は、各ホストコンピュータ100から送信されてきた印刷ジョブを、当該プリントサーバコンピュータ400のプリントサブシステム(不図示)を介して、プリンタ200へ送信する。これにより、各ホストコンピュータ100は、プリントサーバコンピュータ400を介して印刷ジョブをプリンタ200へ送信することができる。
When a print job is transmitted from each
また、ネットワーク300に直接接続されているプリンタ200(具体的には、200−1)に対して各ホストコンピュータ100から印刷ジョブを送信する場合、各ホストコンピュータ100は、ネットワーク300に直接接続されているプリンタ200へ印刷ジョブを送信する。
Further, when a print job is transmitted from each
次に、ホストコンピュータ100による前述したGDIプリントパスを用いた印刷制御機能の機能構成について説明を行う。
Next, the functional configuration of the print control function using the GDI print path described above by the
図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
As shown in FIG. 3, the
ここで、アプリケーション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
アプリケーション131は、GDI132を介してプリンタ200に対して印刷条件の設定を行う。より具体的に、アプリケーション131は、例えば、印刷に使用する用紙のサイズの設定や逆順で印刷するか否かの設定、製本の体裁で印刷を行う製本印刷を実施するか否かの設定など、各種の印刷条件を設定する処理を行う。さらに、アプリケーション131は、GDI132等を介してプリンタ200に対して文書や写真画像等の描画命令を発行して印刷実行を指示する。以下、図3の説明等において、描画命令の発行に伴ってGDI132を介してスプーラ134に通知される文書・画像データ及び描画命令を総称して「印刷データ」と称する。
The application 131 sets print conditions for the
GDI132は、アプリケーション131等からの指示に基づき、GDIプリントパスに係る処理を行う。
The
ユーザインターフェースドライバ133は、GDI132を介して通知された印刷条件をプリンタ200に適合する内容に変更し、最終的な印刷条件を確定する処理を行う。さらに、ユーザインターフェースドライバ133は、GDI132を介して、最終的に確定した印刷条件をスプーラ134に通知する処理を行う。
The
スプーラ134は、GDI132を介して通知された印刷データ及び印刷条件をEMFスプールファイル135に格納する。
The spooler 134 stores the print data and print conditions notified via the
プリントプロセッサ136は、スプーラ134を介してEMFスプールファイル135に格納された印刷データを取得し、当該印刷データを1ページ単位で処理する。
The print processor 136 acquires the print data stored in the
プリンタグラフィックスドライバ137は、GDI132を介してプリントプロセッサ136で処理された印刷データを取得し、当該印刷データをプリンタ200で印刷出力可能なPDLデータに変換する処理を行う。
The
ランゲージモニタ138は、プリンタ200と双方向の通信を行い、プリンタ200の情報を取得してCRT110に表示する処理を行う。また、ランゲージモニタ138は、プリンタグラフィックスドライバ137が生成したPDLデータをプリンタ200に供給する。なお、ランゲージモニタ138は、プリンタ200が備えるメモリ容量や、エンジンコントローラの構成により異なる転送方法を採用することができる。
The language monitor 138 performs bi-directional communication with the
続いて、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
ユーザインターフェースドライバ133は、GDI132からプリンタ200での印刷条件の設定内容の通知を受けると、通知された印刷条件の設定内容を参照して、プリンタ200において印刷出力可能な設定内容であるか否かを判断する。ここで、ユーザインターフェースドライバ133は、GDI132から通知された印刷条件の設定内容が、プリンタ200において印刷出力可能な設定内容になっていないと判断した場合には、プリンタ200において印刷出力可能な設定内容になるように、印刷条件の設定内容を更新(一部更新も含む)し、印刷条件を確定する。
When the
続いて、アプリケーション131は、GDI132を介して、文書・画像データの描画命令を発行する。
Subsequently, the application 131 issues a drawing command for document / image data via the
スプーラ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
プリントプロセッサ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
プリンタグラフィックスドライバ137は、GDI132により生成されたグラフィックス描画コマンド及びGDI132から通知された印刷条件の設定内容に基づいて、GDI132を介してプリントプロセッサ136から供給された印刷データから、プリンタ200が解釈できるPDLデータを生成する。
The
ランゲージモニタ138は、当該ホストコンピュータ100からプリンタ200にPDLデータを伝送するために使用されるインターフェースを経由して、プリンタグラフィックスドライバ137から供給されたPDLデータをプリンタ200に供給(送信)する。
The language monitor 138 supplies (sends) the PDL data supplied from the
そして、プリンタ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
図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
ホストコンピュータ100には、XPSプリントパスを用いた際の印刷制御機能として、図4に示すように、アプリケーション131、WPF(Windows_Presentation_Foundation)印刷サポート141、ユーザインターフェースドライバ133、スプーラ134、XPSスプールファイル142、フィルタパイプラインマネージャ143、レイアウトフィルタ144、レンダリングフィルタ145及びランゲージモニタ138が構成される。
As shown in FIG. 4, the
ここで、アプリケーション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
アプリケーション131は、WPF印刷サポート141を介してXPSデータを作成する処理を行う。また、アプリケーション131は、文書や写真画像等のドキュメント、印刷条件、描画命令をXPSデータに対して設定する処理を行う。以下、図4の説明等において、XPSデータに含まれている文書や写真画像等のドキュメント及び描画命令を総称して「印刷データ」と称する。さらに、アプリケーション131は、WPF印刷サポート141を介して印刷実行を指示する。
The application 131 performs processing for creating XPS data via the
WPF印刷サポート141は、アプリケーション131からの指示に基づき、XPSデータを構成(作成)する処理を行う。また、WPF印刷サポート141は、当該XPSデータから印刷条件の設定内容を取り出して、ユーザインターフェースドライバ133に通知する処理を行う。また、WPF印刷サポート141は、ユーザインターフェースドライバ133が確定した印刷条件の設定内容をXPSデータに設定する処理を行う。さらに、WPF印刷サポート141は、XPSデータをスプーラ134に通知する処理を行う。
The
ユーザインターフェースドライバ133は、WPF印刷サポート141から通知された印刷条件をプリンタ200に適合する内容に変更し、最終的な印刷条件を確定する処理を行う。さらに、ユーザインターフェースドライバ133は、最終的に確定した印刷条件をWPF印刷サポート141に通知する処理を行う。
The
スプーラ134は、WPF印刷サポート141から通知されたXPSデータをXPSスプールファイル142に格納する。
The spooler 134 stores the XPS data notified from the
フィルタパイプラインマネージャ143は、まず、スプーラ134を介してXPSスプールファイル142に格納されたXPSデータを取得する。そして、フィルタパイプラインマネージャ143は、取得したXPSデータをレイアウトフィルタ144及びレンダリングフィルタ145を介してプリンタ200で印刷出力可能なPDLデータに変換する処理を行う。
The
レイアウトフィルタ144は、XPSデータ内の印刷データやページ構成を編集する処理を行う。
The
レンダリングフィルタ145は、レイアウトフィルタ144により編集されたXPSデータ内の印刷データをプリンタ200で印刷出力可能なPDLデータに変換する処理を行う。ただし、本発明の実施形態では、XPSデータをプリントデータとして用い、XPSデータをプリンタ200に送信して、プリンタ200でXPSデータから描画する画像データを生成するため、レンダリングフィルタ145は使用されない。つまり、このレンダリングフィルタ145を通さずに処理がされる(XPSデータダイレクトプリント)。そのため、レンダリングフィルタ145を備えないようにすることも可能である。
The
ランゲージモニタ138は、プリンタ200と双方向の通信を行い、プリンタ200の情報を取得してCRT110に表示する処理を行う。また、ランゲージモニタ138は、フィルタパイプラインマネージャ143から通知されたXPSデータをプリンタ200に供給する。なお、ランゲージモニタ138は、プリンタ200が備えるメモリ容量や、エンジンコントローラの構成により異なる転送方法を採用することができる。
The language monitor 138 performs bi-directional communication with the
ここで、前述した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
ユーザインターフェースドライバ133は、WPF印刷サポート141からプリンタ200での印刷条件の設定内容の通知を受けると、通知された印刷条件の設定内容を参照して、プリンタ200において印刷出力可能な設定内容であるか否かを判断する。ここで、ユーザインターフェースドライバ133は、WPF印刷サポート141から通知された印刷条件の設定内容が、プリンタ200において印刷出力可能な設定内容になっていないと判断した場合には、プリンタ200において印刷出力可能な設定内容になるように、印刷条件の設定内容を更新(一部更新も含む)し、印刷条件を確定する。続いて、ユーザインターフェースドライバ133は、確定した印刷条件によりプリントチケットを更新し、WPF印刷サポート141に通知する。
When the
WPF印刷サポート141は、ユーザインターフェースドライバ133から通知されたプリントチケットをXPSデータに設定し、当該XPSデータをスプーラ134に通知する。
The
スプーラ134は、WPF印刷サポート141からXPSデータの通知を受けると、通知されたXPSデータをXPSスプールファイル142に格納する。なお、WPF印刷サポート141を介さずにアプリケーション131からスプーラ134に任意のXPSデータを通知することも可能である。つまり、MXDWで作成したXPSデータを通知することも可能である。続いて、スプーラ134は、フィルタパイプラインマネージャ143に対して印刷開始のイベントを通知する。
Upon receiving notification of XPS data from the
フィルタパイプラインマネージャ143は、スプーラ134から印刷開始のイベントの通知を受けると、スプーラ134を介してXPSスプールファイル142に格納されているXPSデータを取得する。続いて、フィルタパイプラインマネージャ143は、当該XPSデータをレイアウトフィルタ144に通知する。
When the
レイアウトフィルタ144は、通知されたXPSデータから印刷データ及びプリントチケットを取得する。続いて、レイアウトフィルタ144は、プリントチケットに記載されている印刷条件の設定内容に基づいて、印刷データの編集及びXPSデータのページ構成の編集を行う。なお、印刷データやページ構成の編集内容には、ビットマップの合成(ウォーターマーク)、ページ合成(割付)、ページ順序の変更(逆順)等が含まれる。続いて、レイアウトフィルタ144は、印刷データやページ構成の編集を終えた後のXPSデータをフィルタパイプラインマネージャ143に通知する。
The
続いて、フィルタパイプラインマネージャ143は、レイアウトフィルタ144から通知されたXPSデータをレンダリングフィルタ145に通知する。
Subsequently, the
レンダリングフィルタ145は、フィルタパイプラインマネージャ143から通知されたXPSデータから、印刷データ及びプリントチケットを取得する。続いて、レンダリングフィルタ145は、取得したプリントチケットに記載されている印刷条件の設定内容に基づいて、印刷データからプリンタ200が解釈できるPDLデータを生成し、当該PDLデータをフィルタパイプラインマネージャ143に通知する。
The
続いて、フィルタパイプラインマネージャ143は、レンダリングフィルタ145から通知されたPDLデータをランゲージモニタ138に供給する。
Subsequently, the
ランゲージモニタ138は、当該ホストコンピュータ100からプリンタ200にPDLデータを伝送するために使用されるインターフェースを経由して、フィルタパイプラインマネージャ143から供給されたPDLデータをプリンタ200に供給(送信)する。
The language monitor 138 supplies (transmits) the PDL data supplied from the
そして、プリンタ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
次に、ホストコンピュータ100によるXPSプリントパスを用いた印刷制御処理の処理手順について説明する。
Next, a processing procedure of print control processing using the XPS print path by the
図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
まず、図5のステップS101において、フィルタパイプラインマネージャ143は、スプーラ134から印刷開始のイベントの通知を受けると、スプーラ134を介して、XPSスプールファイル142に格納されているMXDWで作成されたXPSデータを取得する処理を行う。そして、フィルタパイプラインマネージャ143は、取得したXPSデータをレイアウトフィルタ144に通知する。
First, in step S101 in FIG. 5, when the
続いて、ステップS102において、レイアウトフィルタ144は、フィルタパイプラインマネージャ143から通知されたXPSデータを解析して、当該XPSデータ内のプリントチケットに記載されている印刷条件の設定内容に基づいて、印刷データの編集及びXPSデータのページ構成の編集を行う。ここで、レイアウトフィルタ144は、記憶領域が少ないプリンタ200で処理可能なXPSデータに編集する。
Subsequently, in step S102, the
続いて、ステップS103において、レイアウトフィルタ144は、編集(生成)を終えた後のXPSデータをフィルタパイプラインマネージャ143に通知する処理を行う。
Subsequently, in step S103, the
その後、フィルタパイプラインマネージャ143は、レイアウトフィルタ144から通知されたXPSデータをレンダリングフィルタ145に通知する処理を行う。そして、レンダリングフィルタ145は、フィルタパイプラインマネージャ143から通知されたXPSデータから、プリンタ200が解釈できるPDLデータを生成し、当該PDLデータをフィルタパイプラインマネージャ143に通知する。ここで、本実施形態に係るプリンタ200は、XPSデータをプリントデータとして使用するものであるため、レンダリングフィルタ145では、レイアウトフィルタ144で処理されたXPSデータに対して、特に処理は行わない。
Thereafter, the
そして、フィルタパイプラインマネージャ143は、レンダリングフィルタ145から通知されたプリントデータ(XPSデータ)をランゲージモニタ138に供給する。そして、ランゲージモニタ138は、当該ホストコンピュータ100からプリンタ200にPDLデータを伝送するために使用されるインターフェースを経由して、フィルタパイプラインマネージャ143から供給されたプリントデータ(XPSデータ)をプリンタ200に送信する(送信ステップ)。なお、プリンタ200へプリントデータ(XPSデータ)を送信する際には、プリンタ200で即時に印刷処理を実行できるようにするために、XPSデータを細分化データ(パケット)単位にしてプリンタ200に送信する。つまり、プリンタ200は、データストリームしながら、印刷を実行することが可能となる。
Then, the
次に、図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
ステップ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
ステップ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
ステップ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
また、レイアウトフィルタ144は、「_rels/.rels」パーツデータ(ピースデータ)をXPSデータに追加する処理を行う。即ち、ここでの処理は、既に圧縮されている「_rels/.rels」パーツデータ(ピースデータ)を、元のXPSデータを利用して新たなXPSデータを生成するために当該元のXPSデータに追加する処理である。このXPSデータに追加された「_rels/.rels」パーツデータ(ピースデータ)は、例えば、図7の701のようになる。ここで、「_rels/.rels」パーツデータ(ピースデータ)は、初めのパーツデータ(ピースデータ)であるため、図7に示すように、XPSデータの先頭に配置(追加)される。
Further, the
続いて、ステップS205において、レイアウトフィルタ144は、ステップS204でFDSのデータ名を取得できたか否かを判断する。
In step S205, the
ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
また、レイアウトフィルタ144は、FDSパーツデータ(ピースデータ)をXPSデータに追加する処理を行う。即ち、ここでの処理は、既に圧縮されているFDSパーツデータ(ピースデータ)を、元のXPSデータのFDSパーツデータ(ピースデータ)を利用して新たなXPSデータを生成するために当該元のXPSデータに追加する処理である。このXPSデータに追加されたFDSパーツデータ(ピースデータ)は、例えば、図7の702のようになる。ここで、FDSパーツデータ(ピースデータ)は、図7に示すように、図6のステップS204の際に追加された「_rels/.rels」パーツデータ(ピースデータ)である701の後に配置(追加)される。
The
続いて、ステップS305において、レイアウトフィルタ144は、ステップS304でFDのデータ名を取得できたか否かを判断する。
Subsequently, in step S305, the
ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
また、レイアウトフィルタ144は、FDパーツデータ(ピースデータ)をXPSデータに追加する処理を行う。即ち、ここでの処理は、既に圧縮されているFDパーツデータ(ピースデータ)を、元のXPSデータのFDパーツデータ(ピースデータ)を利用して新たなXPSデータを生成するために当該元のXPSデータに追加する処理である。このXPSデータに追加されたFDパーツデータ(ピースデータ)は、例えば、図7の703のようになる。ここで、FDパーツデータ(ピースデータ)は、図7に示すように、図8のステップS304の際に追加されたFDSパーツデータ(ピースデータ)である702の後に配置(追加)される。
The
続いて、ステップS405において、レイアウトフィルタ144は、ステップS404でFPのデータ名を取得できたか否かを判断する。
Subsequently, in step S405, the
ステップ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
ステップ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
続いて、ステップS502において、レイアウトフィルタ144は、ステップS501で取得したFPパーツデータを解析して、参照する外部リソースの参照回数を求めて、外部リソース参照リスト(外部リソース参照回数リスト)の作成処理を行う。
Subsequently, in step S502, the
続いて、ステップS503において、レイアウトフィルタ144は、プリントチケットを編集して、これをXPSデータの中に含める処理を行う。
In step S503, the
続いて、ステップS504において、レイアウトフィルタ144は、FPの分割処理を行う。
Subsequently, in step S504, the
以上の図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
続いて、ステップS602において、レイアウトフィルタ144は、ステップS601で検出(抽出)した描画命令に、イメージデータやフォントデータ等への外部リソースの参照が含まれているか否かを判断する。
Subsequently, in step S602, the
ステップ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
ここで、外部参照リソースリストについて説明を行う。
図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
ここで、再び、図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
一方、ステップ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
ステップ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
一方、ステップ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
ステップ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
ステップ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
ここで、図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
ここで、<Feature>タグ1401の挿入には、DOM等のインターフェースを備えた一般的なXML解析用モジュールを使用する。また、外部参照リソースリストの情報のプリントチケット内における表現の方法は、図12に示す外部参照リソースリストの情報を一意に復元することが可能であれば、どのような方法であってもよい。
Here, a general XML analysis module having an interface such as DOM is used to insert the <Feature>
以上の図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
続いて、ステップS802において、レイアウトフィルタ144は、例えば外部メモリ111の記憶領域に、外部リソースのメモリ量(合計)に相当する領域を確保し、その領域の値(外部リソースメモリ量合計)を0に設定する。
Subsequently, in step S802, the
続いて、ステップS803において、レイアウトフィルタ144は、例えば外部メモリ111の記憶領域に、処理中のFPデータのメモリ量(合計)に相当する領域を確保し、その領域の値(処理FPメモリ量合計)を0に設定する。
Subsequently, in step S803, the
ステップ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
続いて、ステップS805において、レイアウトフィルタ144は、ステップS804の検出開始時から検出終了時までのXMLデータ量を、処理FPメモリ量合計に加算する処理を行う。
Subsequently, in step S805, the
続いて、ステップS806において、レイアウトフィルタ144は、ステップS804で検出した描画命令が外部リソースを参照するか否かを判断する。
Subsequently, in step S806, the
ステップ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
ステップ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
続いて、ステップS809において、レイアウトフィルタ144は、外部参照リソースリスト内の当該外部リソースの参照回数が0であるか否かを判断する。
Subsequently, in step S809, the
ステップ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
ここで、ステップ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
続いて、ステップS812において、レイアウトフィルタ144は、外部参照リソースリストの先頭から現在検出した外部リソースまでを、当該外部参照リソースリストから削除する処理を行う。
Subsequently, in step S812, the
続いて、ステップS813において、レイアウトフィルタ144は、外部リソースメモリ量合計を0に設定する。
Subsequently, in step S813, the
続いて、ステップS814において、レイアウトフィルタ144は、処理FPメモリ量合計を0に設定する。
Subsequently, in step S814, the
また、ステップ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
ステップ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
ステップ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
ステップS817に進むと、レイアウトフィルタ144は、ステップS810と同様の処理、即ち、現在検出中の描画命令に基づいてFPの分割を行い、当該分割により作成されたFPピースデータを圧縮してXPSデータに追加する。なお、追加するXPSデータは、ステップS801で取得したプリンタ200の限界メモリ量を超えない位置で分割されたデータである。
In step S817, the
続いて、ステップS818に進むと、レイアウトフィルタ144は、外部参照リソースリストを先頭から検索し、参照済みフラグがONになっている外部リソースを全て、ステップS817で追加したFPピースデータの直後に続けてXPSデータに追加する。
Subsequently, when proceeding to step S818, the
続いて、ステップS819において、レイアウトフィルタ144は、外部参照リソースリストを先頭から検索し、参照済みフラグがONになっている外部リソースを全て、当該外部参照リソースリストから削除する処理を行う。
Subsequently, in step S819, the
続いて、ステップS820において、レイアウトフィルタ144は、ステップS813と同様の処理、即ち、外部リソースメモリ量合計を0に設定する。
Subsequently, in step S820, the
続いて、ステップS821において、レイアウトフィルタ144は、ステップS814と同様の処理、即ち、処理FPメモリ量合計を0に設定する。
Subsequently, in step S821, the
ステップ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
ステップS822に進むと、レイアウトフィルタ144は、現在処理中のFPパーツデータの最後まで解析を行ったか否かを判断する。この判断の結果、現在処理中のFPパーツデータの最後までは未だ解析を行っていない場合には、ステップS804に戻り、ステップS804以降の処理を再度行う。
In step S822, the
一方、ステップ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
図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
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
図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
まず、図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
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
次に、図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
ステップ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
ステップ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
ステップ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
続いて、ステップS1005において、プリンタ200のCPU201は、ステップS1004でFDSのデータ名を取得できたか否かを判断する。
In step S1005, the
ステップ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
ステップ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
次に、図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
ステップ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
ステップ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
ステップ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
続いて、ステップS1105において、プリンタ200のCPU201は、ステップS1104でFDのデータ名を取得できたか否かを判断する。
Subsequently, in step S1105, the
ステップ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
ステップ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
次に、図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
ステップ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
ステップ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
ステップ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
続いて、ステップS1205において、プリンタ200のCPU201は、ステップS1204でFPのデータ名を取得できたか否かを判断する。
In step S1205, the
ステップ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
ステップ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
次に、図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
続いて、ステップS1302において、プリンタ200のCPU201は、未処理のFPパーツデータが存在するか否かを判断する。なお、FPパーツが分割されている場合、各FPパーツデータは、ステップS1204において取得したFPのデータ名に添え字[1][2][3]・・・[i]が付してある。つまり、FPパーツを分割した場合にも、FPのデータ名を用いて未処理のFPパーツデータが存在するか否かを判断することができる。
Subsequently, in step S1302, the
ステップ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
ステップ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
続いて、ステップS1305において、プリンタ200のCPU201は、ステップS1305で取得したFPパーツデータまたはピースデータの描画命令処理を行う。
Subsequently, in step S1305, the
ステップ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
続いて、ステップS1402において、プリンタ200のCPU201は、ステップS1401で検出(抽出)した描画命令に、イメージデータやフォントデータ等への外部リソースの参照が含まれているか否かを判断する。
In step S1402, the
ステップ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
続いて、ステップS1404において、プリンタ200のCPU201は、ステップS1301の処理で作成した外部参照リソースリスト内の当該検出した外部リソースの参照回数をデクリメントする。
Subsequently, in step S1404, the
続いて、ステップS1405において、プリンタ200のCPU201は、外部参照リソースリスト内の当該外部リソースの参照回数が0であるか否かを判断する。
In step S1405, the
ステップ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
ステップ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
続いて、ステップS1408において、プリンタ200のCPU201は、現在処理中のFPパーツデータまたはピースデータの最後まで解析を行ったか否かを判断する。この判断の結果、現在処理中のFPパーツデータまたはピースデータの最後までは未だ解析を行っていない場合には、ステップS1401に戻り、ステップS1401以降の処理を再度行う。
In step S1408, the
一方、ステップ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
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
According to this configuration, when XPS data processed by the
さらに、ホストコンピュータ100では、プリンタ200のメモリ量(第1のメモリ量)を取得し(図15のS801:プリンタメモリ量取得ステップ)、FPのデータ量に基づくメモリ量がS801で取得したメモリ量(第2のメモリ量)を超えるか否かを判断し(図15のS816:判断ステップ)、前記分割ステップでは、前記リソースファイルを参照する参照回数の情報に加えて、前記判断ステップによる判断の結果に基づいて、FPのファイルを分割するようにしている。さらに、前記分割ステップでは、前記リソースファイルを参照する参照回数の情報と前記判断ステップによる判断の結果に加えて、更に参照済みのリソースファイルの情報(参照済みフラグ)に基づいて、FPのファイルを分割するようにしている。
Further, the
また、本実施形態に係る印刷制御システム10のプリンタ200では、以下の処理を行うようにしている。
まず、ホストコンピュータ100で編集処理されたXPSデータを受信して、当該XPSデータをプリンタ200の記憶領域(例えば、外部メモリ210)に記憶するようにしている(図17のS901)。そして、XPSデータの印刷処理を行った際に、当該XPSデータに含まれる前記参照回数の情報に応じて、プリンタ200の記憶領域に記憶されているXPSデータに含まれるリソースファイルの削除を行うようにしている(図22のS1406:削除ステップ)。
Further, the
First, XPS data edited by the
(本発明の他の実施形態)
前述した本発明の実施形態に係る印刷制御システム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
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、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.
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
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
202 RAM
203 ROM
204
206 Print section I / F (print section interface)
207 MC (memory controller)
208 Printing unit 209
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.
前記印刷対象データのファイルのデータ量に基づく第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.
前記情報処理装置は、
ドキュメントの構成情報が記述されたページ構成データのファイルと、前記ページ構成データに基づき参照され、前記プリンタにおいて印刷対象となるページの情報が記述された印刷対象データのファイルと、前記印刷対象データに基づき参照されるリソースファイルとを含み構成されるアーカイブデータを取得するアーカイブデータ取得手段と、
前記印刷対象データのファイルを分割する分割手段と、
前記印刷対象データで前記リソースファイルを参照する参照回数を含む、前記印刷対象データを印刷する際に利用される属性を記憶する属性情報ファイルと、前記分割手段により分割された前記印刷対象データのファイルと、前記ページ構成データのファイルと、前記リソースファイルとを含むアーカイブデータを生成するアーカイブデータ生成手段と
を有し、
前記プリンタは、
前記アーカイブデータ生成手段で生成されたアーカイブデータを順次受信する受信手段と、
前記アーカイブデータに含まれる属性情報ファイルの参照回数に従って、前記受信手段で受信したアーカイブデータに含まれるリソースファイルの削除を行う削除手段と
を有することを特徴とする印刷制御システム。 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.
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) |
-
2008
- 2008-11-28 JP JP2008305097A patent/JP2010128962A/en active Pending
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 |