[go: up one dir, main page]

JP2008015563A - Printing control device, printing control method, program and recording medium - Google Patents

Printing control device, printing control method, program and recording medium Download PDF

Info

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
print
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
Application number
JP2006182758A
Other languages
Japanese (ja)
Inventor
Yuji Izawa
勇二 井沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon System Solutions Inc
Original Assignee
Canon System Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon System Solutions Inc filed Critical Canon System Solutions Inc
Priority to JP2006182758A priority Critical patent/JP2008015563A/en
Publication of JP2008015563A publication Critical patent/JP2008015563A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To achieve layout printing with good appearance with limited blank space even for print data in which pages different in size and orientation are mixed. <P>SOLUTION: A de-spooler 506 in an internal spool processing part 501 of a printer driver 203 calculates layout pattern based on each logical page information of print data, and the layout count and output paper size in print setting information, and generates print data based on the calculated layout pattern. <P>COPYRIGHT: (C)2008,JPO&INPIT

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 Patent Document 1, by changing the enlargement / reduction ratio for each document size or changing the orientation of the paper, different page sizes and orientations are reduced and arranged on one sheet, and the paper is discharged halfway at the change of the page size. There has been proposed a technique for printing N pages on the same sheet.

この発明によれば、同一文書内に用紙サイズや用紙向きが混在しているような場合、論理ページ毎に拡縮率を決定して、異なる論理ページを同一用紙に縮小印刷する。この際、各論理ページの向きを揃えるようにレイアウトすることで、用紙サイズや向きが混在していない文書に近い出力を得ることを可能としている。   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のようにレイアウトされる。
特開平11−99723号公報 特開平11−249858号公報
For example, when a 9-page document such as 2001 shown in FIG. 20 is printed in 4up, when the layout technique of Patent Document 1 is used, the layout is as shown in FIG. 21, and when the layout technique of Patent Document 2 is used. The layout is as shown in FIG.
JP-A-11-99723 JP-A-11-249858

しかしながら特許文献1に記載の技術には、次のような問題点がある。   However, the technique described in Patent Document 1 has the following problems.

図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 Patent Document 2, the purpose of arranging the N-page printing appearance when the paper sizes and orientations are mixed in the same document is the same, but the appearance of paper mixing is lost (FIG. 22).

本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、異なるサイズや向きのページが混在する印刷データであっても、余白が少なく体裁のよい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 host computer 3000 and a printer 1500, which are connected to each other via a data transfer path 121.

ホストコンピュータ3000は、CPU101と、RAM102と、ROM103と、入力コントローラ(入力C)105と、ビデオコントローラ(VC)106と、メモリコントローラ(MC)107と、通信インターフェースコントローラ(通信I/FC)108と、キーボード(KB)109と、CRTディスプレイ(CRT)110と、外部メモリ111とを備える。   The host computer 3000 includes a CPU 101, a RAM 102, a ROM 103, an input controller (input C) 105, a video controller (VC) 106, a memory controller (MC) 107, a communication interface controller (communication I / FC) 108, A keyboard (KB) 109, a CRT display (CRT) 110, and an external memory 111.

CPU101、RAM102、ROM103、入力C105、VC106、MC107、及び通信I/FC108は、システムバス104を介して互いに接続されている。   The CPU 101, RAM 102, ROM 103, input C 105, VC 106, MC 107, and communication I / FC 108 are connected to each other via the system bus 104.

ROM103又は外部メモリ111には、CPU101の制御プログラムであるBIOS(Basic Input/Output System)、オペレーティングシステムプログラム(以下、「OS」という。)、及び後述する各処理を実行するために必要な各種プログラム等が記憶されている。   In the ROM 103 or the external memory 111, a BIOS (Basic Input / Output System), an operating system program (hereinafter referred to as “OS”), which is a control program of the CPU 101, and various programs necessary for executing each process described later. Etc. are stored.

本実施の形態で使用する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 RAM 102 functions as a main memory, work area, and the like for the CPU 101. The CPU 101 implements various operations by loading a program necessary for execution of processing into the RAM 102 and executing the program.

入力コントローラ(入力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 external memory 111.

外部メモリ111は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及び各種データ等を記憶し、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)、又はPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等から構成される。   The external memory 111 stores a boot program, browser software, various applications, font data, user files, editing files, various data, and the like, and includes a hard disk (HD), floppy (registered trademark) disk (FD), or PCMCIA. It consists of a compact flash memory connected to the card slot via an adapter.

通信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 printer 1500 via the data transfer path 121 is possible.

CPU101は、例えば、RAM102内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT110に表示情報を表示する。また、CPU101は、CRT110にマウスカーソル等を表示することにより、ユーザによる指示を可能にする。   For example, the CPU 101 displays display information on the CRT 110 by executing outline font rasterization processing on a display information area in the RAM 102. Further, the CPU 101 allows a user to give an instruction by displaying a mouse cursor or the like on the CRT 110.

プリンタ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 printer 1500 includes a CPU 112, a RAM 119, a font ROM 113a, a program ROM 113b, a data ROM 113c, an input unit 118, a printing unit interface (printing unit I / F) 116, a printing unit 117, an operation unit 1501, A memory controller (MC) 120 and an external memory 114 are provided. The CPU 112, RAM 119, ROM 113, input unit 118, printing unit I / F 116, operation unit 1501, and MC 120 are connected to each other via a system bus 115.

プリンタCPU112は、プログラムROM113b又は外部メモリ114に記憶された制御プログラム等に基づいて、印刷部I/F116を介して印刷部(プリンタエンジン)117に出力情報としての画像信号を出力する。   The printer CPU 112 outputs an image signal as output information to the printing unit (printer engine) 117 via the printing unit I / F 116 based on a control program stored in the program ROM 113b or the external memory 114.

プログラムROM113bには、CPU112の制御プログラム等が記憶される。フォントROM113aには、上記出力情報を生成する際に使用するフォントデータ等が記憶される。データROM113cには、プリンタ1500がハードディスク等の外部メモリ114を有していない場合には、ホストコンピュータ3000上で利用される情報等が記憶される。   The program ROM 113b stores a control program for the CPU 112 and the like. The font ROM 113a stores font data used when generating the output information. The data ROM 113c stores information used on the host computer 3000 when the printer 1500 does not have the external memory 114 such as a hard disk.

CPU112は、入力部118を介してホストコンピュータ3000との通信処理を行い、プリンタ1500内の情報等をホストコンピュータ3000に通知することができる。   The CPU 112 can perform communication processing with the host computer 3000 via the input unit 118 and notify the host computer 3000 of information in the printer 1500 and the like.

RAM119はCPU112の主メモリであり、ワークエリア等として機能する。また、RAM119は、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM119は、出力情報展開領域、環境データ格納領域、NVRAM等にも用いられる。   A RAM 119 is a main memory of the CPU 112 and functions as a work area. The RAM 119 is configured so that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown). The RAM 119 is also used for an output information expansion area, an environment data storage area, NVRAM, and the like.

メモリコントローラ(MC)120は、外部メモリ114へのアクセスを制御する。外部メモリ114は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶し、ハードディスク(HD)、ICカード等で構成される。   A memory controller (MC) 120 controls access to the external memory 114. The external memory 114 is connected as an option, stores font data, an emulation program, form data, and the like, and includes a hard disk (HD), an IC card, and the like.

操作部1501は、操作のためのスイッチ及びLED表示器等が配されている操作パネルである。尚、プリンタ1500が備える外部メモリ114は、1個に限られるものではなく、少なくとも1個以上であれば複数であってもよい。また、プリンタ1500は、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されてもよい。更に、プリンタ1500は、操作部1501により設定されたプリンタモード設定情報を記憶するNVRAMを有していてもよい。   The operation unit 1501 is an operation panel on which switches for operation, LED indicators, and the like are arranged. Note that the number of external memories 114 provided in the printer 1500 is not limited to one, and may be plural as long as at least one is included. In addition to the built-in font, the printer 1500 may be configured so that an optional font card and a plurality of external memories storing programs for interpreting printer control languages with different language systems can be connected. Further, the printer 1500 may have an NVRAM that stores printer mode setting information set by the operation unit 1501.

本実施の形態では、プリンタ1500がサポートするページ記述言語(以下、「PDL」という。)は、LBP Image Processing System(以下、「LIPS」という。)等の比較的に高度なPDLであると想定しているが、これに限られるものではない。   In this embodiment, the page description language (hereinafter referred to as “PDL”) supported by the printer 1500 is assumed to be a relatively advanced PDL such as an LBP Image Processing System (hereinafter referred to as “LIPS”). However, it is not limited to this.

本発明を実現するための印刷制御プログラム(以下、「プリンタドライバ」という。)は外部メモリ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 external memory 111 and is executed by the CPU 101 by being loaded into the RAM 102 as necessary. Definition files and various information tables used by the printer driver are stored in the external memory 111. Note that the configuration of the printing system is an example, and it goes without saying that there are various configuration examples depending on the application and purpose. For example, the present invention may be applied to a single device, or may be applied to a system including a plurality of devices connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network). .

図2は、図1におけるホストコンピュータ3000のソフトウェア構成を示すブロック図である。   FIG. 2 is a block diagram showing a software configuration of the host computer 3000 in FIG.

図2において、ホストコンピュータ3000は、アプリケーションプログラム(以下、「アプリケーション」という。)201と、グラフィックスエンジン202と、プリンタドライバ203と、プリントサブシステム204とを備え、これらは、それぞれ外部メモリ111にファイルとして保存されたプログラムモジュールである。これらのモジュールは、OSやそのモジュールを利用するモジュールによってRAM102にロードされて実行される。   In FIG. 2, the host computer 3000 includes an application program (hereinafter referred to as “application”) 201, a graphics engine 202, a printer driver 203, and a print subsystem 204, which are respectively stored in the external memory 111. A program module stored as a file. These modules are loaded into the RAM 102 and executed by the OS and modules that use the modules.

アプリケーション201及びプリンタドライバ203は、FD、不図示のCD−ROM等の外部メモリ111から、又は後述するネットワーク301(図3)を介して接続された外部機器から、ハードディスク(HD)等の外部メモリ111に追加される。   An application 201 and a printer driver 203 are connected to an external memory such as a hard disk (HD) from an external memory 111 such as an FD or a CD-ROM (not shown) or from an external device connected via a network 301 (FIG. 3) described later. 111.

外部メモリ111に保存されているアプリケーション201は、CPU101によってRAM102にロードされて実行される。このアプリケーション201からプリンタ1500に対して印刷を行わせる際には、同様にCPU101によってRAM102にロードされて実行されるグラフィックスエンジン202を利用して出力(描画)を行う。   The application 201 stored in the external memory 111 is loaded into the RAM 102 and executed by the CPU 101. When printing is performed from the application 201 to the printer 1500, output (rendering) is similarly performed using the graphics engine 202 that is loaded into the RAM 102 and executed by the CPU 101.

グラフィックスエンジン202は、印刷装置毎に用意されたプリンタドライバ203を起動する。これにより、プリンタドライバ203は、CPU101によって外部メモリ111からRAM102にロードさせて実行される。   The graphics engine 202 activates a printer driver 203 prepared for each printing apparatus. As a result, the printer driver 203 is executed by the CPU 101 loaded from the external memory 111 to the RAM 102.

グラフィックスエンジン202は、このプリンタドライバ203を用いて、アプリケーション201から出力された印字命令や描画命令をPDLによるプリンタ制御命令に変換する。   The graphics engine 202 uses the printer driver 203 to convert a print command or drawing command output from the application 201 into a printer control command using PDL.

プリンタドライバ203により変換されたプリンタ制御コマンドは、プリントサブシステム204を経由して、データ転送経路121を介してプリンタ1500に出力される。   The printer control command converted by the printer driver 203 is output to the printer 1500 via the print subsystem 204 and the data transfer path 121.

プリントサブシステム204は、OSによって起動されて、CPU101によって外部メモリ111からRAM102にロードされて実行されるものであり、印刷ジョブのスケジューリング、ホストコンピュータ3000とプリンタ1500との接続制御、及びプリンタ1500のステータスの管理を行う。   The print subsystem 204 is started by the OS, loaded from the external memory 111 to the RAM 102 and executed by the CPU 101, scheduling of print jobs, connection control between the host computer 3000 and the printer 1500, and the printer 1500. Manage status.

尚、プリンタドライバ203は、前述した、アプリケーション201から出力された印字命令や描画命令をプリンタ制御命令に変換し、プリント出力に反映されるようプリンタに指示する機能に加えて、プリンタドライバ203やプリンタ1500が有する機能を制御するための設定を行う機能(以下、「ユーザインタフェース(UI)」という。)、その設定を記憶する機能、プリンタドライバ203やプリンタ1500が有する機能の情報をアプリケーション201やOSに提供する機能、UIで設定された機能がプリンタ1500の有する機能である場合にプリンタ制御命令を生成する機能、及び、UIで設定された機能がプリンタドライバ203独自で行う機能である場合にその機能を実現する機能等を有する。   The printer driver 203 converts the print command or drawing command output from the application 201 into a printer control command, and in addition to the function of instructing the printer to be reflected in the print output, the printer driver 203 and the printer driver A function for performing settings for controlling the functions of the 1500 (hereinafter referred to as “user interface (UI)”), a function for storing the settings, and information on functions of the printer driver 203 and the printer 1500 are stored in the application 201 and the OS. Provided when the function set in the UI is a function that the printer 1500 has, the function that generates a printer control command, and the function that is set in the UI is a function that is unique to the printer driver 203 It has a function to realize the function.

図3は、図1におけるホストコンピュータ3000及びプリンタ1500が適用された印刷システムの構成を示すブロック図である。   FIG. 3 is a block diagram illustrating a configuration of a printing system to which the host computer 3000 and the printer 1500 in FIG. 1 are applied.

図3において、印刷システムは、複数のホストコンピュータ3000、プリンタ1500、及びプリントサーバコンピュータ4000を有し、これらはネットワーク301を介して互いに接続されている。   In FIG. 3, the printing system includes a plurality of host computers 3000, a printer 1500, and a print server computer 4000, which are connected to each other via a network 301.

ネットワーク301に接続されたホストコンピュータ3000の通信I/Fコントローラ108は、ネットワークインタフェースカード(NIC)の機能を有するものとする。   The communication I / F controller 108 of the host computer 3000 connected to the network 301 has a network interface card (NIC) function.

プリンタ1500は、セントロニクスやUSB等のローカルインタフェース302を介してプリントサーバコンピュータ4000と接続されて該プリントサーバ4000を介してネットワーク301に接続される形態であってもよく、ネットワーク301に直接接続される形態であってもよい。ネットワーク301に直接接続されたプリンタ1500の入力部118は、ネットワークインタフェースカード(NIC)の機能を有するものとする。   The printer 1500 may be configured to be connected to the print server computer 4000 via the local interface 302 such as Centronics or USB and to be connected to the network 301 via the print server 4000. Form may be sufficient. The input unit 118 of the printer 1500 directly connected to the network 301 has a function of a network interface card (NIC).

ホストコンピュータ3000は、プリントサーバコンピュータ4000を介してネットワーク301に接続されたプリンタ1500に印刷ジョブを送信する場合、まず、プリントサブシステム204を介して、プリントサーバコンピュータ4000へ印刷ジョブを送信する。プリントサーバコンピュータ4000は、ホストコンピュータ3000から送信されてきた印刷ジョブを、プリントサーバコンピュータ4000上の不図示のプリントサブシステムを介して、プリンタ1500に送信する。   When the host computer 3000 transmits a print job to the printer 1500 connected to the network 301 via the print server computer 4000, first, the host computer 3000 transmits the print job to the print server computer 4000 via the print subsystem 204. The print server computer 4000 transmits the print job transmitted from the host computer 3000 to the printer 1500 via a print subsystem (not shown) on the print server computer 4000.

また、ホストコンピュータ3000は、ネットワーク301に直接接続されたプリンタ1500に印刷ジョブを送信する場合、プリントサブシステム204を介して、プリンタ1500に直接印刷ジョブを送信する。   When the host computer 3000 transmits a print job to the printer 1500 directly connected to the network 301, the host computer 3000 transmits the print job directly to the printer 1500 via the print subsystem 204.

図4は、図2のホストコンピュータ3000によって実行される印刷制御処理の基本的な流れを示す図である。   FIG. 4 is a diagram showing a basic flow of print control processing executed by the host computer 3000 of FIG.

図4において、アプリケーション201は、直接プリンタドライバ203と情報の送受信を行うのではなく、OSが有するグラフィックスエンジン202を介してプリンタドライバ203と情報の送受信を行う。   In FIG. 4, the application 201 does not directly transmit / receive information to / from the printer driver 203 but transmits / receives information to / from the printer driver 203 via the graphics engine 202 included in the OS.

グラフィックスエンジン202は、アプリケーション201から指示を受け、プリンタドライバ203に対して指示を行う。   The graphics engine 202 receives an instruction from the application 201 and instructs the printer driver 203.

まず、アプリケーション201は、片面/両面印刷設定や部数設定等の印刷設定情報をRAM102に確保されたメモリを介してグラフィックスエンジン202に通知し、プリンタドライバ203は、グラフィックスエンジン202より、その印刷設定情報と、その印刷設定情報に基づいてプリンタドライバ203が印刷処理を行う上で必要な情報(プリンタドライバ情報)を格納するためにRAM102上に確保されたメモリ領域の初期化要求とを受信する(ステップS401)。これにより、プリンタドライバ203は、プリンタドライバ情報を保持するメモリ領域を確保し、印刷設定情報に従ってそのメモリ領域を初期化する。   First, the application 201 notifies the graphics engine 202 of print setting information such as single-sided / double-sided printing settings and the number of copies setting via the memory secured in the RAM 102, and the printer driver 203 receives the printing from the graphics engine 202. Based on the print setting information, the printer driver 203 receives a request for initializing a memory area secured in the RAM 102 to store information (printer driver information) necessary for printing processing. (Step S401). As a result, the printer driver 203 secures a memory area for holding the printer driver information, and initializes the memory area in accordance with the print setting information.

プリンタドライバ203は、プリンタドライバ203が参照するプリンタドライバ情報を保持するメモリ領域の初期化要求の受信により必要な処理を完了すると、ステップS401で受信した印刷設定情報に応じたプリンタドライバ203の印刷能力情報をグラフィックスエンジン202に通知する。   When the printer driver 203 completes the necessary processing by receiving the initialization request for the memory area holding the printer driver information referred to by the printer driver 203, the printing capability of the printer driver 203 according to the print setting information received in step S401. Information is notified to the graphics engine 202.

アプリケーション201は、グラフィックスエンジン202より、最終的にプリンタ1500に送信される印刷ジョブとその印刷ジョブに反映させる印刷設定情報とを関連付けるために必要なハンドル値を取得する(ステップS402)。   The application 201 acquires a handle value necessary for associating the print job that is finally transmitted to the printer 1500 with the print setting information to be reflected in the print job from the graphics engine 202 (step S402).

次に、アプリケーション201が、印刷の開始要求をグラフィックスエンジン202に行うと、プリンタドライバ203は、グラフィックスエンジン202より印刷開始要求を受信する(ステップS403)。   Next, when the application 201 makes a print start request to the graphics engine 202, the printer driver 203 receives the print start request from the graphics engine 202 (step S403).

これにより、プリンタドライバ203は、プリンタ1500が印刷を開始するために必要なPDLによるプリンタ制御命令を生成する。尚、プリンタ制御命令を生成する処理は、最初のページ(1ページ目)の印刷処理が開始された時点、即ち、アプリケーションからの最初のページの描画指示を受信した時点で行ってもよい。   As a result, the printer driver 203 generates a printer control command by PDL necessary for the printer 1500 to start printing. The process for generating the printer control command may be performed when the printing process for the first page (first page) is started, that is, when the drawing instruction for the first page from the application is received.

アプリケーション201は、文字やイメージ等の描画オブジェクトの描画を実現するための描画指示をグラフィックスエンジン202に対して行うと、プリンタドライバ203は、その描画指示をグラフィックスエンジン202より受信する(ステップS404)。   When the application 201 issues a drawing instruction for drawing a drawing object such as a character or an image to the graphics engine 202, the printer driver 203 receives the drawing instruction from the graphics engine 202 (step S404). ).

これにより、プリンタドライバ203は、指定された描画オブジェクトや改ページ、更には印刷設定情報を途中で変更するための要求等を含む描画指示を反映したプリンタ制御命令を適宜生成し、生成したプリンタ制御命令をプリンタ1500に出力する。尚、印刷するページ数はアプリケーション201からの指定に因る。   As a result, the printer driver 203 appropriately generates a printer control command reflecting a drawing instruction including a specified drawing object, a page break, and a request for changing print setting information in the middle, and the generated printer control The command is output to the printer 1500. Note that the number of pages to be printed depends on the designation from the application 201.

次に、アプリケーション201が、印刷終了要求をグラフィックスエンジン202に行うと、プリンタドライバ203は、グラフィックスエンジン202より印刷終了要求を受信する(ステップS405)。これにより、プリンタドライバ203は、プリンタ1500が印刷終了に必要なプリンタ制御命令を生成し、プリンタ制御命令の生成処理を終了する。   Next, when the application 201 makes a print end request to the graphics engine 202, the printer driver 203 receives the print end request from the graphics engine 202 (step S405). As a result, the printer driver 203 generates a printer control command necessary for the printer 1500 to end printing, and ends the printer control command generation processing.

次に、アプリケーション201は、ステップS402で取得したハンドル値の破棄要求をグラフィックスエンジン202に通知し、プリンタドライバ203は、グラフィックスエンジン202より、メモリ領域格納されたプリンタドライバ情報の破棄要求を受信する。これにより、プリンタドライバ203は、上記プリンタドライバ情報の破棄処理を行う(ステップS406)。   Next, the application 201 notifies the graphics engine 202 of the handle value discard request acquired in step S <b> 402, and the printer driver 203 receives a request to discard the printer driver information stored in the memory area from the graphics engine 202. To do. As a result, the printer driver 203 performs a process of discarding the printer driver information (step S406).

上記ステップS403〜S405の処理により、プリンタ1500に送信される1つの印刷ジョブが生成される。   One print job to be transmitted to the printer 1500 is generated by the processing in steps S403 to S405.

図5は、図2に示したプリンタドライバ203の構成を詳細に示す図である。   FIG. 5 is a diagram showing in detail the configuration of the printer driver 203 shown in FIG.

図5において、プリンタドライバ203は、アプリケーション201からの印刷データを一旦中間コードデータでスプールする構成を有し、一旦スプールした中間コードデータの内容に対して加工することができる。これにより、アプリケーション201からの印刷データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーション201が有していない機能を実現することができる。   In FIG. 5, the printer driver 203 has a configuration in which print data from the application 201 is once spooled with intermediate code data, and can process the contents of the intermediate code data once spooled. As a result, functions that the application 201 does not have, such as enlargement / reduction or printing by reducing a plurality of pages into one page, can be realized with respect to print data from the application 201.

尚、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウインドウから設定を行い、プリンタドライバ203がその設定内容をRAM102上又は外部メモリ111上に保管する。   In order to process the print data, settings are normally made from a window provided by the printer driver 203, and the printer driver 203 stores the setting contents on the RAM 102 or the external memory 111.

まず、グラフィックスエンジン202からの印刷命令であるDDI関数をディスパッチャ501が受け取る。ディスパッチャ501がグラフィックスエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックスエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合には、ディスパッチャ501は外部メモリ111に格納されている内部スプール処理モジュールであるスプーラ503をRAM102にロードし、通常の印字データ作成処理部507ではなくスプーラ503へ印刷命令(DDI関数)を送付する。   First, the dispatcher 501 receives a DDI function that is a print command from the graphics engine 202. When the print command (DDI function) received by the dispatcher 501 from the graphics engine 202 is based on the print command (GDI function) issued from the application 201 to the graphics engine 202, the dispatcher 501 stores the external memory 111. Is loaded into the RAM 102, and a print command (DDI function) is sent to the spooler 503 instead of the normal print data creation processing unit 507.

スプーラ503は、受け取った印刷命令を解析し、ページ単位に中間コードデータに変換してスプールファイル504に保存する。このページ単位に保存されている中間コードデータのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。   The spooler 503 analyzes the received print command, converts it into intermediate code data for each page, and saves it in the spool file 504. A spool file of intermediate code data stored in units of pages is referred to as a page drawing file (PDF).

また、スプーラ503は、プリンタドライバ203に対して設定されている製本印刷、Nup、両面、ステイプル、カラー/モノクロ指定等の印刷データに関する、後述する図6に示す加工設定情報をプリンタドライバ203から取得してジョブ単位のファイルとしてスプールファイル504に保存する。このジョブ単位に保存されている加工設定情報のスプールファイルをジョブ設定ファイル(SDF:Spool Description File)と呼ぶ。   Further, the spooler 503 obtains processing setting information shown in FIG. 6 to be described later from the printer driver 203 regarding print data such as bookbinding printing, Nup, duplex, stapling, color / monochrome designation set for the printer driver 203. Then, it is stored in the spool file 504 as a file for each job. The spool file of the processing setting information stored for each job is called a job setting file (SDF: Spool Description File).

尚、スプールファイル504は、外部メモリ111上にファイルとして生成されるが、RAM102上に生成されても構わない。   The spool file 504 is generated as a file on the external memory 111, but may be generated on the RAM 102.

スプーラ503は、外部メモリ111に格納されているスプールファイルマネージャ505をRAM102にロードし、スプールファイルマネージャ505に対してスプールファイル504の生成状況を通知する。その後、スプールファイルマネージャ505は、スプールファイル504に保存された印刷データに関する加工設定情報の内容に従って印刷を行えるか否かを判断する。   The spooler 503 loads the spool file manager 505 stored in the external memory 111 into the RAM 102 and notifies the spool file manager 505 of the generation status of the spool file 504. Thereafter, the spool file manager 505 determines whether printing can be performed in accordance with the contents of the processing setting information regarding the print data stored in the spool file 504.

スプールファイルマネージャ505がグラフィックスエンジン202を利用して印刷を行えると判断した際には、外部メモリ111に格納されているデスプーラ506をRAM102にロードし、デスプーラ506に対して、スプールファイル504に記述された中間コードデータのページ描画ファイルの印刷処理を行うように指示する。   When the spool file manager 505 determines that printing can be performed using the graphics engine 202, the despooler 506 stored in the external memory 111 is loaded into the RAM 102, and the despooler 506 is described in the spool file 504. Instructed to print the page drawing file of the intermediate code data.

デスプーラ506は、スプールファイル504に含まれる中間コードデータのページ描画ファイルを、スプールファイル504に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、GDI関数を再生成し、もう一度グラフィックスエンジン202にGDI関数を出力する。   The despooler 506 processes the page drawing file of the intermediate code data included in the spool file 504 in accordance with the job setting file including the processing setting information included in the spool file 504, regenerates the GDI function, and again transmits to the graphics engine 202. Output GDI function.

ディスパッチャ501が、グラフィックスエンジン202から受け取った印刷命令(DDI関数)がデスプーラ506からグラフィックスエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合には、ディスパッチャ501はスプーラ503ではなく、プリンタドライバの通常の印字データ作成処理部507に印刷命令を送る。   When the dispatcher 501 receives the print command (DDI function) received from the graphics engine 202 based on the print command (GDI function) issued from the despooler 506 to the graphics engine 202, the dispatcher 501 uses the spooler 503. Instead, a print command is sent to the normal print data creation processing unit 507 of the printer driver.

プリンタドライバ203は、グラフィックスエンジン202から取得したDDI関数に基づいてPDL等からなるプリンタ制御命令を生成し、生成したプリンタ制御命令をプリントサブシステム204経由でプリンタ1500に出力する。   The printer driver 203 generates a printer control command including PDL based on the DDI function acquired from the graphics engine 202, and outputs the generated printer control command to the printer 1500 via the print subsystem 204.

本発明では、主にデスプーラ506がスプールファイルマネージャ505から印刷開始要求を受け付けた際の処理に機能が追加される。   In the present invention, a function is added mainly to processing when the despooler 506 receives a print start request from the spool file manager 505.

図6は、図5に示したスプールファイル504に保存される加工設定情報の一例を示す図である。   FIG. 6 is a diagram showing an example of the processing setting information stored in the spool file 504 shown in FIG.

この加工設定情報は、図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 printer driver 203 illustrated in FIG.

以下、図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 CPU 101 shown in FIG. 1 using the printer driver 203 shown in FIG. That is, the processing of this flowchart is realized by the CPU 101 reading out the printer driver program stored in the external memory 111 to the RAM 102 and executing it.

なお、ここでは、図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 RAM 102 during the automatic layout process shown in FIG.

以下、図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 despooler 506 receives a print start request from the spool file manager 505, the despooler 506 refers to the Nup information included in the processing setting information (FIG. 6) regarding the print data stored in the spool file 504. Then, it is determined whether or not Nup printing is set.

ステップ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 despooler 506 performs normal printing based on the processing setting information relating to the print data stored in the spool file 504 in step S712. To end this process.

一方、ステップ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 despooler 506 makes the smallest sheet from each logical page stored in the spool file 504 in step S702. The size is searched, and the size and orientation are held in the RAM 102 as output paper size information. In the example shown in FIG. 9, the output paper size information is (A4, portrait).

次に、ステップS703において、デスプーラ506は、スプールファイル504に保存された加工設定情報(図6)からNup情報を取得し、RAM102に保持する。なお、Nup情報は、図7に示したドライバUI1600上のページレイアウト1602でユーザにより設定され、加工設定情報に記憶されている。   Next, in step S <b> 703, the despooler 506 acquires Nup information from the processing setting information (FIG. 6) stored in the spool file 504 and stores it in the RAM 102. The Nup information is set by the user in the page layout 1602 on the driver UI 1600 shown in FIG. 7 and stored in the processing setting information.

次に、ステップS704において、デスプーラ506は、RAM102に保持されている、出力用紙サイズ情報とNup情報を基に図11に示すレイアウトテンプレートを決定する。   Next, in step S704, the despooler 506 determines the layout template shown in FIG. 11 based on the output paper size information and Nup information held in the RAM 102.

図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 RAM 102.

次に、ステップS705において、デスプーラ506は、RAM102に保持されている、出力用紙サイズ情報とNup情報を基に、図12に示す、論理用紙サイズに適用するNupのテーブルを作成する。   Next, in step S705, the despooler 506 creates a Nup table to be applied to the logical paper size shown in FIG. 12 based on the output paper size information and the Nup information held in the RAM 102.

この際、各論理用紙サイズで同じ拡縮率が適用されるように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 RAM 102.

次に、ステップS706において、デスプーラ506は、図11のレイアウトテンプレートと図12のNupテーブルおよびスプールファイル504に保存されている、各論理用紙のサイズと向きを基に、図13に示すレイアウトテーブルを決定する。該情報は、RAM102に保持される。なお、ステップS706の各論理用紙のレイアウトテーブルを求める処理の詳細は、後述する図15で説明する。   Next, in step S706, the despooler 506 generates the layout table shown in FIG. 13 based on the size and orientation of each logical sheet stored in the layout template of FIG. 11, the Nup table of FIG. 12, and the spool file 504. decide. The information is held in the RAM 102. Details of the processing for obtaining the layout table for each logical sheet in step S706 will be described with reference to FIG.

次に、ステップ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 despooler 506 obtains a margin ratio based on the layout table of FIG. More specifically, the margin is calculated by a calculation formula corresponding to “margin ratio = 1− (number of layout table layout numbers shown in FIG. 13) / (number of layout template layout numbers in FIG. 11 × number of output pages)”. Calculate the percentage. For example, in the example of FIG. 13, the number of layout numbers of the layout template is “11”. In the example of FIG. 11, the number of layout numbers of the layout template “A4 portrait 4up” is “4”, which is shown in the output result of FIG. Thus, since the number of output pages is “3”, the margin ratio is “1-11 / 4 × 3”, that is, “1/12”. The information is held in the RAM 102.

次に、ステップS709において、デスプーラ506は、ステップS707で求めた余白率が「0%」でなく、且つ、ステップS704で求めた、Nupテーブルにおける最大論理用紙サイズのNup設定が「1up」でないと判定した場合には、デスプーラ506は、ステップS710において、RAM11に保持している、Nupの分割数を半分にして、ステップS704から処理を繰り返す。   In step S709, the despooler 506 determines that the margin rate obtained in step S707 is not “0%” and the Nup setting for the maximum logical paper size in the Nup table obtained in step S704 is not “1up”. If it is determined, the despooler 506 halves the number of Nup divisions held in the RAM 11 in step S710 and repeats the processing from step S704.

一方、ステップS709で、デスプーラ506が、ステップS707で求めた余白率が「0%」、又は、ステップS704で求めた、Nupテーブルにおける最大論理用紙サイズのNup設定が「1up」であると判定した場合には、デスプーラ506は、ステップS711において、RAM102に保持している、レイアウトテーブルの中から余白率の最も低いレイアウトテーブルを適用して出力する。なお、この際、図7に示したドライバUI1600上の出力用紙サイズ1601でユーザが明示的に出力用紙サイズを指定している場合は、その用紙サイズに拡大縮小して出力する(この例を後述する図14に示す)。また、ステップS711の処理が終了すると、本フローチャートの処理を終了する。   On the other hand, in step S709, the despooler 506 determines that the margin rate obtained in step S707 is “0%” or that the Nup setting of the maximum logical paper size in the Nup table obtained in step S704 is “1up”. In this case, the despooler 506 applies and outputs the layout table having the lowest margin rate from the layout tables held in the RAM 102 in step S711. At this time, if the user explicitly specifies the output paper size in the output paper size 1601 on the driver UI 1600 shown in FIG. 7, the output paper size is enlarged and reduced (this example will be described later). As shown in FIG. When the process of step S711 ends, the process of this flowchart ends.

図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 output paper size 1601 on the driver UI 1600 shown in FIG. It is.

この例では、ドライバUI1600上の出力用紙サイズ1601
ドライバUI1600上のページレイアウト1602に「4ページ/枚」(即ち4up)が指定され、出力用紙サイズ1601に「A3」が設定されている場合に対応する。
In this example, the output paper size 1601 on the driver UI 1600 is displayed.
This corresponds to the case where “4 pages / sheet” (that is, 4 up) is designated in the page layout 1602 on the driver UI 1600 and “A3” is set in the output paper size 1601.

図14において、1401に示すように、A4P,A3Lが混在した原稿を出力するものとする。   In FIG. 14, as indicated by reference numeral 1401, a document in which A4P and A3L are mixed is output.

この場合、出力サイズが明示的に指定されていなければ、出力結果は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 despooler 506. That is, the processing of this flowchart is realized by the CPU 101 reading out the printer driver program stored in the external memory 111 to the RAM 102 and executing it.

まず、ステップS801は、デスプーラ506は、スプールファイル504に保存されている中間コードのページ描画ファイルから、先頭の論理ページのサイズおよび向きの情報を取得し、RAM102のカレント論理用紙に保持する。   First, in step S 801, the despooler 506 acquires information on the size and orientation of the first logical page from the intermediate code page drawing file stored in the spool file 504, and stores the information on the current logical sheet in the RAM 102.

次に、ステップS802において、デスプーラ506は、ステップS801で取得した論理ページが出力用紙をNup分割した領域のどの位置にレイアウトするか(=レイアウト番号)を求める処理を実行する。なお、このステップS802のレイアウト番号を求める処理の詳細は後述する図16に示す。   Next, in step S802, the despooler 506 executes a process for obtaining a position (= layout number) in which the logical page acquired in step S801 is laid out in the Nup-divided area of the output sheet. Details of the process for obtaining the layout number in step S802 are shown in FIG.

次に、ステップS803において、デスプーラ506は、ステップS801,S802で求めた、論理ページのサイズおよび向きとレイアウト番号を、RAM102に保持しているレイアウトテーブル(図13)に追加する。   Next, in step S803, the despooler 506 adds the size and orientation of the logical page and the layout number obtained in steps S801 and S802 to the layout table (FIG. 13) held in the RAM 102.

次に、ステップS804において、デスプーラ506は、スプールファイル504に保存されている中間コードのページ描画ファイルから、次の論理ページのサイズおよび向きの情報を取得し、RAM102のカレント論理用紙に保持する処理である。   Next, in step S 804, the despooler 506 acquires information about the size and orientation of the next logical page from the intermediate code page drawing file stored in the spool file 504, and stores the information on the current logical sheet in the RAM 102. It is.

このとき、デスプーラ506は、論理ページが存在するか否をステップS805において判断し、論理ページが存在しない(全ての論理ページの処理が完了した)場合は、本処理を終了する。   At this time, the despooler 506 determines in step S805 whether or not a logical page exists. If there is no logical page (processing of all logical pages is completed), the present process ends.

一方、ステップS506で、論理ページが存在すると判断した場合には、デスプーラ506は、ステップS806に処理を進める。   On the other hand, if it is determined in step S506 that a logical page exists, the despooler 506 advances the process to step S806.

ステップS806では、デスプーラ506は、ステップS804で取得した論理ページが出力用紙をNup分割した領域のどの位置にレイアウトするか(=レイアウト番号)を求める処理を実行する。なお、このステップS806の処理の詳細は後述する図16に示す。   In step S806, the despooler 506 executes a process for obtaining a position (= layout number) in which the logical page acquired in step S804 is laid out in the Nup-divided area of the output sheet. Details of the processing in step S806 are shown in FIG.

次に、ステップS807において、デスプーラ506は、ステップS804,S806で求めた、論理ページのサイズおよび向きとレイアウト番号を、RAM102に保持しているレイアウトテーブルに追加し、ステップS804に処理を戻す。そして、論理ページが全ページが終了するまでS804〜S807の処理を繰り返す。   In step S807, the despooler 506 adds the size and orientation of the logical page and the layout number obtained in steps S804 and S806 to the layout table held in the RAM 102, and the process returns to step S804. Then, the processes of S804 to S807 are repeated until all the logical pages are finished.

以下、図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 despooler 506 is compared with the previous logical page. Corresponds to the process of determining. That is, the processing of this flowchart is realized by the CPU 101 reading out the printer driver program stored in the external memory 111 to the RAM 102 and executing it.

まず、ステップS901において、デスプーラ506は、RAM102に保持されている、Nupテーブルから、RAM102のカレント論理用紙に保存されている、現在の論理ページに対応するブロック数を求める。該情報はRAM102に保持する。   First, in step S <b> 901, the despooler 506 obtains the number of blocks corresponding to the current logical page stored on the current logical sheet in the RAM 102 from the Nup table held in the RAM 102. The information is held in the RAM 102.

次に、ステップS902において、デスプーラ506は、現在の論理ページが先頭ページであるかを判定し、先頭ページであると判定した場合には、ステップS909へ処理を進める。   Next, in step S902, the despooler 506 determines whether the current logical page is the first page. If it is determined that the current page is the first page, the process proceeds to step S909.

ステップS909において、デスプーラ506は、起点レイアウト番号を(1)とし、ステップS910に処理を進める。該情報はRAM102に保持される。   In step S909, the despooler 506 sets the starting layout number to (1), and proceeds to step S910. The information is held in the RAM 102.

一方、ステップ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 despooler 506 advances the process to step S903.

ステップS903では、デスプーラ506は、RAM102のカレント論理用紙に保存されている、現在の論理ページを同一の出力用紙にレイアウトするための領域があるか否かをチェックする。詳細には、「Nup情報 − 前ページのレイアウト番号 <= 現在の論理ページのブロック数」が「真」の場合にはレイアウトするための領域があると判断し、「偽」の場合にはレイアウトするための領域が無いと判断する。   In step S903, the despooler 506 checks whether there is an area for laying out the current logical page stored on the current logical sheet in the RAM 102 on the same output sheet. Specifically, if “Nup information − previous page layout number <= number of blocks of current logical page” is “true”, it is determined that there is an area for layout, and if “false”, the layout is determined. It is determined that there is no area to do.

ステップ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 RAM 102 on the same output sheet, the despooler 506 cannot output the same output sheet on the same output sheet. The process proceeds to step S909, the starting layout number is set to (1), and the process proceeds to step S910. The information is held in the RAM 102.

一方、ステップ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 RAM 102 on the same output sheet, the despooler 506 performs processing in step S904. Proceed.

ステップS904では、デスプーラ506は、RAM102に保持している、現在の論理ページと前ページで用紙サイズが同じであるか否かを判定し、同じであると判断した場合には、ステップS905に処理を進める。   In step S904, the despooler 506 determines whether the current logical page and the previous page stored in the RAM 102 have the same paper size. If it is determined that they are the same, the process proceeds to step S905. To proceed.

ステップS905では、デスプーラ506は、RAM102に保持している、現在の論理ページと前ページで用紙の向きが同じであるか否かを判定し、向きが同じであると判定した場合には、ステップS907に処理を進める。   In step S905, the despooler 506 determines whether or not the current logical page and the previous page stored in the RAM 102 have the same paper orientation. The process proceeds to S907.

ステップS907では、デスプーラ506は、「前ページのレイアウト番号+1」を起点レイアウト番号とし、ステップS910に処理を進める。例えば、前ページのレイアウト番号が(1)であれば現在のページの起点レイアウト番号は(2)とする。該情報はRAM102に保持される。   In step S907, the despooler 506 sets “previous page layout number + 1” as the starting layout number, and proceeds to step S910. For example, if the layout number of the previous page is (1), the starting layout number of the current page is (2). The information is held in the RAM 102.

一方、ステップ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 RAM 102 are not in the same paper orientation, the despooler 506 determines that the output cannot be performed on the same output paper. The process proceeds to step S909, the starting layout number is set to (1), and the process proceeds to step S910. The information is held in the RAM 102.

一方、ステップ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 RAM 102, the process proceeds to step S906.

ステップS906では、デスプーラ506は、現在の論理ページと前ページで用紙サイズが異なるが、現在の論理ページにNupを適用した結果、前ページとデータの向きが同じになるか否かを判定する。例えば、A3L 2up と A4P 4up、A3P 2up と A5P 8up等の場合、Nupを適用でデータの向きが同じになる。なお、L:ランドスケープ、P:ポートレイトを示す。   In step S906, the despooler 506 determines whether the current logical page and the previous page have different paper sizes, but as a result of applying Nup to the current logical page, the data direction is the same as that of the previous page. For example, in the case of A3L 2up and A4P 4up, A3P 2up and A5P 8up, etc., the direction of data becomes the same by applying Nup. L: Landscape, P: Portrait.

ステップ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 despooler 506 can determine that it can be laid out on the same output sheet. Proceed with the process.

ステップS908では、デスプーラ506は、次の式で起点レイアウト番号を求め、ステップS910に処理を進める。詳細には、「レイアウト番号=前ページのレイアウト番号/S901で求めた現在のブロック数(切り上げ)×現在のブロック数+1」となる。例えば、「前ページ A4P レイアウト番号(1)、現在のページ A3L でブロック数2の場合、起点レイアウト番号は(3)となる。該情報はRAM102に保持される。   In step S908, the despooler 506 obtains the starting layout number by the following expression, and proceeds to step S910. Specifically, “layout number = layout number of previous page / current block number (rounded up) obtained in S901 × current block number + 1”. For example, if “previous page A4P layout number (1), current page A3L has 2 blocks, the starting layout number is (3). This information is stored in the RAM 102.

一方、ステップ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 despooler 506 can determine that it cannot be laid out on the same output sheet. The process proceeds to step S909, the starting layout number is set to (1), and the process proceeds to step S910. The information is held in the RAM 102.

最後に、ステップS910では、デスプーラ506は、ステップS907〜S909のいずれかで求めた、RAM102に保存されている起点レイアウト番号を基準に、現在のブロック数分の領域をレイアウト番号とし、処理を終了する。例えば、起点レイアウト番号(3)、用紙サイズ A3L でブロック数が2の場合、レイアウト番号は(3)(4)となる。   Finally, in step S910, the despooler 506 sets the region for the current number of blocks as a layout number based on the starting layout number stored in the RAM 102 obtained in any of steps S907 to S909, and ends the process. To do. For example, when the starting layout number (3), the paper size A3L, and the number of blocks is 2, the layout numbers are (3) and (4).

以上示したように、各用紙の縮小率や印刷の向きを元の原稿のまま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 logical page 5 in an empty place. At this time, a page number may be assigned so that the order can be understood.

なお、はがきや封筒等の特殊用紙に、本処理を適用すると期待する出力結果とならない可能性があるので、これらの用紙が指定されている場合には、本処理の適用外とするように構成しても良い。   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.

本発明の実施形態の印刷システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a printing system according to an embodiment of the present invention. 本発明の実施形態のホストコンピュータ3000のソフトウェア構成を示すブロック図である。It is a block diagram which shows the software structure of the host computer 3000 of embodiment of this invention. 本発明の実施形態のホストコンピュータ3000及びプリンタ1500が適用された印刷システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a printing system to which a host computer 3000 and a printer 1500 according to an embodiment of the present invention are applied. 本発明の実施形態のホストコンピュータ3000によって実行される印刷制御処理の基本的な流れを示す図である。It is a figure which shows the basic flow of the printing control processing performed by the host computer 3000 of embodiment of this invention. 本発明の実施形態のプリンタドライバ203の構成を詳細に示す図である。2 is a diagram illustrating in detail a configuration of a printer driver 203 according to the embodiment of this invention. FIG. 本発明の実施形態の印刷データに関する加工設定情報の一例を示す図である。It is a figure which shows an example of the process setting information regarding the print data of the embodiment of the present invention. 本発明の実施形態のドライバUI上のページレイアウトの一例を示す図である。It is a figure which shows an example of the page layout on driver UI of embodiment of this invention. 本発明の実施形態の自動レイアウト処理のフローチャートである。It is a flowchart of the automatic layout process of embodiment of this invention. 本発明の実施形態の論理ページを指定した場合の出力結果の一例を示す図である。It is a figure which shows an example of the output result at the time of designating the logical page of embodiment of this invention. 本発明の実施形態のRAM102上に記憶される情報の一例を示す図である。It is a figure which shows an example of the information memorize | stored on RAM102 of embodiment of this invention. 本発明の実施形態のレイアウトテンプレート一例を示す図である。It is a figure which shows an example of the layout template of embodiment of this invention. 本発明の実施形態の論理用紙サイズに適用するNupのテーブル一例を示す図である。It is a figure which shows an example of the table of Nup applied to the logical paper size of embodiment of this invention. 本発明の実施形態のレイアウトテーブルの一例を示す図である。It is a figure which shows an example of the layout table of embodiment of this invention. 図7に示したドライバUI1600上の出力用紙サイズ1601でユーザが明示的に出力用紙サイズが指定されており、その用紙サイズに拡大縮小して出力する場合の一例を示した模式図である。FIG. 8 is a schematic diagram illustrating an example in which an output paper size is explicitly specified by an output paper size 1601 on the driver UI 1600 shown in FIG. 本発明の実施形態の各論理用紙のレイアウトテーブルを求めるフローチャートである。It is a flowchart which calculates | requires the layout table of each logical paper of embodiment of this invention. 本発明の実施形態の各論理用のレイアウト番号を求めるフローチャートである。It is a flowchart which calculates | requires the layout number for each logic of embodiment of this invention. 出力用紙サイズを可変にして余白部分を削除するモードの一例を示した模式図である。FIG. 5 is a schematic diagram illustrating an example of a mode in which a margin portion is deleted while changing an output paper size. ページ順を入れ替えて余白領域が最小となるように最適化するモードの一例を示した模式図である。It is the schematic diagram which showed an example of the mode which replaces page order and optimizes so that a blank area may become the minimum. 本発明に係る印刷制御装置(コンピュータ3000)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。It is a figure explaining the memory map of the recording medium (storage medium) which stores the various data processing program which can be read with the printing control apparatus (computer 3000) based on this invention. 従来のレイアウト印刷を説明するための図である。It is a figure for demonstrating the conventional layout printing. 従来のレイアウト印刷を説明するための図である。It is a figure for demonstrating the conventional layout printing. 従来のレイアウト印刷を説明するための図である。It is a figure for demonstrating the conventional layout printing.

符号の説明Explanation of symbols

3000 ホストコンピュータ
1500 プリンタ
203 プリンタドライバ
502 内部スプール処理部
506 デスプーラ
3000 Host computer 1500 Printer 203 Printer driver 502 Internal spool processing unit 506 Despooler

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:
請求項1乃至8に記載された印刷制御装置としてコンピュータを機能させるための、又は、請求項9記載の印刷制御方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to function as the print control apparatus according to claim 1 or causing a computer to execute the print control method according to claim 9. 請求項1乃至8に記載された印刷制御装置としてコンピュータを機能させるための、又は、請求項9記載の印刷制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。   A recording medium storing a computer-readable program for causing a computer to function as the print control apparatus according to claim 1 or causing the computer to execute the print control method according to claim 9.
JP2006182758A 2006-06-30 2006-06-30 Printing control device, printing control method, program and recording medium Withdrawn JP2008015563A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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