JP2008015563A - Printing control device, printing control method, program and recording medium - Google Patents
Printing control device, printing control method, program and recording medium Download PDFInfo
- Publication number
- JP2008015563A JP2008015563A JP2006182758A JP2006182758A JP2008015563A JP 2008015563 A JP2008015563 A JP 2008015563A JP 2006182758 A JP2006182758 A JP 2006182758A JP 2006182758 A JP2006182758 A JP 2006182758A JP 2008015563 A JP2008015563 A JP 2008015563A
- Authority
- JP
- Japan
- Prior art keywords
- layout pattern
- layout
- logical
- print data
- 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.)
- Withdrawn
Links
- 238000007639 printing Methods 0.000 title claims description 67
- 238000000034 method Methods 0.000 title claims description 52
- 230000009467 reduction Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 description 46
- 238000012545 processing Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Record Information Processing For Printing (AREA)
Abstract
Description
本発明は、デジタル複合機やプリンタなどで印刷を行う際に、1枚の用紙上に1ページの印刷データを印刷するのではなく、1枚の用紙上に複数ページ分の印刷データを縮小配置して印刷する技術に関する。 The present invention reduces the arrangement of print data for a plurality of pages on a single sheet of paper instead of printing one page of print data on a single sheet of paper when printing with a digital multifunction peripheral or printer. And printing technology.
デジタル複合機やプリンタなどで印刷を行う際に、1枚の用紙上に1ページの印刷データを印刷するのではなく、1枚の用紙上に複数ページ分の印刷データを縮小配置して印刷する技術がある。 When printing with a digital multi-function peripheral, printer, etc., instead of printing one page of print data on a single sheet of paper, the print data for a plurality of pages is reduced and printed on a single sheet of paper. There is technology.
このような印刷は、レイアウト印刷、Nページ印刷、Nup印刷等と呼ばれており、ドラフト印刷や、紙の節約などの目的のために利用されている。 Such printing is called layout printing, N-page printing, Nup printing, and the like, and is used for purposes such as draft printing and paper saving.
しかし、複数のページサイズやページ向きが混在しているような文書をNページ印刷すると、同一用紙にNページ分印刷していないにも関わらず、ページサイズや向きが変わったところで排紙してしまうという問題がある。 However, if you print N pages of a document with multiple page sizes and page orientations, the paper will be ejected when the page size or orientation changes, even though N pages are not printed on the same sheet. There is a problem of end.
こうした問題の解決手段として、特許文献1(特開平11−99723号公報)が提案されている。 As means for solving such a problem, Patent Document 1 (Japanese Patent Laid-Open No. 11-99723) has been proposed.
特許文献1では、原稿サイズごとに拡縮率を変える、もしくは用紙の向きを変えるなどして、異なるページサイズや向きを1枚の用紙上に縮小配置し、ページサイズの変わり目において途中で排紙することなく、同一用紙にNページ印刷する技術が提案されている。
In
この発明によれば、同一文書内に用紙サイズや用紙向きが混在しているような場合、論理ページ毎に拡縮率を決定して、異なる論理ページを同一用紙に縮小印刷する。この際、各論理ページの向きを揃えるようにレイアウトすることで、用紙サイズや向きが混在していない文書に近い出力を得ることを可能としている。 According to the present invention, when paper sizes and paper orientations are mixed in the same document, the enlargement / reduction ratio is determined for each logical page, and different logical pages are reduced and printed on the same paper. At this time, by laying out so that the orientations of the logical pages are aligned, it is possible to obtain an output close to a document in which the paper sizes and orientations are not mixed.
また、特許文献2(特開平11−249858号公報)のように、白領域のない体裁の良い縮小レイアウトされた印刷結果を得るために、Nページ印刷をする際に、印刷文書のページ数がNページの倍数でない場合に、無駄な余白領域が発生しないように可変ページ数で分割される縮小レイアウトを決定する技術が存在する(従来技術3)。 Further, as in Patent Document 2 (Japanese Patent Application Laid-Open No. 11-249858), when N pages are printed in order to obtain a print result with a reduced layout without white areas, the number of pages of the print document is There is a technique for determining a reduced layout to be divided by the number of variable pages so that a useless blank area does not occur when the number is not a multiple of N pages (Prior Art 3).
図20〜図22は、従来のレイアウト印刷を説明するための模式図である。 20 to 22 are schematic diagrams for explaining conventional layout printing.
例えば、図20の2001に示すような9頁の原稿を4up印刷する場合、特許文献1のレイアウト技術を用いた場合は図21のようにレイアウトされ、特許文献2のレイアウト技術を用いた場合は図22のようにレイアウトされる。
しかしながら特許文献1に記載の技術には、次のような問題点がある。
However, the technique described in
図20に示すように、論理用紙の向きが異なる際に、出力用紙を均等に分割した領域に印刷の向きを揃えつつ縮小配置するため、縮小後の画像の上下または左右に無駄な余白が生じてしまう(図21)。逆に、無駄な余白を出さないようにすると印刷の向きが揃わないため、可読性が悪くなる。 As shown in FIG. 20, when the orientation of the logical paper is different, the output paper is evenly divided in the area where the output paper is evenly divided and the print orientation is aligned. Therefore, useless margins are generated at the top, bottom, left and right of the reduced image. (FIG. 21). On the other hand, if the useless blank space is not generated, the orientation of printing is not uniform, and the readability deteriorates.
論理用紙のサイズに関わらず、出力用紙を均等に分割した領域に収まるように縮小配置するため、各論理用紙で拡縮率が異なってしまい、元データの用紙混在の体裁が崩れてしまう。 Regardless of the size of the logical paper, the output paper is reduced and arranged so that it fits in an equally divided area. Therefore, the enlargement / reduction ratio is different for each logical paper, and the appearance of the original data mixed in the paper is destroyed.
論理用紙のサイズを考慮せずに、出力用紙を均等に分割した領域に収まるように縮小配置するため、ユーザが想定した縮小率以上の縮小が適用されてしまい(例:A3縦データをA4横2in1で出力)、文字データなどの可読性が悪くなる。 Because the size of the output paper is reduced so that it fits into an evenly divided area without considering the size of the logical paper, a reduction that exceeds the reduction ratio assumed by the user is applied (eg, A3 vertical data is converted to A4 horizontal data). 2in1), readability of character data, etc. is poor.
また、特許文献2では、同一文書内に用紙サイズや向きが混在している場合のNページ印刷の体裁を整えるという目的は同じであるが、用紙混在の体裁が崩れてしまう(図22)。
Further, in
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、異なるサイズや向きのページが混在する印刷データであっても、余白が少なく体裁のよいNup印刷を行うことができる仕組を提供することである。 The present invention has been made to solve the above problems, and an object of the present invention is to perform Nup printing with a small margin and good appearance even for print data in which pages of different sizes and orientations are mixed. It is to provide a mechanism that can.
本発明は、印刷データと、出力用紙にレイアウトする印刷データの論理ページ数を指定するレイアウト数、出力用紙サイズを含む該印刷データの印刷設定情報を保持する保持手段と、前記印刷データの各論理ページ情報を取得する論理ページ情報取得手段と、前記論理ページ情報及び前記印刷設定情報に基づいて、レイアウトパターンを算出するレイアウトパターン算出手段と、前記レイアウトパターン算出手段により算出されたレイアウトパターンに基づいて印刷データを生成する生成手段と、を有することを特徴とする。 The present invention provides print data, a number of layouts that specify the number of logical pages of print data to be laid out on output paper, a holding unit that holds print setting information of the print data including the output paper size, and each logic of the print data. Logical page information acquisition means for acquiring page information, layout pattern calculation means for calculating a layout pattern based on the logical page information and the print setting information, and based on the layout pattern calculated by the layout pattern calculation means Generating means for generating print data.
本発明によれば、各用紙の拡縮率や印刷の向きを元の原稿のままとして、体裁のよいレイアウト印刷を行うことができる。 According to the present invention, it is possible to perform a good layout printing while maintaining the original document with the enlargement / reduction ratio and printing direction of each sheet.
また、用紙系列の異なるページに関しては、他のページと異なる拡縮率で変倍して全体として体裁のよいレイアウト印刷を行うことができる。 In addition, regarding pages with different paper series, it is possible to perform layout printing with a good appearance as a whole by scaling with a different scaling ratio from other pages.
さらに、余白が生じる場合、ページ数を変更して、余白の少ないレイアウト印刷することができる。 Further, when a margin is generated, the number of pages can be changed to perform layout printing with a small margin.
従って、異なるサイズや向きのページが混在する印刷データであっても、余白が少なく体裁のよいレイアウト印刷を行うことができる等の効果を奏する。 Therefore, even if the print data includes a mixture of pages of different sizes and orientations, it is possible to perform layout printing with less margin and good appearance.
以下、図面を参照して、本発明の実施形態を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
〔第1実施形態〕
図1は、本発明の一実施形態を示す印刷システムの構成を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of a printing system showing an embodiment of the present invention.
図1において、印刷システムは、ホストコンピュータ3000、及びプリンタ1500を有し、これらはデータ転送経路121を介して互いに接続されている。
In FIG. 1, the printing system includes a
ホストコンピュータ3000は、CPU101と、RAM102と、ROM103と、入力コントローラ(入力C)105と、ビデオコントローラ(VC)106と、メモリコントローラ(MC)107と、通信インターフェースコントローラ(通信I/FC)108と、キーボード(KB)109と、CRTディスプレイ(CRT)110と、外部メモリ111とを備える。
The
CPU101、RAM102、ROM103、入力C105、VC106、MC107、及び通信I/FC108は、システムバス104を介して互いに接続されている。
The
ROM103又は外部メモリ111には、CPU101の制御プログラムであるBIOS(Basic Input/Output System)、オペレーティングシステムプログラム(以下、「OS」という。)、及び後述する各処理を実行するために必要な各種プログラム等が記憶されている。
In the
本実施の形態で使用するOSは、例えば、マイクロソフト社製のウィンドウズXP(登録商標)を想定するが、これに限られるものではない。 The OS used in the present embodiment is assumed to be, for example, Windows XP (registered trademark) manufactured by Microsoft Corporation, but is not limited thereto.
RAM102は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して必要なプログラム等をRAM102にロードして、プログラムを実行することで各種動作を実現する。
The
入力コントローラ(入力C)105は、キーボード(KB)109や不図示のマウス等のポインティングデバイスからの入力を制御する。 An input controller (input C) 105 controls input from a keyboard (KB) 109 or a pointing device such as a mouse (not shown).
ビデオコントローラ(VC)106は、CRTディスプレイ(CRT)110等の表示器への表示を制御する。尚、表示器はCRTに限られるものではなく、液晶ディスプレイであっても構わない。 A video controller (VC) 106 controls display on a display device such as a CRT display (CRT) 110. The display device is not limited to the CRT, and may be a liquid crystal display.
メモリコントローラ(MC)107は、外部メモリ111へのアクセスを制御する。
A memory controller (MC) 107 controls access to the
外部メモリ111は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及び各種データ等を記憶し、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)、又はPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等から構成される。
The
通信I/Fコントローラ(通信I/FC)108は、ネットワークを介した外部機器との接続・通信を制御する。例えば、TCP/IPを用いたインターネット通信や、データ転送経路121を介してプリンタ1500との間でデータ送受信等が可能である。
A communication I / F controller (communication I / FC) 108 controls connection / communication with an external device via a network. For example, Internet communication using TCP / IP or data transmission / reception with the
CPU101は、例えば、RAM102内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT110に表示情報を表示する。また、CPU101は、CRT110にマウスカーソル等を表示することにより、ユーザによる指示を可能にする。
For example, the
プリンタ1500は、CPU112と、RAM119と、フォントROM113aと、プログラムROM113bと、データROM113cと、入力部118と、印刷部インターフェース(印刷部I/F)116と、印刷部117と、操作部1501と、メモリコントローラ(MC)120と、外部メモリ114とを備える。CPU112、RAM119、ROM113、入力部118、印刷部I/F116、操作部1501と、MC120は、システムバス115を介して互いに接続されている。
The
プリンタCPU112は、プログラムROM113b又は外部メモリ114に記憶された制御プログラム等に基づいて、印刷部I/F116を介して印刷部(プリンタエンジン)117に出力情報としての画像信号を出力する。
The
プログラムROM113bには、CPU112の制御プログラム等が記憶される。フォントROM113aには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。データROM113cには、プリンタ1500がハードディスク等の外部メモリ114を有していない場合には、ホストコンピュータ3000上で利用される情報等が記憶される。
The
CPU112は、入力部118を介してホストコンピュータ3000との通信処理を行い、プリンタ1500内の情報等をホストコンピュータ3000に通知することができる。
The
RAM119はCPU112の主メモリであり、ワークエリア等として機能する。また、RAM119は、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM119は、出力情報展開領域、環境データ格納領域、NVRAM等にも用いられる。
A
メモリコントローラ(MC)120は、外部メモリ114へのアクセスを制御する。外部メモリ114は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶し、ハードディスク(HD)、ICカード等で構成される。
A memory controller (MC) 120 controls access to the
操作部1501は、操作のためのスイッチ及びLED表示器等が配されている操作パネルである。尚、プリンタ1500が備える外部メモリ114は、1個に限られるものではなく、少なくとも1個以上であれば複数であってもよい。また、プリンタ1500は、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されてもよい。更に、プリンタ1500は、操作部1501により設定されたプリンタモード設定情報を記憶するNVRAMを有していてもよい。
The
本実施の形態では、プリンタ1500がサポートするページ記述言語(以下、「PDL」という。)は、LBP Image Processing System(以下、「LIPS」という。)等の比較的に高度なPDLであると想定しているが、これに限られるものではない。
In this embodiment, the page description language (hereinafter referred to as “PDL”) supported by the
本発明を実現するための印刷制御プログラム(以下、「プリンタドライバ」という。)は外部メモリ111に記録されており、必要に応じてRAM102にロードされることによりCPU101によって実行される。プリンタドライバが用いる定義ファイル及び各種情報テーブルは外部メモリ111に格納されている。尚、上記印刷システムの構成は一例であり、用途や目的に応じて様々な構成例があることは云うまでもない。例えば、本発明は、単体の機器に適用されてもよく、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークを介して接続された複数の機器からなるシステムに適用されてもよい。
A print control program (hereinafter referred to as “printer driver”) for realizing the present invention is recorded in the
図2は、図1におけるホストコンピュータ3000のソフトウェア構成を示すブロック図である。
FIG. 2 is a block diagram showing a software configuration of the
図2において、ホストコンピュータ3000は、アプリケーションプログラム(以下、「アプリケーション」という。)201と、グラフィックスエンジン202と、プリンタドライバ203と、プリントサブシステム204とを備え、これらは、それぞれ外部メモリ111にファイルとして保存されたプログラムモジュールである。これらのモジュールは、OSやそのモジュールを利用するモジュールによってRAM102にロードされて実行される。
In FIG. 2, the
アプリケーション201及びプリンタドライバ203は、FD、不図示のCD−ROM等の外部メモリ111から、又は後述するネットワーク301(図3)を介して接続された外部機器から、ハードディスク(HD)等の外部メモリ111に追加される。
An
外部メモリ111に保存されているアプリケーション201は、CPU101によってRAM102にロードされて実行される。このアプリケーション201からプリンタ1500に対して印刷を行わせる際には、同様にCPU101によってRAM102にロードされて実行されるグラフィックスエンジン202を利用して出力(描画)を行う。
The
グラフィックスエンジン202は、印刷装置毎に用意されたプリンタドライバ203を起動する。これにより、プリンタドライバ203は、CPU101によって外部メモリ111からRAM102にロードさせて実行される。
The
グラフィックスエンジン202は、このプリンタドライバ203を用いて、アプリケーション201から出力された印字命令や描画命令をPDLによるプリンタ制御命令に変換する。
The
プリンタドライバ203により変換されたプリンタ制御コマンドは、プリントサブシステム204を経由して、データ転送経路121を介してプリンタ1500に出力される。
The printer control command converted by the
プリントサブシステム204は、OSによって起動されて、CPU101によって外部メモリ111からRAM102にロードされて実行されるものであり、印刷ジョブのスケジューリング、ホストコンピュータ3000とプリンタ1500との接続制御、及びプリンタ1500のステータスの管理を行う。
The
尚、プリンタドライバ203は、前述した、アプリケーション201から出力された印字命令や描画命令をプリンタ制御命令に変換し、プリント出力に反映されるようプリンタに指示する機能に加えて、プリンタドライバ203やプリンタ1500が有する機能を制御するための設定を行う機能(以下、「ユーザインタフェース(UI)」という。)、その設定を記憶する機能、プリンタドライバ203やプリンタ1500が有する機能の情報をアプリケーション201やOSに提供する機能、UIで設定された機能がプリンタ1500の有する機能である場合にプリンタ制御命令を生成する機能、及び、UIで設定された機能がプリンタドライバ203独自で行う機能である場合にその機能を実現する機能等を有する。
The
図3は、図1におけるホストコンピュータ3000及びプリンタ1500が適用された印刷システムの構成を示すブロック図である。
FIG. 3 is a block diagram illustrating a configuration of a printing system to which the
図3において、印刷システムは、複数のホストコンピュータ3000、プリンタ1500、及びプリントサーバコンピュータ4000を有し、これらはネットワーク301を介して互いに接続されている。
In FIG. 3, the printing system includes a plurality of
ネットワーク301に接続されたホストコンピュータ3000の通信I/Fコントローラ108は、ネットワークインタフェースカード(NIC)の機能を有するものとする。
The communication I /
プリンタ1500は、セントロニクスやUSB等のローカルインタフェース302を介してプリントサーバコンピュータ4000と接続されて該プリントサーバ4000を介してネットワーク301に接続される形態であってもよく、ネットワーク301に直接接続される形態であってもよい。ネットワーク301に直接接続されたプリンタ1500の入力部118は、ネットワークインタフェースカード(NIC)の機能を有するものとする。
The
ホストコンピュータ3000は、プリントサーバコンピュータ4000を介してネットワーク301に接続されたプリンタ1500に印刷ジョブを送信する場合、まず、プリントサブシステム204を介して、プリントサーバコンピュータ4000へ印刷ジョブを送信する。プリントサーバコンピュータ4000は、ホストコンピュータ3000から送信されてきた印刷ジョブを、プリントサーバコンピュータ4000上の不図示のプリントサブシステムを介して、プリンタ1500に送信する。
When the
また、ホストコンピュータ3000は、ネットワーク301に直接接続されたプリンタ1500に印刷ジョブを送信する場合、プリントサブシステム204を介して、プリンタ1500に直接印刷ジョブを送信する。
When the
図4は、図2のホストコンピュータ3000によって実行される印刷制御処理の基本的な流れを示す図である。
FIG. 4 is a diagram showing a basic flow of print control processing executed by the
図4において、アプリケーション201は、直接プリンタドライバ203と情報の送受信を行うのではなく、OSが有するグラフィックスエンジン202を介してプリンタドライバ203と情報の送受信を行う。
In FIG. 4, the
グラフィックスエンジン202は、アプリケーション201から指示を受け、プリンタドライバ203に対して指示を行う。
The
まず、アプリケーション201は、片面/両面印刷設定や部数設定等の印刷設定情報をRAM102に確保されたメモリを介してグラフィックスエンジン202に通知し、プリンタドライバ203は、グラフィックスエンジン202より、その印刷設定情報と、その印刷設定情報に基づいてプリンタドライバ203が印刷処理を行う上で必要な情報(プリンタドライバ情報)を格納するためにRAM102上に確保されたメモリ領域の初期化要求とを受信する(ステップS401)。これにより、プリンタドライバ203は、プリンタドライバ情報を保持するメモリ領域を確保し、印刷設定情報に従ってそのメモリ領域を初期化する。
First, the
プリンタドライバ203は、プリンタドライバ203が参照するプリンタドライバ情報を保持するメモリ領域の初期化要求の受信により必要な処理を完了すると、ステップS401で受信した印刷設定情報に応じたプリンタドライバ203の印刷能力情報をグラフィックスエンジン202に通知する。
When the
アプリケーション201は、グラフィックスエンジン202より、最終的にプリンタ1500に送信される印刷ジョブとその印刷ジョブに反映させる印刷設定情報とを関連付けるために必要なハンドル値を取得する(ステップS402)。
The
次に、アプリケーション201が、印刷の開始要求をグラフィックスエンジン202に行うと、プリンタドライバ203は、グラフィックスエンジン202より印刷開始要求を受信する(ステップS403)。
Next, when the
これにより、プリンタドライバ203は、プリンタ1500が印刷を開始するために必要なPDLによるプリンタ制御命令を生成する。尚、プリンタ制御命令を生成する処理は、最初のページ(1ページ目)の印刷処理が開始された時点、即ち、アプリケーションからの最初のページの描画指示を受信した時点で行ってもよい。
As a result, the
アプリケーション201は、文字やイメージ等の描画オブジェクトの描画を実現するための描画指示をグラフィックスエンジン202に対して行うと、プリンタドライバ203は、その描画指示をグラフィックスエンジン202より受信する(ステップS404)。
When the
これにより、プリンタドライバ203は、指定された描画オブジェクトや改ページ、更には印刷設定情報を途中で変更するための要求等を含む描画指示を反映したプリンタ制御命令を適宜生成し、生成したプリンタ制御命令をプリンタ1500に出力する。尚、印刷するページ数はアプリケーション201からの指定に因る。
As a result, the
次に、アプリケーション201が、印刷終了要求をグラフィックスエンジン202に行うと、プリンタドライバ203は、グラフィックスエンジン202より印刷終了要求を受信する(ステップS405)。これにより、プリンタドライバ203は、プリンタ1500が印刷終了に必要なプリンタ制御命令を生成し、プリンタ制御命令の生成処理を終了する。
Next, when the
次に、アプリケーション201は、ステップS402で取得したハンドル値の破棄要求をグラフィックスエンジン202に通知し、プリンタドライバ203は、グラフィックスエンジン202より、メモリ領域格納されたプリンタドライバ情報の破棄要求を受信する。これにより、プリンタドライバ203は、上記プリンタドライバ情報の破棄処理を行う(ステップS406)。
Next, the
上記ステップS403〜S405の処理により、プリンタ1500に送信される1つの印刷ジョブが生成される。
One print job to be transmitted to the
図5は、図2に示したプリンタドライバ203の構成を詳細に示す図である。
FIG. 5 is a diagram showing in detail the configuration of the
図5において、プリンタドライバ203は、アプリケーション201からの印刷データを一旦中間コードデータでスプールする構成を有し、一旦スプールした中間コードデータの内容に対して加工することができる。これにより、アプリケーション201からの印刷データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーション201が有していない機能を実現することができる。
In FIG. 5, the
尚、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM102上又は外部メモリ111上に保管する。
In order to process the print data, settings are normally made from a window provided by the
まず、グラフィックスエンジン202からの印刷命令であるDDI関数をディスパッチャ501が受け取る。ディスパッチャ501がグラフィックスエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックスエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ501は外部メモリ111に格納されている内部スプール処理モジュールであるスプーラ503をRAM102にロードし、通常の印字データ作成処理部507ではなくスプーラ503へ印刷命令(DDI関数)を送付する。
First, the
スプーラ503は、受け取った印刷命令を解析し、ページ単位に中間コードデータに変換してスプールファイル504に保存する。このページ単位に保存されている中間コードデータのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。
The
また、スプーラ503は、プリンタドライバ203に対して設定されている製本印刷、Nup、両面、ステイプル、カラー/モノクロ指定等の印刷データに関する、後述する図6に示す加工設定情報をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル504に保存する。このジョブ単位に保存されている加工設定情報のスプールファイルをジョブ設定ファイル(SDF:Spool Description File)と呼ぶ。
Further, the
尚、スプールファイル504は、外部メモリ111上にファイルとして生成されるが、RAM102上に生成されても構わない。
The
スプーラ503は、外部メモリ111に格納されているスプールファイルマネージャ505をRAM102にロードし、スプールファイルマネージャ505に対してスプールファイル504の生成状況を通知する。その後、スプールファイルマネージャ505は、スプールファイル504に保存された印刷データに関する加工設定情報の内容に従って印刷を行えるか否かを判断する。
The
スプールファイルマネージャ505がグラフィックスエンジン202を利用して印刷を行えると判断した際には、外部メモリ111に格納されているデスプーラ506をRAM102にロードし、デスプーラ506に対して、スプールファイル504に記述された中間コードデータのページ描画ファイルの印刷処理を行うように指示する。
When the
デスプーラ506は、スプールファイル504に含まれる中間コードデータのページ描画ファイルを、スプールファイル504に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックスエンジン202にGDI関数を出力する。
The
ディスパッチャ501が、グラフィックスエンジン202から受け取った印刷命令(DDI関数)がデスプーラ506からグラフィックスエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ501はスプーラ503ではなく、プリンタドライバの通常の印字データ作成処理部507に印刷命令を送る。
When the
プリンタドライバ203は、グラフィックスエンジン202から取得したDDI関数に基づいてPDL等からなるプリンタ制御命令を生成し、生成したプリンタ制御命令をプリントサブシステム204経由でプリンタ1500に出力する。
The
本発明では、主にデスプーラ506がスプールファイルマネージャ505から印刷開始要求を受け付けた際の処理に機能が追加される。
In the present invention, a function is added mainly to processing when the
図6は、図5に示したスプールファイル504に保存される加工設定情報の一例を示す図である。
FIG. 6 is a diagram showing an example of the processing setting information stored in the
この加工設定情報は、図7に示すドライバUI1600からユーザにより設定され加工設定情報(図6)に記憶される。 The machining setting information is set by the user from the driver UI 1600 shown in FIG. 7 and stored in the machining setting information (FIG. 6).
図7は、図5に示したプリンタドライバ203の印刷設定を行うドライバUIの一例を示す模式図である。
FIG. 7 is a schematic diagram illustrating an example of a driver UI for performing print settings of the
以下、図8〜図15を参照して、本発明の自動レイアウト処理について説明する。 The automatic layout process of the present invention will be described below with reference to FIGS.
図8は、本発明における第1の制御処理手順の一例を示すフローチャートであり、図1に示したCPU101が図5におけるプリンタドライバ203を利用して実行する、自動レイアウト処理に対応する。即ち、このフローチャートの処理はCPU101が外部メモリ111に格納されるプリンタドライバプログラムをRAM102に読み出して実行することにより実現される。
FIG. 8 is a flowchart showing an example of a first control processing procedure according to the present invention, which corresponds to the automatic layout processing executed by the
なお、ここでは、図9に示す論理ページ8ページ且つ4up を指定した場合の出力結果を基に詳述する。 Here, detailed description will be made based on the output result when 8 logical pages and 4up are designated as shown in FIG.
また、図10は、図8に示した自動レイアウト処理の際にRAM102に記憶される情報を示す模式図である。
FIG. 10 is a schematic diagram showing information stored in the
以下、図8の自動レイアウト処理の説明を開始する。 Hereinafter, the description of the automatic layout process of FIG. 8 is started.
まず、図8のステップS701において、デスプーラ506は、スプールファイルマネージャ505から印刷開始要求を受け付けると、スプールファイル504に保存された印刷データに関する加工設定情報(図6)に含まれるNupの情報を参照して、Nup印刷が設定されているか否かを判別する。
First, in step S701 in FIG. 8, when the
ステップS701の判別の結果、Nup印刷が設定されていないとき(つまり、1up の場合)は、デスプーラ506は、ステップS712において、スプールファイル504に保存された印刷データに関する加工設定情報に基づいて通常印刷を行い、本処理を終了する。
If Nup printing is not set as a result of the determination in step S701 (that is, 1up), the
一方、ステップS701の判別の結果、Nup印刷が設定されているとき(2up 以上の場合)は、デスプーラ506は、ステップS702において、スプールファイル504に保存されている各論理ページの中からの最小用紙サイズ検索し、出力用紙サイズ情報としてサイズおよび向きをRAM102に保持する。なお、図9に示す例では、出力用紙サイズ情報は、(A4,ポートレイト)となる。
On the other hand, if Nup printing is set (in the case of 2up or more) as a result of the determination in step S701, the
次に、ステップS703において、デスプーラ506は、スプールファイル504に保存された加工設定情報(図6)からNup情報を取得し、RAM102に保持する。なお、Nup情報は、図7に示したドライバUI1600上のページレイアウト1602でユーザにより設定され、加工設定情報に記憶されている。
Next, in step S <b> 703, the
次に、ステップS704において、デスプーラ506は、RAM102に保持されている、出力用紙サイズ情報とNup情報を基に図11に示すレイアウトテンプレートを決定する。
Next, in step S704, the
図9に示した例では、出力用紙サイズ情報が「A4ポートレイト」且つNup設定が「4up」のケースであるので、決定されるレイアウトテンプレートは、「A4ポートレイト4up」となる。該情報は、RAM102に保持される。
In the example shown in FIG. 9, since the output paper size information is “A4 portrait” and the Nup setting is “4up”, the layout template to be determined is “A4 portrait 4up”. The information is held in the
次に、ステップS705において、デスプーラ506は、RAM102に保持されている、出力用紙サイズ情報とNup情報を基に、図12に示す、論理用紙サイズに適用するNupのテーブルを作成する。
Next, in step S705, the
この際、各論理用紙サイズで同じ拡縮率が適用されるようにNupを決定する。なお、ここで言う、ブロック数とは、論理用紙サイズをレイアウトする際に出力用紙をNup分割した領域をいくつ使用するかを意味している。該情報は、RAM102に保持される。
At this time, Nup is determined so that the same enlargement / reduction ratio is applied to each logical paper size. Here, the number of blocks means the number of Nup-divided areas of the output paper used when laying out the logical paper size. The information is held in the
次に、ステップS706において、デスプーラ506は、図11のレイアウトテンプレートと図12のNupテーブルおよびスプールファイル504に保存されている、各論理用紙のサイズと向きを基に、図13に示すレイアウトテーブルを決定する。該情報は、RAM102に保持される。なお、ステップS706の各論理用紙のレイアウトテーブルを求める処理の詳細は、後述する図15で説明する。
Next, in step S706, the
次に、ステップS707において、デスプーラ506は、図13のレイアウトテーブルを基に余白の割合求める。詳細には、「余白の割合=1−(図13に示すレイアウトテーブルのレイアウト番号の数)/(図11のレイアウトテンプレートのレイアウト番号の数×出力ページ数)」に対応する算出式で余白の割合を計算する。例えば、図13の例では、レイアウトテンプレートのレイアウト番号の数は「11」、図11の例ではレイアウトテンプレート「A4ポートレート4up」のレイアウト番号の数は「4」、図9の出力結果に示すように出力ページ数は「3」となるので、余白の割合は「1−11/4×3」、即ち「1/12」となる。該情報は、RAM102に保持される。
In step S707, the
次に、ステップS709において、デスプーラ506は、ステップS707で求めた余白率が「0%」でなく、且つ、ステップS704で求めた、Nupテーブルにおける最大論理用紙サイズのNup設定が「1up」でないと判定した場合には、デスプーラ506は、ステップS710において、RAM11に保持している、Nupの分割数を半分にして、ステップS704から処理を繰り返す。
In step S709, the
一方、ステップS709で、デスプーラ506が、ステップS707で求めた余白率が「0%」、又は、ステップS704で求めた、Nupテーブルにおける最大論理用紙サイズのNup設定が「1up」であると判定した場合には、デスプーラ506は、ステップS711において、RAM102に保持している、レイアウトテーブルの中から余白率の最も低いレイアウトテーブルを適用して出力する。なお、この際、図7に示したドライバUI1600上の出力用紙サイズ1601でユーザが明示的に出力用紙サイズを指定している場合は、その用紙サイズに拡大縮小して出力する(この例を後述する図14に示す)。また、ステップS711の処理が終了すると、本フローチャートの処理を終了する。
On the other hand, in step S709, the
図14は、図7に示したドライバUI1600上の出力用紙サイズ1601でユーザが明示的に出力用紙サイズが指定されており、その用紙サイズに拡大縮小して出力する場合の一例を示した模式図である。
FIG. 14 is a schematic diagram showing an example in which the user explicitly specifies the output paper size in the
この例では、ドライバUI1600上の出力用紙サイズ1601
ドライバUI1600上のページレイアウト1602に「4ページ/枚」(即ち4up)が指定され、出力用紙サイズ1601に「A3」が設定されている場合に対応する。
In this example, the
This corresponds to the case where “4 pages / sheet” (that is, 4 up) is designated in the
図14において、1401に示すように、A4P,A3Lが混在した原稿を出力するものとする。
In FIG. 14, as indicated by
この場合、出力サイズが明示的に指定されていなければ、出力結果は1402に示すようにA4P用紙にNup出力されることとなる。 In this case, if the output size is not explicitly specified, the output result is output Nup on A4P paper as indicated by 1402.
しかしながら、出力サイズに「A3」が明示的に指定されているので、この場合、1403に示すように、A4のレイアウト結果を、出力用紙サイズA3にフィットするように拡大して出力する。 However, since “A3” is explicitly designated as the output size, in this case, as shown in 1403, the layout result of A4 is enlarged and output so as to fit the output paper size A3.
また、出力サイズに「A5」が明示的に指定されている場合は、出力サイズA5にフィットするように縮小して出力する。 When “A5” is explicitly designated as the output size, the output size is reduced so as to fit the output size A5.
以下、図15を参照して、図8のステップS706に示した各論理用紙のレイアウトテーブルを求める処理について詳細に説明する。 Hereinafter, the process for obtaining the layout table of each logical sheet shown in step S706 of FIG. 8 will be described in detail with reference to FIG.
図15は、本発明における第2の制御処理手順の一例を示すフローチャートであり、デスプーラ506における図8のS706の各論理用紙のレイアウトテーブルを求める処理に対応する。即ち、このフローチャートの処理はCPU101が外部メモリ111に格納されるプリンタドライバプログラムをRAM102に読み出して実行することにより実現される。
FIG. 15 is a flowchart showing an example of a second control processing procedure according to the present invention, and corresponds to the processing for obtaining the layout table of each logical sheet in S706 of FIG. 8 in the
まず、ステップS801は、デスプーラ506は、スプールファイル504に保存されている中間コードのページ描画ファイルから、先頭の論理ページのサイズおよび向きの情報を取得し、RAM102のカレント論理用紙に保持する。
First, in step S 801, the
次に、ステップS802において、デスプーラ506は、ステップS801で取得した論理ページが出力用紙をNup分割した領域のどの位置にレイアウトするか(=レイアウト番号)を求める処理を実行する。なお、このステップS802のレイアウト番号を求める処理の詳細は後述する図16に示す。
Next, in step S802, the
次に、ステップS803において、デスプーラ506は、ステップS801,S802で求めた、論理ページのサイズおよび向きとレイアウト番号を、RAM102に保持しているレイアウトテーブル(図13)に追加する。
Next, in step S803, the
次に、ステップS804において、デスプーラ506は、スプールファイル504に保存されている中間コードのページ描画ファイルから、次の論理ページのサイズおよび向きの情報を取得し、RAM102のカレント論理用紙に保持する処理である。
Next, in
このとき、デスプーラ506は、論理ページが存在するか否をステップS805において判断し、論理ページが存在しない(全ての論理ページの処理が完了した)場合は、本処理を終了する。
At this time, the
一方、ステップS506で、論理ページが存在すると判断した場合には、デスプーラ506は、ステップS806に処理を進める。
On the other hand, if it is determined in step S506 that a logical page exists, the
ステップS806では、デスプーラ506は、ステップS804で取得した論理ページが出力用紙をNup分割した領域のどの位置にレイアウトするか(=レイアウト番号)を求める処理を実行する。なお、このステップS806の処理の詳細は後述する図16に示す。
In step S806, the
次に、ステップS807において、デスプーラ506は、ステップS804,S806で求めた、論理ページのサイズおよび向きとレイアウト番号を、RAM102に保持しているレイアウトテーブルに追加し、ステップS804に処理を戻す。そして、論理ページが全ページが終了するまでS804〜S807の処理を繰り返す。
In step S807, the
以下、図16を参照して、図15のステップS802,S806に示したカレントの論理ページと直前の論理ページとを比較してレイアウト位置を決める処理を詳細に説明する。 Hereinafter, the process of determining the layout position by comparing the current logical page and the previous logical page shown in steps S802 and S806 of FIG. 15 will be described in detail with reference to FIG.
図16は、本発明における第3の制御処理手順の一例を示すフローチャートであり、デスプーラ506における図14のステップS802,S806に示したカレントの論理ページと直前の論理ページとを比較してレイアウト位置を決める処理に対応する。即ち、このフローチャートの処理はCPU101が外部メモリ111に格納されるプリンタドライバプログラムをRAM102に読み出して実行することにより実現される。
FIG. 16 is a flowchart showing an example of a third control processing procedure according to the present invention, in which the current logical page shown in steps S802 and S806 of FIG. 14 in the
まず、ステップS901において、デスプーラ506は、RAM102に保持されている、Nupテーブルから、RAM102のカレント論理用紙に保存されている、現在の論理ページに対応するブロック数を求める。該情報はRAM102に保持する。
First, in step S <b> 901, the
次に、ステップS902において、デスプーラ506は、現在の論理ページが先頭ページであるかを判定し、先頭ページであると判定した場合には、ステップS909へ処理を進める。
Next, in step S902, the
ステップS909において、デスプーラ506は、起点レイアウト番号を(1)とし、ステップS910に処理を進める。該情報はRAM102に保持される。
In step S909, the
一方、ステップS902で、現在の論理ページが先頭ページでないと判定した場合には、デスプーラ506は、ステップS903に処理を進める。
On the other hand, if it is determined in step S902 that the current logical page is not the first page, the
ステップS903では、デスプーラ506は、RAM102のカレント論理用紙に保存されている、現在の論理ページを同一の出力用紙にレイアウトするための領域があるか否かをチェックする。詳細には、「Nup情報 − 前ページのレイアウト番号 <= 現在の論理ページのブロック数」が「真」の場合にはレイアウトするための領域があると判断し、「偽」の場合にはレイアウトするための領域が無いと判断する。
In step S903, the
ステップS903で、RAM102のカレント論理用紙に保存されている、現在の論理ページを同一の出力用紙にレイアウトするための領域が無いと判定した場合には、デスプーラ506は、同一の出力用紙に出力できないと判断して、ステップS909に処理を進め、起点レイアウト番号を(1)とし、ステップS910に処理を進める。該情報はRAM102に保持される。
If it is determined in step S903 that there is no area for laying out the current logical page stored on the current logical sheet in the
一方、ステップS903で、RAM102のカレント論理用紙に保存されている、現在の論理ページを同一の出力用紙にレイアウトするための領域が有ると判定した場合には、デスプーラ506は、ステップS904に処理を進める。
On the other hand, if it is determined in step S903 that there is an area for laying out the current logical page stored on the current logical sheet in the
ステップS904では、デスプーラ506は、RAM102に保持している、現在の論理ページと前ページで用紙サイズが同じであるか否かを判定し、同じであると判断した場合には、ステップS905に処理を進める。
In step S904, the
ステップS905では、デスプーラ506は、RAM102に保持している、現在の論理ページと前ページで用紙の向きが同じであるか否かを判定し、向きが同じであると判定した場合には、ステップS907に処理を進める。
In step S905, the
ステップS907では、デスプーラ506は、「前ページのレイアウト番号+1」を起点レイアウト番号とし、ステップS910に処理を進める。例えば、前ページのレイアウト番号が(1)であれば現在のページの起点レイアウト番号は(2)とする。該情報はRAM102に保持される。
In step S907, the
一方、ステップS905で、RAM102に保持している、現在の論理ページと前ページで用紙の向きが同じでないと判定した場合には、デスプーラ506は、同一の出力用紙に出力できないと判断して、ステップS909に処理を進め、起点レイアウト番号を(1)とし、ステップS910に処理を進める。該情報はRAM102に保持される。
On the other hand, if it is determined in step S905 that the current logical page and the previous page stored in the
一方、ステップS904で、RAM102に保持している、現在の論理ページと前ページで用紙サイズが同じないと判定した場合には、ステップS906に処理を進める。
On the other hand, if it is determined in step S904 that the paper size is the same between the current logical page and the previous page held in the
ステップS906では、デスプーラ506は、現在の論理ページと前ページで用紙サイズが異なるが、現在の論理ページにNupを適用した結果、前ページとデータの向きが同じになるか否かを判定する。例えば、A3L 2up と A4P 4up、A3P 2up と A5P 8up等の場合、Nupを適用でデータの向きが同じになる。なお、L:ランドスケープ、P:ポートレイトを示す。
In step S906, the
ステップS906で、現在の論理ページにNupを適用した結果、前ページとデータの向きが同じになると判定した場合には、デスプーラ506は、同一の出力用紙にレイアウトできると判断できるため、ステップS908に処理を進める。
If it is determined in step S906 that Nup is applied to the current logical page and the direction of the data is the same as that of the previous page, the
ステップS908では、デスプーラ506は、次の式で起点レイアウト番号を求め、ステップS910に処理を進める。詳細には、「レイアウト番号=前ページのレイアウト番号/S901で求めた現在のブロック数(切り上げ)×現在のブロック数+1」となる。例えば、「前ページ A4P レイアウト番号(1)、現在のページ A3L でブロック数2の場合、起点レイアウト番号は(3)となる。該情報はRAM102に保持される。
In step S908, the
一方、ステップS906で、現在の論理ページにNupを適用しても前ページとデータの向きが同じにならないと判定した場合には、デスプーラ506は、同一の出力用紙にレイアウトできないと判断できるため、ステップS909に処理を進め、起点レイアウト番号を(1)とし、ステップS910に処理を進める。該情報はRAM102に保持される。
On the other hand, if it is determined in step S906 that the data orientation is not the same as that of the previous page even if Nup is applied to the current logical page, the
最後に、ステップS910では、デスプーラ506は、ステップS907〜S909のいずれかで求めた、RAM102に保存されている起点レイアウト番号を基準に、現在のブロック数分の領域をレイアウト番号とし、処理を終了する。例えば、起点レイアウト番号(3)、用紙サイズ A3L でブロック数が2の場合、レイアウト番号は(3)(4)となる。
Finally, in step S910, the
以上示したように、各用紙の縮小率や印刷の向きを元の原稿のままNup印刷することができる等の効果を奏する。 As described above, there is an effect that the NUP printing can be performed with the reduction ratio and the printing direction of each sheet as the original document.
〔他の実施形態〕
上記第1実施形態では、同系列(A系/B系)の用紙を例にしてレイアウト制御する場合についえ説明したが、異系列の用紙が混在している場合でも、用紙混在の体裁を崩さずに出力用紙に収まるようにレイアウトするように構成しても良い。なお、この構成の場合、上下左右に多少の余白が生じる。
[Other Embodiments]
In the first embodiment, the case where the layout control is performed using the same series (A system / B system) paper as an example has been described. Alternatively, the layout may be made so as to fit on the output paper. In the case of this configuration, some margins are generated in the top, bottom, left, and right.
また、上記第1実施形態では、全ての論理用紙に対して同じ拡縮率を適用しているが、A4とLTRのようにサイズの近い用紙においては、拡縮率を微調整して用紙に収まるようにレイアウトしてもよい。この構成の場合、ほぼ体裁を崩さずに出力用紙に収まるようにレイアウトすることができる。 In the first embodiment, the same enlargement / reduction ratio is applied to all the logical sheets. However, in the case of sheets of similar sizes such as A4 and LTR, the enlargement / reduction ratio is finely adjusted so that it fits on the sheet. May be laid out. In the case of this configuration, it is possible to lay out so as to fit on the output sheet with almost no appearance.
さらに、上記第1実施形態では、余白率が低いレイアウトモードを選択する構成について説明した。しかし、用紙削減のため、出力ページ数が最小になるレイアウトモードを選択するように構成してもよい。さらに、これらのモードをドライバUI上で選択可能としてもよい。 Furthermore, in the first embodiment, the configuration in which the layout mode with a low margin rate is selected has been described. However, a layout mode that minimizes the number of output pages may be selected to reduce paper. Further, these modes may be selectable on the driver UI.
また、上記第1実施形態では、プリンンタドライバに設定された用紙サイズの情報(DEVMODE::dmPaperSize)によって用紙サイズを判断している。しかし、印刷データから用紙サイズを自動判別するように構成してもよい。例えば、A3ランドスケープの左端にしかデータが書かれていないケースでは、A4ポートレイトと判別する。 In the first embodiment, the paper size is determined based on the paper size information (DEVMODE :: dmPaperSize) set in the printer driver. However, the paper size may be automatically determined from the print data. For example, in the case where data is written only at the left end of the A3 landscape, it is determined as an A4 portrait.
さらに、どのレイアウトパターンを適用しても余白が発生していまう場合は、出力用紙サイズを可変にして余白部分を削除するモードを設けても良い。この例を図17示す。 Further, when a margin is generated regardless of which layout pattern is applied, a mode for deleting the margin part by changing the output paper size may be provided. This example is shown in FIG.
図17に示した例では、出力用紙サイズをA4→A5に変更している。これにより、余白が「0」となる。 In the example shown in FIG. 17, the output paper size is changed from A4 to A5. As a result, the margin becomes “0”.
また、余白が発生する場合は、ページ順を入れ替えて余白領域が最小となるように最適化するモードを設けても良い。この例を図18示す。 In addition, when a margin occurs, a mode may be provided in which the page order is changed to optimize the margin area to be minimum. An example of this is shown in FIG.
図18に示した例では、論理ページ5を空いている場所に挿入して余白領域を最小化している。なお、この際、ページ番号を付与して順番が分かるようにしてもよい。
In the example shown in FIG. 18, the blank area is minimized by inserting the
なお、はがきや封筒等の特殊用紙に、本処理を適用すると期待する出力結果とならない可能性があるので、これらの用紙が指定されている場合には、本処理の適用外とするように構成しても良い。 Note that this processing may not produce the expected output when special processing is applied to special paper such as postcards and envelopes. If these papers are specified, this processing is not applicable. You may do it.
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。 It should be noted that the configuration and contents of the various data described above are not limited to this, and it goes without saying that the various data and configurations are configured according to the application and purpose.
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.
以上、示したように、各用紙の拡縮率や印刷の向きを元の原稿のままとして、体裁のよいNup印刷を行うことができる。 As described above, Nup printing with good appearance can be performed with the enlargement / reduction ratio and printing direction of each sheet as the original document.
また、用紙系列の異なるページに関しては、他のページと異なる拡縮率で変倍して全体として体裁のよいNup印刷を行うことができる。 In addition, regarding pages with different paper series, it is possible to perform Nup printing with a good overall appearance by scaling with a different scaling ratio than other pages.
さらに、余白が生じる場合、ページ数を変更して、余白の少ないNup印刷することができる。 Further, when margins occur, the number of pages can be changed to perform Nup printing with a small margin.
従って、異なるサイズや向きのページが混在する印刷データであっても、余白が少なく体裁のよいNup印刷を行うことができる等の効果を奏する。 Therefore, even if the print data includes a mixture of pages of different sizes and orientations, it is possible to perform Nup printing with a small margin and good appearance.
以下、図19に示すメモリマップを参照して本発明に係る印刷制御装置(コンピュータ3000)で読み取り可能なデータ処理プログラムの構成について説明する。 The configuration of a data processing program that can be read by the print control apparatus (computer 3000) according to the present invention will be described below with reference to the memory map shown in FIG.
図19は、本発明に係る印刷制御装置(コンピュータ3000)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。 FIG. 19 is a diagram illustrating a memory map of a recording medium (storage medium) that stores various data processing programs that can be read by the print control apparatus (computer 3000) according to the present invention.
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。 Although not specifically shown, information for managing a program group stored in the recording medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。 Further, data depending on various programs is also managed in the directory. In addition, when a program or data to be installed is compressed, a program to be decompressed may be stored.
本実施形態における図8,図14,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。 The functions shown in FIGS. 8, 14, and 15 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a recording medium such as a CD-ROM, a flash memory, or an FD, or from an external recording medium via a network. Is.
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。 As described above, a recording medium in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus is stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the program code.
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。 In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program code constitutes the present invention.
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。 As a recording medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, A silicon disk or the like can be used.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted in the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program represented by software for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention.
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Furthermore, by downloading and reading out a program represented by software for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention. It becomes.
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。 In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.
3000 ホストコンピュータ
1500 プリンタ
203 プリンタドライバ
502 内部スプール処理部
506 デスプーラ
3000
Claims (11)
前記印刷データの各論理ページ情報を取得する論理ページ情報取得手段と、
前記論理ページ情報及び前記印刷設定情報に基づいて、レイアウトパターンを算出するレイアウトパターン算出手段と、
前記レイアウトパターン算出手段により算出されたレイアウトパターンに基づいて印刷データを生成する生成手段と、
を有することを特徴とする印刷制御装置。 Holding means for holding print data, print setting information of the print data including the number of layouts specifying the number of logical pages of the print data to be laid out on the output paper, and the output paper size;
Logical page information acquisition means for acquiring each logical page information of the print data;
Layout pattern calculating means for calculating a layout pattern based on the logical page information and the print setting information;
Generating means for generating print data based on the layout pattern calculated by the layout pattern calculating means;
A printing control apparatus comprising:
前記印刷設定情報内のレイアウト数と出力用紙サイズに基づいて、各論理ページの論理用紙サイズ毎に適用するレイアウト数を判定する判定手段と、
前記各論理ページを、論理ページの論理用紙サイズと向きに基づき、出力用紙を前記論理ページの論理用紙サイズに対応するレイアウト数で分割した領域にレイアウトするための位置を算出するレイアウト位置算出手段とを備え、
前記レイアウト位置算出手段により算出されたレイアウト位置に基づいて、異なるサイズや向きが混在する論理ページを向きを揃えて可変レイアウトするようにレイアウトパターンを算出することを特徴とする請求項1に記載の印刷制御装置。 The layout pattern calculation means includes
Determining means for determining the number of layouts to be applied for each logical paper size of each logical page based on the number of layouts and the output paper size in the print setting information;
Layout position calculating means for calculating a position for laying out each logical page in an area obtained by dividing the output paper by the number of layouts corresponding to the logical paper size of the logical page based on the logical paper size and orientation of the logical page; With
2. The layout pattern according to claim 1, wherein the layout pattern is calculated based on the layout position calculated by the layout position calculation means so as to variably lay out logical pages having different sizes and orientations in a uniform orientation. Print control device.
前記各論理ページ情報に基づいて、論理用紙サイズが最小の論理ページの論理用紙を出力用紙に決定する出力用紙決定手段を有することを特徴とする請求項2に記載の印刷制御装置。 The layout pattern calculation means includes
The print control apparatus according to claim 2, further comprising: an output sheet determination unit that determines, based on the logical page information, a logical sheet having a minimum logical sheet size as an output sheet.
異なるサイズや向きが混在する論理ページにおいて、各論理ページを同一の拡縮率で拡縮して出力用紙にレイアウトするようにレイアウトパターンを算出することを特徴とする請求項2又は3記載の印刷制御装置。 The layout position calculating means includes
4. The print control apparatus according to claim 2, wherein a layout pattern is calculated so that each logical page is enlarged and reduced at the same enlargement / reduction ratio and laid out on output paper in logical pages having different sizes and orientations. .
異なる用紙系列やサイズや向きが混在する論理ページにおいて、出力用紙と用紙系列が異なる論理ページに関しては、出力用紙と用紙系列が同一の論理ページとは異なる拡縮率で拡縮して出力用紙にレイアウトするようにレイアウトパターンを算出することを特徴とする請求項2乃至4のいずれか1項に記載の印刷制御装置。 The layout position calculating means includes
For logical pages with different paper series, sizes, and orientations, for output pages and logical pages with different paper series, the output paper and paper series are laid out on the output paper at a different scaling ratio than the same logical page. The print control apparatus according to claim 2, wherein the layout pattern is calculated as follows.
前記生成手段は、所定のレイアウト数までレイアウト数を変更し、該変更したレイアウト数毎に、前記レイアウトパターン算出手段にレイアウトパターンを算出させ、前記余白率算出手段により算出された余白率が最小となるレイアウトパターンに基づいて印刷データを生成することと特徴とする請求項1乃至5のいずれか1項に記載の印刷制御装置。 A margin ratio calculating means for calculating a margin ratio indicating a ratio of a region to be a margin based on the layout pattern calculated by the layout pattern calculating means;
The generation unit changes the number of layouts to a predetermined number of layouts, causes the layout pattern calculation unit to calculate a layout pattern for each changed layout number, and the margin rate calculated by the margin rate calculation unit is minimum. The print control apparatus according to claim 1, wherein print data is generated based on a layout pattern.
前記生成手段は、前記余白率算出手段により算出される余白率が所定の閾値を下回るまで、レイアウト数を変更し、該変更したレイアウト数毎に、前記レイアウトパターン算出手段にレイアウトパターンを算出させ、前記余白率算出手段により算出された余白率が最小となるレイアウトパターンに基づいて印刷データを生成することと特徴とする請求項1乃至5のいずれか1項に記載の印刷制御装置。 A margin ratio calculating means for calculating a margin ratio indicating a ratio of a region to be a margin based on the layout pattern calculated by the layout pattern calculating means;
The generation unit changes the number of layouts until the margin rate calculated by the margin rate calculation unit falls below a predetermined threshold, and causes the layout pattern calculation unit to calculate a layout pattern for each changed layout number, 6. The print control apparatus according to claim 1, wherein print data is generated based on a layout pattern having a minimum margin ratio calculated by the margin ratio calculation unit.
異なるサイズや向きが混在する論理ページにおいて、余白が生じる場合、該余白を埋めるようにページ順序を変更してレイアウトするようにレイアウトパターンを算出することを特徴とする請求項1乃至7のいずれか1項に記載の印刷制御装置。 The layout position calculating means includes
8. If a margin occurs in a logical page having different sizes and orientations, a layout pattern is calculated so that the page order is changed to fill the margin and the layout pattern is calculated. The printing control apparatus according to item 1.
前記印刷データの各論理ページ情報を取得する論理ページ情報取得ステップと、
前記論理ページ情報及び前記印刷設定情報に基づいて、レイアウトパターンを算出するレイアウトパターン算出ステップと、
前記レイアウトパターン算出手段により算出されたレイアウトパターンに基づいて印刷データを生成する生成ステップと、
を有することを特徴とする印刷制御方法。 In a print control method in a print control apparatus having a print data, a number of layouts that specify the number of logical pages of print data to be laid out on output paper, and print data setting information for the print data including the output paper size,
A logical page information acquisition step of acquiring each logical page information of the print data;
A layout pattern calculating step for calculating a layout pattern based on the logical page information and the print setting information;
A generating step for generating print data based on the layout pattern calculated by the layout pattern calculating means;
A printing control method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006182758A JP2008015563A (en) | 2006-06-30 | 2006-06-30 | Printing control device, printing control method, program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006182758A JP2008015563A (en) | 2006-06-30 | 2006-06-30 | Printing control device, printing control method, program and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008015563A true JP2008015563A (en) | 2008-01-24 |
Family
ID=39072545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006182758A Withdrawn JP2008015563A (en) | 2006-06-30 | 2006-06-30 | Printing control device, printing control method, program and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008015563A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009290849A (en) * | 2008-06-02 | 2009-12-10 | Konica Minolta Business Technologies Inc | Image processor, layout determination method, and layout determination program |
JP2010135977A (en) * | 2008-12-03 | 2010-06-17 | Konica Minolta Business Technologies Inc | Image forming apparatus |
JP2014225078A (en) * | 2013-05-15 | 2014-12-04 | 株式会社リコー | Information processing apparatus, information processing method, and program |
-
2006
- 2006-06-30 JP JP2006182758A patent/JP2008015563A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009290849A (en) * | 2008-06-02 | 2009-12-10 | Konica Minolta Business Technologies Inc | Image processor, layout determination method, and layout determination program |
JP4645686B2 (en) * | 2008-06-02 | 2011-03-09 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing apparatus, layout determination method, and layout determination program |
JP2010135977A (en) * | 2008-12-03 | 2010-06-17 | Konica Minolta Business Technologies Inc | Image forming apparatus |
JP2014225078A (en) * | 2013-05-15 | 2014-12-04 | 株式会社リコー | Information processing apparatus, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8451490B2 (en) | Printing control method | |
JP3984890B2 (en) | Printing control apparatus and method, computer program, and storage medium | |
US20070177212A1 (en) | Print layout and apparatus and method | |
JPH11129583A (en) | Print controller, print control method and memory medium storing computer readable program | |
JP2000218889A (en) | Print control system and method, memory medium | |
US7428072B2 (en) | Printing control program, printing control method, printing system and information processing apparatus | |
JP2005115683A (en) | Print setting method and information processor | |
JP2008015563A (en) | Printing control device, printing control method, program and recording medium | |
JP3667043B2 (en) | Information processing system, information processing apparatus, and print control method | |
JP2002014797A (en) | Information processor, print controller and its control method, and storage medium and its control program | |
JP5734020B2 (en) | Print control apparatus, print control method for print control apparatus, and program | |
JP4817563B2 (en) | Information processing apparatus, data processing method of the apparatus, data processing program, and storage medium storing the program | |
US7253911B2 (en) | Printing method and system for executing printing in plural print processes | |
JP2005165466A (en) | Print controller, print control method and computer program | |
JP2005107845A (en) | Document processor, document processing method, storage medium storing computer-readable program, and program | |
JP2004021456A (en) | Image processing device, print processing method, and storage medium readable by computer | |
JP2004192395A (en) | Data processor | |
JP4100912B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP2007234037A (en) | Information processor and information processing method | |
JP2006263969A (en) | Image processing device, printing job forming device, and image processing system | |
JP3745086B2 (en) | Printing control apparatus and method | |
JP2006235933A (en) | Image processor and print job generating device | |
JP2006185156A (en) | Print controller, print system, print control method, and print control program | |
US8160469B2 (en) | Information processing apparatus, method for controlling the information processing apparatus, and storage medium | |
JP2000185445A (en) | Method and apparatus for printing control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080403 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090901 |