JP2023110778A - プログラム、情報処理装置および制御方法 - Google Patents

プログラム、情報処理装置および制御方法 Download PDF

Info

Publication number
JP2023110778A
JP2023110778A JP2022012428A JP2022012428A JP2023110778A JP 2023110778 A JP2023110778 A JP 2023110778A JP 2022012428 A JP2022012428 A JP 2022012428A JP 2022012428 A JP2022012428 A JP 2022012428A JP 2023110778 A JP2023110778 A JP 2023110778A
Authority
JP
Japan
Prior art keywords
print
information
control
data
paper
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022012428A
Other languages
English (en)
Inventor
将一 松田
Shoichi Matsuda
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 Inc
Original Assignee
Canon 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 Inc filed Critical Canon Inc
Priority to JP2022012428A priority Critical patent/JP2023110778A/ja
Priority to US18/155,500 priority patent/US20230247165A1/en
Publication of JP2023110778A publication Critical patent/JP2023110778A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3877Image rotation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00567Handling of original or reproduction media, e.g. cutting, separating, stacking
    • H04N1/00639Binding, stapling, folding or perforating, e.g. punching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2315Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity according to characteristics of the reproducing apparatus, e.g. capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2323Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity according to characteristics of the reproducing medium, e.g. type, size or availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/233Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity according to characteristics of the data to be reproduced, e.g. number of lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2392Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity for displaying or indicating, e.g. a condition or state

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 印刷装置に画像データを印刷させる場合における機能についてさらなる利便性の向上が求められている。【解決手段】 画像データと前記画像データが印刷されない領域に相当する余白領域と、を含む描画データと、前記描画データが印刷される用紙に関する情報を含む印刷設定に関する情報を取得する取得ステップを実行させ、前記印刷設定において、前記用紙が前記描画データの印刷処理を実行する印刷装置に搬送される場合の搬送方向における下流側が前記描画データの下側に相当し、上流側が前記描画データの上側に相当する向きで前記描画データが前記用紙に印刷されるよう前記描画データの向きを変更する第1制御の対象となる設定がされている場合、前記第1制御を実行し、前記印刷設定において、前記第1制御の対象となる設定がされていない場合、前記第1制御を実行しないことを特徴とする。【選択図】 図9

Description

本発明は、プログラム、情報処理装置および制御方法に関する。
印刷装置に画像データを印刷させる場合に、印刷設定によっては、印刷媒体に対して印刷する画像データのレイアウト方向を変更する技術が知られている。例えば、特許文献1では、印刷する画像データのレイアウトを180度回転して印刷させる技術が記載されている。
特開2020-95535号公報
しかしながら、印刷装置に画像データを印刷させる場合における機能についてさらなる利便性の向上が求められている。
上述のような課題を解決するため、本開示に係るプログラムは、 異なるベンダによって提供される複数の印刷装置が共通して利用可能な印刷データ生成ソフトウェアと関連づけられることによって前記印刷データ生成ソフトウェアの機能を拡張する拡張アプリケーションであって、コンピュータに、画像データと前記画像データが印刷されない領域に相当する余白領域と、を含む描画データと、前記描画データが印刷される用紙に関する情報を含む印刷設定に関する情報を取得する取得ステップを実行させ、前記印刷設定において、前記用紙が前記描画データの印刷処理を実行する印刷装置に搬送される場合の搬送方向における下流側が前記描画データの下側に相当し、上流側が前記描画データの上側に相当する向きで前記描画データが前記用紙に印刷されるよう前記描画データの向きを変更する第1制御の対象となる設定がされている場合、前記第1制御を実行し、前記印刷設定において、前記第1制御の対象となる設定がされていない場合、前記第1制御を実行しないことを特徴とするプログラム。
本開示によれば、印刷装置に画像データを印刷させる場合においてさらなる利便性の向上を実現できる。
システムのハードウェアの構成を示す図である。 情報処理装置の各ソフトウェアと印刷装置の構成を示す図である。 印刷機能情報(PDC)の編集処理を示すフローチャート図である。 編集後のPDCの一例を示す図である。 長形4号封筒の描画開始位置と描画領域を示す図である。 拡張アプリケーションの処理を示すフローチャート図である。 印刷設定画面の表示処理を示すフローチャート図である。 印刷設定画面の一例である。 印刷処理を示すフローチャート図である。 ガイド画面の一例である。 印刷結果の一例である。 印刷設定画面の一例である。 PDCの編集処理を示すフローチャート図である。 印刷処理を示すフローチャート図である。 印刷結果の一例である。
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1実施形態)
本実施形態の印刷システムに含まれる情報処理装置及び印刷装置について説明する。ホストコンピュータ101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118、ポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。NETIF120は、ネットワークインタフェイスであり、ネットワークを介して外部機器との間でデータ転送を行うための制御を行う。
ROM112には、初期化プログラムが格納されている。外部記憶装置114には、アプリケーションプログラム群、オペレーティングシステム(OS)、印刷データ生成ソフトウェア、その他の各種のデータが格納されている。後述する拡張アプリケーション204はROM112または外部記憶装置114に保存されている。RAM113は、外部記憶装置114にストアされる各種のプログラムの実行の際のワークメモリ等として使用され、各種プログラムがホストコンピュータ101内で動作可能となっている。
なお、本実施形態では、CPU111が、ROM112に格納されたプログラムの手順に従って処理を行うことによって、ホストコンピュータ101における後述の機能及び後述するフローチャートに係る処理を実行する。
印刷装置102は、入出力インタフェース116を介して、ホストコンピュータ101と接続されている。ここでは、ホストコンピュータ101と印刷装置102が分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。
なお情報処理装置101として、本実施形態ではホストコンピュータ101を例示しているが、これに限定されない。例えば情報処理装置として、携帯端末、パーソナルコンピュータ、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、印刷装置102として、本実施形態ではプリンタを例示しているが、例えば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。
ところで、印刷装置102の制御用ソフトウェアとしてホストコンピュータ101にインストールされたプリンタドライバを利用し、ホストコンピュータ101に接続された印刷装置102に対して印刷指示を行う構成が知られている。ホストコンピュータ101には、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定する仕様に従って構成され、OSから呼び出されて動作する。印刷装置102を提供するベンダは、OSの仕様に適合するプリンタドライバを提供することにより、そのOSを用いて印刷装置102に印刷を指示する手段を提供することができる。近年、Windows(登録商標)において、複数のベンダの提供する印刷装置で共通して利用可能な標準的なクラスドライバ(以下、「標準ドライバ」とも呼ぶ)が提供されている。このような標準ドライバは、OSのパッケージの中に同梱されており、ホストコンピュータ101に任意の印刷装置を接続することにより簡易に利用可能となる。よって、印刷装置102に適した機種固有のプリンタドライバを別途インストールする必要が無く、利便性が高い。また、標準ドライバは、接続した印刷装置102から取得した情報に基づき生成されたPrintCapabilitiesに応じて印刷機能を指定可能に構成される。これにより、標準ドライバを利用するユーザは、1つの標準ドライバを利用しているにも関わらず、接続した印刷装置102の能力に応じた印刷機能を指定することができる。なお本実施形態において、標準ドライバは印刷データ生成ソフトウェア202として説明する。
ここで拡張アプリケーション204について説明する。標準ドライバには機能拡張用のアプリケーション(拡張アプリケーション204)を関連付けることができる。拡張アプリケーション204は、印刷装置102を提供するベンダが提供することができる。ベンダはこの拡張アプリケーション204を提供することにより、標準ドライバのみでは実現できない機能(拡張機能)を提供することができる。
拡張アプリケーション204は、印刷データ生成ソフトウェア202の機能を拡張するためのソフトウェアであり、OSに予め含まれていない(同梱されていない)ソフトウェアである。そのためユーザがホストコンピュータ101を操作して拡張アプリケーション204を、インターネットを介してサーバからダウンロードして、インストールする必要がある。若しくは、ホストコンピュータ101に印刷装置102が接続されたことに基づき、自動的にインストールされてもよい。具体的には、ホストコンピュータ101に印刷装置102が接続された場合、OSは印刷装置102からデバイス識別情報を取得する。OSは、取得されたデバイス識別情報に対応する拡張アプリケーション204を、インターネットを介してサーバからダウンロードし、インストールしても良い。つまり、印刷データ生成ソフトウェア202と、拡張アプリケーション204は別ファイルとしてホストコンピュータ101に保持される。なお、印刷データ生成ソフトウェア202および拡張アプリケーション204は、更新されてバージョンアップされることもあるが、この更新処理も別々のタイミングで行われる。つまり、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるタイミングと、拡張アプリケーション204が取得されるタイミングは異なる。また、ホストコンピュータ101により印刷データ生成ソフトウェア202が取得されるトリガーと、拡張アプリケーション204が取得されるトリガーも異なる。なお、拡張アプリケーション204がインストールされた場合、OSが、拡張アプリケーション204を、印刷データ生成ソフトウェア202および印刷装置102に関連付ける。
本実施形態で説明する拡張アプリケーション204は、印刷設定画面拡張ユニット205とスキップ制御ユニット206と印刷機能拡張ユニット207と印刷データ編集ユニット208と通知ユニット209を備える。また、拡張アプリケーション204は、各ユニットから共通してアクセス可能な共有情報210を備える。共有情報210の実態は、外部記憶装置114に保存されたファイル、もしくはRAM113上に格納された情報である。拡張アプリケーション204は、OSが提供するAPI(Application Program Interface)を利用することで、共有情報210への情報の書き込みや読み出しを行う。
図2は、ホストコンピュータ101の各ソフトウェアと印刷装置102による印刷システムの構成を模式的に示す図である。ここでは、OSとしてMicrosoft(登録商標)のWindows(登録商標)11を搭載したホストコンピュータ101を用いた印刷システムを前提として説明する。図2(a)は、拡張アプリケーション204が、印刷データ生成ソフトウェア202および印刷装置102と関連付けられていない場合の一般的な構成を示す図である。
描画アプリケーション201は印刷される描画データ(画像データ)を作成するソフトウェアである。例えば、文書作成アプリケーションや表計算アプリケーションが描画アプリケーション201に相当する。描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに発行する。印刷指示には、印刷データ生成ソフトウェア202及び印刷装置102の動作を指示するための印刷設定情報が含まれる。印刷設定情報はPrintTicket(以下、「PT」)とも呼ばれる。
描画アプリケーション201は、印刷設定情報を出力するために、印刷データ生成ソフトウェア202、OS、もしくは描画アプリケーション201、のうちいずれかが提供する印刷設定画面を表示させる事ができる。印刷設定画面は、印刷データ生成ソフトウェア202から取得する能力情報(印刷装置102が動作可能な情報)に従い、設定可能な印刷機能を示す設定アイテムと、設定アイテムの設定値を示すコントロールアイテムが表示される。能力情報は、PrintCapabilities(以下、「PC」)とも呼ばれる。印刷データ生成ソフトウェア202は、印刷機能情報203に基づき、PCを決定する。印刷機能情報203は、設定可能なすべての印刷機能とその設定値、並びに、設定値同士の排他関係が記載されている印刷機能を示すデータである。印刷機能情報203は、PDC(Print Device Capabilities)とも呼ばれる。印刷機能情報203は、印刷データ生成ソフトウェア202の構成ファイルに含まれ、変更不可能なファイルとして外部記憶装置114に配置される。もしくは、印刷データ生成ソフトウェア202により、印刷機能情報203は動的に生成されることもできる。具体的には、印刷データ生成ソフトウェア202もしくはOSは、印刷装置102から印刷装置102の属性データを取得し、取得した属性データ内の属性情報に応じて印刷機能情報203を生成するよう構成することができる。なお、動的に印刷機能情報203が生成される場合、生成された印刷機能情報203は編集可能である。なお、印刷装置102から取得される印刷装置102の属性データとは、印刷装置102に対してIPP(Internet Print Protocol)のGet-Printer-Attributesオペレーションを発行することにより取得するレスポンスである。レスポンスの中には、印刷装置102が動作可能な機能(印刷装置102の能力)を示す属性情報とその属性情報に関連する設定値を含む。このレスポンスはRAM113に保存される。
以上の構成により、印刷データ生成ソフトウェア202は、接続された印刷装置に応じて、それぞれの印刷装置102で利用可能な印刷機能をユーザが指定可能に構成する事ができる。すなわち、異なる機能を持つ印刷装置や、異なるベンダが開発した印刷装置を接続した場合であっても、印刷データ生成ソフトウェア202は、接続した印刷装置に応じて利用可能な印刷機能をユーザが指定可能に構成することができる。なお、ここでは、印刷データ生成ソフトウェア202として、Windows(登録商標)11に搭載されている、IPP Class Driverを利用した構成について説明する。IPP Class Driverは、IPP(Internet Print Protocol)と呼ばれる標準的な印刷プロトコルの仕様に従って印刷処理を実行するプリンタドライバであり、OSのパッケージの中に同梱されている。IPP ClassDriverは、印刷装置102の機種に応じた固有のプリンタドライバではなく、複数の印刷装置で共通して利用可能な標準的なクラスドライバである。また、IPP Class Driverは、接続した印刷装置でサポートする印刷機能をユーザが指定できるように、接続した印刷装置102の能力情報を取得し、その情報を元に印刷機能情報203を生成する。
ここで、図2(a)において印刷データが印刷装置102に送信されて印刷される処理を説明する。OSは、描画アプリケーション201から出力された印刷指示に基づき中間データ(入力データとも呼ぶ)を生成して、印刷データ生成ソフトウェア202に渡す。なお、描画アプリケーション201が出力する描画データは、Graphic Device Interface形式のデータ(GDI形式データ)またはXML Paper Specification形式のデータ(XPS形式のデータ)である。印刷データ生成ソフトウェア202として、IPP Class Driverを利用する場合、描画アプリケーション201が出力するデータがGDI形式のデータなら、OSは、描画アプリケーション201から出力されたGDI形式のデータをXPS形式のデータに変換する。そして、変換したXPS形式のデータを中間データとして印刷データ生成ソフトウェア202に渡す。描画アプリケーション201が出力するデータがXPS形式のデータなら、OSは、XPS形式のデータを中間データとして印刷データ生成ソフトウェア202に渡す。なお、中間データには、紙面上に形成する絵の情報である画像データと、後述する用紙の余白領域に関する情報と、ユーザにより設定された印刷設定情報と、が含まれる。なお余白領域に関する情報は、印刷設定情報に含まれる用紙サイズに関する情報に含まれてもよい。
印刷データ生成ソフトウェア202は、取得した中間データを印刷装置102が解釈可能な印刷データに変換し、印刷装置102に送信する。なお、印刷データには、紙面上に形成される絵の情報である描画データと、ユーザにより設定された印刷設定情報に基づき生成された印刷設定属性情報(印刷設定を指定する属性情報)とが含まれる。印刷設定属性情報は、印刷装置102が動作可能な機能(印刷装置の能力)を示す属性情報とその属性情報に関連する設定値を含む。
印刷装置102は、印刷データ生成ソフトウェア202から送られた印刷データに基づき紙面への印刷(印字)を行う。この時、印刷装置102は、印刷データに含まれる印刷設定属性情報に従った動作で、印刷データに含まれる描画データを紙面上に形成する。印刷設定属性情報には、用紙の種類や用紙サイズ、印刷品位(画質優先、速度優先、等)や、描画データのサイズ、描画位置(用紙の余白領域)の情報が含まれている。
図2(b)は、拡張アプリケーション204が、印刷データ生成ソフトウェア202および印刷装置102と関連付けられている場合の構成を示す図である。なお、以下において特に言及しない構成や処理については、図2(a)と同等の構成となる。
描画アプリケーション201は、ユーザから印刷要求を受けると、印刷指示をOSに発行する。本構成下でも、図2(a)の構成と同様、描画アプリケーション201は、印刷設定画面を表示させることができる。本構成下では、拡張アプリケーション204が提供する印刷設定画面が表示される。具体的には、拡張アプリケーション204が備える印刷設定画面拡張ユニット205が提供する印刷設定画面が表示される。なお、印刷設定画面拡張ユニット205により提供される印刷設定画面が表示されるか否かはユーザの操作に依存する。
また、描画アプリケーション201がユーザから印刷要求を受けつけ、印刷指示がOSに発行されると、OSはスキップ制御ユニット206を起動する。スキップ制御ユニット206は、印刷データ生成ソフトウェア202の処理をスキップするか否かの制御を行う。スキップ制御ユニット206のスキップ制御処理の後、OSは、描画アプリケーション201から出力された印刷指示に基づき中間データを生成し、中間データが印刷データ生成ソフトウェア202に渡される。ここで、スキップ制御ユニット206でスキップ制御が行われない場合、中間データは印刷データ生成ソフトウェア202で印刷装置102が解釈可能な印刷データへ処理され、印刷データ編集ユニット208へ渡される。一方、印刷データ生成ソフトウェア202のスキップが行われる場合は、中間データは印刷データ生成ソフトウェア202で処理されずに、印刷データ編集ユニット208に渡される。これにより、中間データを印刷データ編集ユニット208で処理することが可能となる。
印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から渡される中間データもしくは印刷データ生成ソフトウェア202により処理された印刷データの編集を行う。編集内容として、割り付け印刷を例にとると、印刷データ編集ユニット208は、OSから受け取った割り付け印刷の印刷設定情報に基づいて、中間データもしくは印刷データのレイアウトを変更する。また、印刷データ編集ユニット208は表示部119にUI画面を表示することが可能であり、中間データもしくは印刷データのレイアウト結果をプレビュー画面として表示することができる。なお、印刷データ編集ユニット208では、画面を開いたままの状態では印刷データは印刷装置102に送信されず、画面を閉じることで印刷データの送信処理が動作する。
印刷データ編集ユニット208が印刷データを編集した後、印刷データは印刷装置102へ送信される。印刷装置102は、受け付けた印刷データに基づき紙面への印刷を行う。
なお、スキップ制御ユニット206で印刷データ生成ソフトウェア202がスキップされた場合、印刷データ編集ユニット208が、受け取った中間データを印刷装置102が解釈可能な印刷データへ変換しても良い。また、中間データを印刷データへ変換するために、OSが提供する機能を利用しても良い。
拡張アプリケーション204は、印刷機能拡張ユニット207を有する。印刷機能拡張ユニット207は、印刷データ生成ソフトウェア202もしくはOSが生成した印刷機能情報203(PDC)を編集することができる。これにより、印刷機能拡張ユニット207は、拡張アプリケーション204が提供する機能の追加、印刷装置102はサポートしているが印刷データ生成ソフトウェア202がサポートしていない機能の追加、印刷機能の設定値同士の排他関係の追加、等を行うことができる。OSは、拡張アプリケーション204が印刷装置102と印刷データ生成ソフトウェア202に最初に関連付けられた時に、印刷機能拡張ユニット207を起動する。さらに、OSは、OS起動時等、それ以外のタイミングで印刷機能拡張ユニット207を起動してもよい。このようにすることで、印刷装置102に対して後からオプション装置(例えば、フィニッシャー等)が追加され、印刷に関わる機能が拡張されるようなケースにおいて、印刷機能拡張ユニット207は、拡張機能を検知し、印刷機能情報203に追加することができる。
また、拡張アプリケーション204は通知ユニット209を有する。通知ユニット209は、印刷装置102のエラー発生に呼応してユーザに対して通知を表示することが可能である。例えば、印刷装置102で用紙なしエラーが発生すると、それを印刷データ生成ソフトウェア202が検知し、OSは、OSの機能であるトースト通知と呼ばれる通知機能を使って、メッセージを表示部119に表示させる。ユーザがこのトースト通知を押下することで、拡張アプリケーション204の通知ユニット209がOSにより呼び出され、通知ユニット209のUI画面が表示される。通知ユニット209のUI画面では、例えば用紙なしエラーの詳細メッセージや用紙充填方法などの表示を行うことができる。
なお、本実施形態を実現するための拡張アプリケーション204の構成は、前述の機能(ユニット)を全て備えるものに限定されず、機能の一部のみを持つものや、他の機能を有するものでもよい。また、拡張アプリケーション204は、単に印刷ソフトウェアと呼ばれることもある。以上のように、拡張アプリケーション204は、設定画面を表示する機能(印刷設定画面拡張ユニット205)、印刷データ生成ソフトウェア202の処理をスキップするか否かを制御する機能(スキップ制御ユニット206)、印刷装置に入力される印刷データを編集する機能(印刷データ編集ユニット208)、印刷データ生成ソフトウェアで指定可能な機能を拡張する機能(印刷機能拡張ユニット207)、印刷装置102のエラー発生に対応して画面を表示する機能(通知ユニット209)、の少なくとも1つを備える。
また、拡張アプリケーション204は、各ユニットの処理が終わるたびに動作を終了しても良い。その場合、各ユニットを使う要求を受ける度にOSが拡張アプリケーション204を起動することになる。また、別の形態も考えられる。例えば印刷設定画面拡張ユニット205の処理が終了するとOSは拡張アプリケーション204の動作を終了させるが、スキップ制御ユニット206の処理が終了してもOSは拡張アプリケーション204を起動させたままにしても良い。
さらに、拡張アプリケーション204は、各ユニットの処理の中で、処理をキャンセルしても良い。キャンセルした場合、印刷キュー上の処理中のジョブがOSにより削除される。
ところで、画像データと余白領域を含む描画データは、ホストコンピュータ101上にプレビュー表示された描画データの上側から下側の方向にかけて印刷される。つまり、用紙の搬送(排紙)方向の下流側が描画データの上側に相当し、上流側が描画データの下側に相当する向きで印刷される。画像データは、描画アプリケーション201上でユーザによって作成され、印刷装置102によって用紙の描画領域に印刷されるデータである。また、余白領域とは、用紙上において画像データが印刷される描画領域の周囲に配置された、画像データが印刷されない余白に対応する領域である。
ここで、印刷設定画面によってユーザに指定された印刷設定によっては、描画データが、指定された用紙に対する正確な向きでの印刷と比べて180度回転(反転)した向きで印刷されることがある。例えば長形封筒に描画データを印刷する場合、ユーザは、紙詰まりを防ぐために、長形封筒の印刷装置102内部での搬送における搬送方向において、長形封筒のフラップが上流側となるように長形封筒を給紙する場合がある。なお長形封筒に対する正確な向きでの印刷とは、長形封筒のフラップ側に描画データの上側が相当する向きでの印刷である。しかしながら描画アプリケーション201は、印刷装置102への長形封筒の給紙方向に対して、長形封筒のフラップが下流側となるように長形封筒が給紙された場合を想定した向き(レイアウト)で描画データを作成する。よって、長形封筒に対する描画データの印刷結果として、長形封筒のフラップ側に描画データの下側が相当する向きで印刷されてしまう。つまり、画像データが反転(回転)した向きで長形封筒に印刷されてしまう恐れがある。
なお、長形封筒に対する正確な向きでの印刷において、画像データの上側の余白領域が小さく、下側の余白領域が大きい描画データが印刷されることが望ましい。よって、描画アプリケーション201上で画像データを反転させたデータが作成された場合、長形封筒に対して画像データが正確な向きで印刷可能であるが、画像データの上側の余白領域が大きく、下側の余白領域が小さい描画データが印刷されてしまう恐れがある。また、描画アプリケーション201上で画像データを反転させ、さらに画像データの上側の余白領域が小さく、下側の余白領域が大きい描画データが作成された場合であっても、印刷装置102における長形封筒の描画領域は変更されないため、画像データの一部または全部が欠けた状態で印刷されてしまう恐れがある。さらに、ユーザによって描画アプリケーション201上において画像データを反転させる操作が必要であるため、ユーザビリティが低下してしまう。
また、ここで、長形封筒のように、描画データが、指定された用紙に対する正確な向きでの印刷と比べて180度回転(反転)した向きで印刷されてしまう用紙サイズである場合、印刷装置120によっては、長形封筒の描画領域が予め反転されて設定されている場合がある。つまり、画像データの下側から上側にかけて印刷されることを見越して、用紙の印刷方向の下流側の余白領域が大きく、印刷方向の上流側の余白領域が小さく設定されている場合がある。よって、描画アプリケーション201上でユーザが画像データを反転させた描画データを作成した場合、長形封筒に対して画像データが正確な向きで、かつ画像データの一部または全部が欠けて印刷されてしまうことが軽減される可能性がある。しかしながら、描画アプリケーション201上には、ユーザが反転する前の画像データの上側の余白領域が大きく、下側の余白領域が小さい描画データが表示されるため、ユーザは、印刷結果を容易に認識することが困難である可能性がある。さらに、ユーザによって描画アプリケーション201上において画像データを反転させる操作が必要であるため、ユーザビリティが低下してしまう。
なお、画像データの上側とは、ユーザが定めた画像データの正確な向きにおける上側であり、通常、ユーザが画像データを作成する際に描画アプリケーション201上に表示された場合の上側である。
そこで本実施形態では、拡張アプリケーション204は、用紙サイズ、またはユーザに指定された印刷設定に基づいて、描画データを180度回転させる必要がある用紙サイズであるか否かを判定する。描画データを180度回転させる必要がある用紙サイズ(例えば、長形封筒)であると判定された場合、拡張アプリケーション204は、余白領域と画像データを含む描画データを180度回転する。つまり、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの向きを変更する制御を行う。これにより、ユーザに指定された印刷設定によっては、描画データが用紙に対する正確な向きで印刷される場合の向きと比べて180度回転した向きで印刷されることを軽減することができる。また、描画データのうち画像データの一部または全部が欠けたり、画像データの上側の余白領域が大きく、下側の余白領域が小さく印刷されてしまう可能性を軽減できる。さらに、正確な向きで印刷される場合の向きと比べて180度回転させた描画データを自動で作成することで、ユーザの手間を軽減できる。
さらに、拡張アプリケーション204は、描画データを180度回転させる必要がある用紙サイズ(例えば、長形封筒)であると判定された場合、画像データの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替える制御を行う。そして、拡張アプリケーション204は、描画データを180度回転する。なお拡張アプリケーション204は、描画データを180度回転させる必要がある用紙サイズであり、かつ用紙の搬送方向の下流側の余白領域が大きく、搬送方向の上流側の余白領域が小さく設定されているか否かを判定してもよい。具体的には、上述したように、長形封筒のうち、用紙の搬送方向の下流側の余白領域が大きく、搬送方向の上流側の余白領域が小さく設定されているか否かを判定する。そして、描画データを180度回転させる必要がある用紙サイズであり、かつ用紙の搬送方向の下流側の余白領域が大きく、搬送方向の上流側の余白領域が小さく設定されていると判定された場合、拡張アプリケーション204は、画像データの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替える制御を行う。そして、拡張アプリケーション204は、描画データを180度回転する。これにより、描画アプリケーション201は、画像データの上側の余白領域が小さく、画像データの下側の余白領域が大きい描画データの表示が可能となり、ユーザは印刷結果を容易に認識できる。さらに、正確な向きで印刷される場合の向きと比べて180度回転させた描画データを自動で作成することで、ユーザの手間を軽減できる。
図3は、印刷機能拡張ユニット207によるPDCの編集処理の処理を示すフローチャート図である。図3のフローチャートは、OSが、拡張アプリケーション204が印刷データ生成ソフトウェア202に初めて関連付けられたタイミング等で、印刷機能拡張ユニット207が起動されることにより開始する。以降、印刷機能拡張ユニット207を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S301で、印刷機能拡張ユニット207は、PDC内の全用紙サイズから任意の用紙サイズを特定する。
S302で、印刷機能拡張ユニット207は、特定した用紙サイズが描画データを180度回転させる必要がある用紙サイズであるか否かを判定する。つまり、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの印刷方向を変更する制御の対象となる用紙サイズが設定されているか否かを判定する。例えば、印刷機能拡張ユニット207は、特定した用紙サイズが長形封筒である場合、描画データを180度回転させる必要がある用紙サイズであると判定し、特定した用紙サイズが例えばA4サイズ等の長形封筒以外の用紙サイズである場合、描画データを180度回転させる必要がある用紙サイズでないと判定する。印刷機能拡張ユニット207は、S302でYESの場合、S303に進み、S302でNOの場合、S304に進む。つまり、特定した用紙サイズが描画データを180度回転させる必要がある用紙サイズでないと判定された場合は、特定した用紙サイズの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替えた値に基づく描画領域を、特定した用紙サイズの描画領域として新たにPDCに登録する制御を実行しない。なお、特定した用紙サイズが長形封筒であっても、印刷方向の下流側の余白領域が、印刷方向の上流側の余白領域よりも小さいサイズである場合は、本判定においてNOと判定される。つまり、本判定において、描画データを180度回転させる必要がある用紙サイズであり、かつ用紙の搬送方向の下流側の余白領域が大きく、搬送方向の上流側の余白領域が小さく設定されているか否かを判定してもよい。具体的には、上述したように、長形封筒のうち、用紙の搬送方向の下流側の余白領域が大きく、搬送方向の上流側の余白領域が小さく設定されているか否かを判定する。そして、描画データを180度回転させる必要がある用紙サイズであり、かつ用紙の搬送方向の下流側の余白領域が大きく、搬送方向の上流側の余白領域が小さく設定されていると判定された場合、拡張アプリケーション204は、画像データの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替える制御を行ってもよい。
S303で、印刷機能拡張ユニット207は、S301において特定した用紙サイズのマージンの値を180度回転させた値を、特定した用紙サイズのマージンの値として新たにPDCに登録する。つまり、特定した用紙サイズの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替えた値に基づく描画領域を、特定した用紙サイズの描画領域の値として新たにPDCに登録(生成)する。
S304で、印刷機能拡張ユニット207は、PDC内の全用紙サイズを特定したか否かを判定する。印刷機能拡張ユニット207は、S304においてYESと判定された場合、本フローチャートの処理を終了し、S304においてNOと判定された場合、S301に戻る。
ここで、PDCの一例について図4を用いて説明する。PDC401には、印刷装置102がサポートしている機能(Feature)の情報や、ある機能における設定値(Option)の情報が含まれる。例えば、情報402は、PageMediaSize(用紙サイズ)としてISOA4やJapanChou4Envelope(長形4号封筒)を印刷装置102がサポートしていることを示す情報である。なおユーザは、印刷装置102がサポートしている用紙サイズを、印刷設定としてホストコンピュータ101上で指定可能である。また、各用紙サイズの描画開始位置と描画領域をPortraitImageableSizeで示しており、左の値から、用紙の左上を基準にした横方向描画開始位置、縦方向描画開始位置、横方向描画可能サイズ、縦方向描画可能サイズを示している。具体的にJapanChou4Envelope(長形4号封筒)の描画領域情報403では、図5(a)に示すように、横=120000(1/1000mm)、縦=235000(1/1000mm)の用紙サイズである長形4号封筒の用紙左上を基準として横方向描画開始位置=5600(1/1000mm)、縦方向描画開始位置=8000(1/1000mm)から、横=108800(1/1000mm)、縦=222000(1/1000mm)の描画エリアに描画できることを示している。よって、上側のマージンは8000(1/1000mm)、下側のマージンは5000(1/1000mm)、左側と右側のマージンはそれぞれ5600(1/1000mm)である。情報404は、JapanChou4Envelope(長形4号封筒)のマージンを180度回転した用紙サイズとして追加された情報(JapanChou4Envelope_CN(上下と左右のマージンの値を入れ替えた長形4号封筒)である。追加した用紙サイズの描画領域情報405は、OSによって定義された用紙サイズの描画領域情報403において上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替えた値に基づく描画領域となっている。具体的には、図5(b)に示すように、横=120000(1/1000mm)、縦=235000(1/1000mm)の用紙サイズである長形4号封筒の用紙左上を基準として横方向描画開始位置=5600(1/1000mm)、縦方向描画開始位置=5000(1/1000mm)から、横=108800(1/1000mm)、縦=222000(1/1000mm)の描画エリアに描画できることを示している。よって、上側のマージンは5000(1/1000mm)、下側のマージンは8000(1/1000mm)、左側と右側のマージンはそれぞれ5600(1/1000mm)である。本実施形態では左側と右側のマージンは変わらないため横方向描画開始位置は、OSによって定義された用紙サイズの値のマージンを180度回転していない値と同じ値(5600(1/1000mm))であるが、縦方向描画開始位置が図5(b)の上側のマージンであり図5(a)の下側のマージンに対応する長さである5000(1/1000mm)となる。本実施形態では、PDCに180度回転したマージン情報を追加して登録する例を示したが、OSによって定義された用紙サイズの描画領域情報を、OSによって定義された用紙サイズのマージンを180度回転した用紙サイズとして追加された情報の描画領域情報に上書きしても良い。また、同じ大きさの用紙サイズをOSの制約上追加できない場合は、最小単位である1/1000mm分ずらした大きさの用紙サイズとして登録しても良い。
ユーザは、印刷装置102に給紙した用紙の用紙サイズがいずれであるかの設定を、拡張アプリケーション204の印刷設定画面を描画アプリケーション201上で開くことで行うことができる。具体的には描画アプリケーション201はOSのAPIを使用して拡張アプリケーション204の印刷設定画面の表示を指示し、OSにより、拡張アプリケーション204の印刷設定画面拡張ユニット205が呼び出され、印刷設定画面の表示が行われる。
図6は、拡張アプリケーション204が行う処理を示すフローチャート図である。図6のフローチャートは、印刷設定画面の表示をさせるための操作がユーザによって行われたことに基づいて開始される。なお印刷設定画面の表示をさせるための操作とは、例えば、描画アプリケーション201の画面において拡張アプリケーション204によって開かれる印刷設定画面に関する情報が押下される操作である。以降、拡張アプリケーション204を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S601において、拡張アプリケーション204は、後述する図8の印刷設定画面801の表示を行う。具体的には、後述する図7のフローチャートを用いて説明する。
S602において、拡張アプリケーション204は、印刷設定画面801に対するユーザ操作を受け付ける。具体的には、S601において表示した印刷設定画面801において、用紙の種類や用紙サイズ等の各種項目の設定を受け付ける。
S603において、拡張アプリケーション204は、OSから中間データを受信した場合に印刷処理を実行し、本フローチャートの処理を終了する。具体的には、後述する図9のフローチャートを用いて説明する。
図6のS601に相当する図7は、本印刷システムにおける印刷設定画面拡張ユニット205による印刷設定画面表示処理を示すフローチャート図である。図7のフローチャートは印刷設定画面の表示をさせるための操作がユーザによって行われたことに基づいて開始される。以降、印刷設定画面拡張ユニット205を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S701において、印刷設定画面拡張ユニット205は、OSがPDCの情報に基づいて生成した能力情報であるPrintCapabilities(PC)をOSから受信する。ここでは、図4に示す上下と左右のマージンの値を入れ替えた長形4号封筒の用紙サイズが追加されたPDCの情報に基づいて生成されたPCの情報が伝えられた場合の例を示す。
S702において、印刷設定画面拡張ユニット205は、OSが生成したPC内の用紙サイズ情報から、任意の用紙サイズを特定する。特定される用紙サイズの情報として、図4の情報402、情報404も含まれる。
S703において、印刷設定画面拡張ユニット205は、所定の用紙サイズであり、新たにPDCに追加された情報に対応する用紙サイズでないか否かを判定する。ここで、所定の用紙サイズとは、任意の用紙サイズに印刷される描画データを180度回転させる必要がある用紙サイズであり、例えば長形封筒である。図4のPDCの情報のうち、情報402は、元々OSにより定義されたJapanChou4Envelope(長形4号封筒)である。よって、描画データを180度回転させる必要があり、かつマージンを180度回転させる必要がある用紙サイズであるため、新たにPDCに追加された情報に対応する用紙サイズでない(S703においてYES)と判定される。また、図4のPDCの情報のうち、情報404は、描画データを180度回転させる必要がある用紙サイズではあるが、上下と左右のマージンの値を入れ替えた用紙サイズとして新たにPDCに追加されたJapanChou4Envelope_CN(上下と左右のマージンの値を入れ替えた長形4号封筒)である。よって、新たにPDCに追加された情報に対応する用紙サイズである(S703においてNO)と判定される。なお、任意の用紙サイズに印刷される描画データを180度回転させる必要がない用紙サイズ(例えば、A4サイズ)である場合は、S703においてNOと判定される。印刷設定画面拡張ユニット205は、S703においてYESと判定された場合、S705に進み、S703においてNOと判定された場合、S704に進む。
S704において、印刷設定画面拡張ユニット205は、後述する図8の用紙サイズ設定802の選択肢にS702において特定した用紙サイズを登録する。なお、S703においてNOと判定された場合は、用紙サイズ設定802の選択肢に、S702において特定した用紙サイズは登録されない。
S705において、印刷設定画面拡張ユニット205は、PC内の全用紙サイズをS702にて特定したか否かを判定する。印刷設定画面拡張ユニット205は、S705においてYESと判定された場合、S706において印刷設定画面801を表示し、本フローチャートの処理を終了する。また、印刷設定画面拡張ユニット205は、S705においてNOと判定された場合、S702に戻る。
次に、印刷設定画面拡張ユニット205により表示部119に表示される印刷設定画面801について図8を用いて説明する。
用紙サイズ設定802は、用紙サイズの設定項目であり、図7のフローチャートでOSから取得したPCに基づき設定できる用紙サイズの選択肢を表示している。用紙サイズ設定802はコンボボックスであり、ユーザがポインティングデバイス117でクリックすると図8(b)に示すように設定可能な用紙サイズの選択肢一覧803が表示され、ユーザは表示された選択肢の中から任意の用紙サイズを選択することが可能である。ここで選択肢一覧803には、図7のS704において登録された用紙サイズが表示される。よって、元々OSがPDCに定義したJapanChou4Envelope(長形4号封筒)は表示されておらず、上下と左右のマージンの値を入れ替えた用紙サイズとして新たにPDCに追加されたJapanChou4Envelope_CN(上下と左右のマージンの値を入れ替えた長形4号封筒)の選択肢が「長形4号」として表示されている。この時、用紙サイズ設定802及び用紙サイズ選択肢一覧803に表示される名称は、PDC生成時にOSが生成した名称でも良いし、拡張アプリケーション204が定めた名称でも良い。
なお描画アプリケーション201においても描画アプリケーション201によって印刷設定画面が提供(表示)される。描画アプリケーション201の印刷設定画面に表示される用紙サイズの選択肢一覧として、元々OSがPDCに定義したJapanChou4Envelope(長形4号封筒)と上下と左右のマージンの値を入れ替えた用紙サイズとして新たにPDCに追加されたJapanChou4Envelope_CN(上下と左右のマージンの値を入れ替えた長形4号封筒)の2つの選択肢が表示されてもよい。なお2つの用紙サイズのうちどちらか一方が表示されてもよい。描画アプリケーション201は、例えば描画アプリケーション201が提供する用紙サイズの設定項目が表示されるための操作が行われた場合に、OSに用紙サイズに関する情報の取得要求を行う。そして、OSがPDCから用紙サイズに関する情報を取得して描画アプリケーション201に共有することにより、描画アプリケーション201が提供する用紙サイズの設定項目が表示される。なお描画アプリケーション201によって表示される印刷設定画面は図8の801のと同様の画面であってもよいし異なってもよい。
ユーザによって描画アプリケーション201から拡張アプリケーション204の印刷設定画面801が開かれ、表示された印刷設定画面801において任意の用紙サイズが設定されると、描画アプリケーション201は、設定された用紙サイズのマージン情報や描画可能エリアをOSのAPIにより取得できる。その後、描画アプリケーション201から拡張アプリケーション204が紐づく印刷キューに対して印刷指示が行われると、描画アプリケーション201は取得したマージン情報や描画可能サイズで描画データを生成する。
図6のS603に相当する図9は、描画データと印刷設定を含む中間データがOSにより印刷データ編集ユニット208に送信された後の、印刷データ編集ユニット208の印刷処理を示したフローチャート図である。本フローチャートの処理は、描画データと印刷設定を含む中間データがOSにより印刷データ編集ユニット208に送信された場合に開始される。以降、拡張アプリケーション204および各ユニットを、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S901で、印刷データ編集ユニット208は、印刷データ生成ソフトウェア202から描画データと印刷設定情報を含む中間データを取得する。なお印刷設定情報は、ユーザにより図8の印刷設定画面において設定された内容を含む。
S902で、印刷データ編集ユニット208は、S901で取得した印刷設定情報から、印刷設定画面801において設定された用紙サイズが、描画データを180度回転させる必要がある用紙サイズであるか否かの判定を行う。つまり、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの向きを変更する制御の対象となる用紙サイズが設定されているか否かを判定する。例えば、長形封筒が設定されている場合は、描画データを180度回転させる必要がある用紙サイズであると判定される。印刷データ編集ユニット208は、S902においてYESと判定された場合、S903に進み、S902においてNOと判定された場合、S905に進む。つまりA4サイズ等の長形封筒以外の用紙サイズが設定されている場合は、描画データを180度回転させる必要がない用紙サイズであると判定されるため、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの向きを変更する制御が実行されない。
S903で、印刷データ編集ユニット208は、中間データ内の描画データを180度回転する。つまり、印刷データ編集ユニット208は、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの向きを変更する制御を行う。例えば、印刷データ編集ユニット208は、長形封筒など、描画データを180度回転させる必要がある用紙サイズが設定されている場合、中間データ内の、余白領域と画像データを含む描画データを180度回転する。
S904で、印刷データ編集ユニット208は、印刷装置102に対する用紙のセット手順を示すガイド画面を表示する。図10は、長形封筒の印刷ガイドの一例を示した図であり、印刷設定画面801で用紙サイズとして長形4号封筒が設定され印刷指示が行われた場合の例である。ガイド画面1000は用紙セット手順1001と印刷開始ボタン1002で構成されている。用紙セット手順1001は、用紙の給紙口へのセット方法に関するガイドであり、印刷設定にて設定された給紙口と一致したものを表示可能である。印刷開始ボタン1002は、ユーザが印刷開始を指示するボタンであり、ボタンが押下されると印刷装置102に印刷指示が送信され、印刷データ編集ユニット208はガイド画面1200を閉じる。
S905で、印刷データ編集ユニット208は、中間データを印刷装置102が解釈可能な印刷データへ変換する。
S906で、印刷データ編集ユニット208は、印刷データを印刷装置102に送信し、本フローチャートの処理を終了する。その後、印刷装置102により印刷が行われる。
図11は印刷する用紙サイズと実際の印刷結果を示した図であり、図中の破線は用紙上の描画可能エリアを示している。図11(a)は、描画データを180度回転させる必要のない用紙サイズが設定されて印刷された場合の印刷結果を示す図である。この場合、もともとPDCに記載された用紙サイズの描画開始位置が描画アプリケーション201に伝わり、描画アプリケーション201は描画開始位置に基づき描画データを生成する。そして、印刷指示が行われると、もともとPDCに記載された用紙サイズの描画領域に配置された描画データが拡張アプリケーション204に伝わり、拡張アプリケーション204によって描画データは180度回転されない。よって描画データは180度回転されておらず、用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えられていない。よって印刷結果として、用紙の搬送方向の下流側が描画データの上側に相当する向きで印刷される。
図11(b)は、描画データを180度回転させる必要がある用紙サイズが設定されて印刷された場合の印刷結果を示す図である。この場合、もともとPDCに記載された用紙サイズの描画開始位置ではなく、PDCに記載された用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えた値に基づく描画開始位置が描画アプリケーション201に伝わり、描画アプリケーション201は描画開始位置に基づき描画データを生成する。そして、印刷指示が行われると、用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えた値に基づく描画領域に配置された描画データが中間データとして拡張アプリケーション204に伝わり、拡張アプリケーション204によって描画データは180度回転される。よって印刷結果として、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷される。
以上により、拡張アプリケーション204は、描画データを180度回転させる必要がある用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えた値に基づく描画開始位置を描画アプリケーションに提供することで、描画アプリケーションは正確な向きのマージンに基づいて描画データを生成することができる。また、拡張アプリケーション204は、描画アプリケーションから生成された描画データを180度回転することで、長形封筒など、描画データを180度回転させる必要がある用紙サイズに対して正確な向きで描画データを印刷させることが可能となる。これにより、描画データが欠けたり描画領域からずれて印刷される可能性を軽減できる。さらに、正確な向きで印刷される場合の向きと比べて180度回転させた描画データを自動で作成することで、ユーザの手間を軽減できる。
上述した実施形態において、描画データを180度回転させる必要がある用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えた値に基づく用紙サイズをPDCに追加する処理を示したが、描画データを180度回転させる必要がある用紙サイズのマージンを180度回転させない形態であってもよい。例えば、描画データを180度回転させる必要がある用紙サイズであっても、上下のマージンの値と左右のマージンの値が同じ値である場合は、用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えなくてもよい。さらに、例えば、描画データを180度回転させる必要がある用紙サイズであり、上下のマージンと左右のマージンのどちらか一方の値が同じ値である場合は、値が同じ値である上下左右のどちらか一方の値を入れ替えずに、値が異なる値である上下左右のどちらか一方の値のみを入れ替えてもよい。なお、値が同じであるか否かに関わらずに上下のマージンの値と左右のマージンの値を常に入れ替えてもよい。
上述した実施形態において、描画データを180度回転させる必要がある用紙サイズとして長形封筒を例に挙げたが、これに限定されない。長形封筒以外の用紙サイズであり、描画データを180度回転させる必要がある用紙サイズであれば本発明が適用されてよい。
また、上述した実施形態における、図10の用紙セット手順を示すガイド画面は表示されなくてもよい。つまり、図9のフローチャートにおけるS904の処理が省略されてもよい。
(第2の実施形態)
本実施形態では、印刷装置102がステープル処理(綴じ処理)機能を備え、ユーザにより印刷装置102のステープル処理が実行される用紙の位置が設定されている場合における拡張アプリケーション204の処理を説明する。一般的にステープル処理は、用紙の搬送方向の上流側で行われる。ユーザにより印刷設定画面においてステープル処理が設定されており、ステープル処理が実行される用紙の位置が設定されている場合、ステープル処理が実行される用紙の位置によっては、描画データを正確な向きと比べて180度回転させて印刷する必要がある。例えば、描画データの上側が用紙の短辺に相当する場合において、用紙における画像データに対して「左上」にステープル処理が実行されるよう設定されている場合、描画データの上側が用紙の搬送方向の上流側に来るようにレイアウトされる必要がある。よって、拡張アプリケーション204は、印刷設定画面において設定された用紙の上下のマージンの値と左右のマージンの値を入れ替えた値に基づく用紙サイズをPDCに追加し、さらに描画データを180度回転させる。以下、説明において言及がない構成や処理については第1の実施形態と同等であるため、説明を省略する。
図12は、本実施形態において、ユーザが描画アプリケーション201から拡張アプリケーション204の印刷設定画面801の表示を指示した際、印刷設定画面拡張ユニット205が表示する印刷設定画面を801表したものである。本実施形態では、ステープル設定1201が指定可能であり、図12のステープル設定1201では、「左上」が設定されている。これは、印刷処理の後に用紙サイズの左上の位置にステープル処理が実行されることを示す。
図13は、印刷機能拡張ユニット207によるPDCの編集処理の処理を示すフローチャート図である。図13のフローチャートの処理は、図12の印刷設定画面においてユーザにより印刷設定が行われ、OKボタン1202が押下された際に開始される。以降、印刷機能拡張ユニット207を、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU111が実行することで、対応する機能が実現されることになる。
S1301にて、印刷設定画面拡張ユニット205は、描画データを180度回転させる必要がある機能が設定されているか否かを判定する。つまり、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの向きを変更する制御の対象となる機能が設定されているか否かを判定する。描画データを180度回転させる必要がある機能が設定されている場合とは、描画データの上側が用紙の短辺に相当する場合において、描画データの上側の位置にステープル処理の位置が設定されている場合である。例えば、図12のステープル設定1201が「左上」に設定されていた場合である。また描画データを180度回転させる必要がある機能が設定されていない場合とは、描画データの上側が用紙の短辺に相当する場合において、描画データの下側の位置にステープル処理の位置が設定されている場合である。例えば、図12のステープル設定1201を「右下」にしていた場合である。印刷設定画面拡張ユニット205は、S1302においてYESと判定された場合、S1402に進み、S1302においてNOと判定された場合、本フローチャートの処理を終了する。
次に、S1302において、印刷設定画面拡張ユニット205は、印刷設定画面801において設定された用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えた値に基づく用紙サイズをPDCに登録する。つまり、特定した用紙サイズの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替えた値に基づく描画領域を、特定した用紙サイズの描画領域の値として新たにPDCに登録する。この時、印刷設定画面拡張ユニット205は、PDC内の既に定義されている用紙サイズのマージン情報を上書きしても良いし、新たなマージン情報が定義された用紙サイズとしてPDCに追加しても良い。
S1303において、印刷設定画面拡張ユニット205は、編集したPDCを元にOSにPCの再生成を指示することで、OSに対し、マージンが180度回転された用紙サイズを反映する。つまり、用紙サイズの上側の余白領域と下側の余白領域の長さの値を入れ替え、左側の余白領域と右側の余白領域の長さの値を入れ替えた値に基づく描画領域が、ユーザによって指定された用紙サイズの描画領域の値として反映される。また、描画アプリケーション201はOSのAPI経由でマージンを180度回転した用紙サイズを取得可能となる。
その後、ユーザが描画アプリケーション201から拡張アプリケーション204が紐づく印刷キューに対して印刷指示を行うと、図14に示す印刷処理が行われる。
図14は、中間データがOSにより印刷データ編集ユニット208に送信された後の、印刷データ編集ユニット208の印刷処理を示したフローチャート図である。図14のフローチャートの処理は、中間データがOSにより印刷データ編集ユニット208に送信された場合に開始される。
S901~906は、図9のS901~S906と同様の処理であるため説明を省略する。なおS902においてYESと判定された場合、S903に進み、S902においてNOと判定された場合、S1401に進む。
S1401において、印刷データ編集ユニット208は、取得した印刷設定情報から、印刷設定画面801において描画データを180度回転させる必要がある機能が設定されているか否かを判定する。つまり、用紙の搬送方向の下流側が描画データの下側に相当し、上流側が描画データの上側に相当する向きで印刷されるよう描画データの向きを変更する制御の対象となる機能が設定されているか否かを判定する。具体的には、図13の印刷設定画面801においてステープル設定1201が「左上」に設定されていた場合、描画データを180度回転させる必要がある機能が設定されていると判定される。つまり、図13のS1302でPDCに登録され、S1303でOSに反映された用紙サイズは、S1401において描画データを180度回転させる必要がある機能が設定されていると判定される。S1401においてYESと判定された場合、S903に進み、S1401においてNOと判定された場合、S905に進む。
図15は、描画データを180度回転させる必要がある機能が設定されて印刷された場合の印刷結果を示す図であり、図中の破線は用紙上の描画可能エリアを示している。本実施形態では印刷装置102が実行可能なステープル処理が用紙の搬送方向における上流側で実行される場合であり、印刷設定としてステープル処理が実行される位置が用紙の「左上」に設定された場合における印刷結果の一例である。印刷設定画面801において描画データを180度回転させる必要がある機能が設定されている場合、もともとPDCに記載された用紙サイズの描画開始位置ではなく、PDCに記載された用紙サイズの上下のマージンの値と左右のマージンの値を入れ替えた値に基づく描画開始位置が描画アプリケーション201に伝わる。そして描画アプリケーション201はその情報に基づき描画データを生成し、印刷指示が行われると、上下のマージンの値と左右のマージンの値を入れ替えた値に基づく描画領域に配置された描画データが中間データとして拡張アプリケーション204に伝わり、拡張アプリケーション204によって描画データは180度回転される。よって印刷結果として搬送方向の下流側に描画データの下側がレイアウトされて印刷される。つまり、描画データの上側が用紙の搬送方向の上流側に相当するようにレイアウトされるため、用紙に印刷された描画データの左上にステープル処理が実行される。
以上により、拡張アプリケーション204は、ステープル処理など描画データを180度回転させる必要がある機能が設定されている場合に、用紙の上下のマージンの値と左右のマージンの値をそれぞれ入れ替えた値に基づく用紙サイズを描画アプリケーションに提供することで、描画アプリケーションは正確なマージンに基づいて描画データを生成することができる。また、拡張アプリケーション204は、描画アプリケーションから生成された描画データを180度回転することで、正確な向きで描画データを印刷させることが可能となる。これにより、ユーザに指定されたステープル処理が実行される場合の用紙の位置においてステープル処理を実行させることができる。
上述した実施形態において、描画データを180度回転させる必要がある機能が設定されている場合として、図12のステープル設定1201を「左上」にしていた場合を例に挙げたがこれに限定されない。ステープル処理が用紙の搬送方向の下流側で行われる場合であれば、図12のステープル設定1201を「右上」にしていた場合においても本発明が適用されてよい。また、用紙に対する描画データのレイアウトによっては、用紙の長辺に描画データの上側が相当する場合がある。この場合において画像データに対するステープル処理が行われる位置を搬送方向の上流側に相当する位置ではない位置に設定している場合は、描画データを180度回転させる必要がある機能が設定されていると判定される。例えば、用紙の搬送方向の上流側が用紙の画像データに対する「右上」や「右下」に相当する場合であり、ステープル処理が行われる位置が「左上」や「左下」に設定されている場合である。
(その他の実施形態)
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
101 ホストコンピュータ
102 印刷装置
201 描画アプリケーション
202 印刷データ生成ソフトウェア
203 印刷機能情報
204 拡張アプリケーション

Claims (19)

  1. 異なるベンダによって提供される複数の印刷装置が共通して利用可能な印刷データ生成ソフトウェアと関連づけられることによって前記印刷データ生成ソフトウェアの機能を拡張する拡張アプリケーションであって、
    コンピュータに、
    画像データと前記画像データが印刷されない領域に相当する余白領域と、を含む描画データと、前記描画データが印刷される用紙に関する情報を含む印刷設定に関する情報を取得する取得ステップを実行させ、
    前記印刷設定において、前記用紙が前記描画データの印刷処理を実行する印刷装置に搬送される場合の搬送方向における下流側が前記描画データの下側に相当し、上流側が前記描画データの上側に相当する向きで前記描画データが前記用紙に印刷されるよう前記描画データの向きを変更する第1制御の対象となる設定がされている場合、前記第1制御を実行し、
    前記印刷設定において、前記第1制御の対象となる設定がされていない場合、前記第1制御を実行しないことを特徴とするプログラム。
  2. 前記印刷設定において、前記第1制御の対象となる設定がされている場合、前記余白領域のうち、前記画像データの上側の余白領域と前記画像データの下側の余白領域の値を入れ替える第2制御を実行し、
    前記印刷設定において、前記第1制御の対象となる設定がされていない場合、前記第2制御を実行しないことを特徴とする請求項1に記載のプログラム。
  3. 前記第2制御において、前記余白領域のうち、前記画像データの上側の余白領域と前記画像データの下側の余白領域の値を入れ替え、かつ前記画像データの左側の余白領域と前記画像データの右側の余白領域の値を入れ替えることを特徴とする請求項2に記載のプログラム。
  4. 前記第1制御とは、前記描画データを回転させる制御であることを特徴とする請求項1乃至3のいずれか一項に記載のプログラム。
  5. 前記第1制御の対象となる設定がされている場合とは、前記印刷設定において、前記第1制御の対象となる用紙サイズが設定されている場合であることを特徴とする請求項1乃至4のいずれか一項に記載のプログラム。
  6. 前記用紙サイズは長形封筒であることを特徴とする請求項5に記載のプログラム。
  7. 前記第1制御の対象となる設定がされている場合とは、前記印刷設定においてステープル処理が設定されている場合であり、かつ前記描画データが印刷される前記用紙に対して前記ステープル処理が実行される位置が、前記第1制御の対象となる位置である場合であることを特徴とする請求項1乃至4のいずれか一項に記載のプログラム。
  8. 前記ステープル処理が実行される位置とは、前記用紙の左上であることを特徴とする請求項7に記載のプログラム。
  9. 前記印刷設定において、前記第1制御の対象となる設定がされているか否かを判定する第1判定ステップをさらに実行させ、
    前記第1判定ステップにおいて、前記第1制御の対象となる設定がされていると判定された場合、前記第1制御を実行し、
    前記第1制御の対象となる設定がされていないと判定された場合、前記第1制御を実行しないことを特徴とする請求項1乃至8のいずれか一項に記載のプログラム。
  10. 前記印刷設定において、前記第1制御の対象となる設定がされているか否かを判定する第1判定ステップをさらに実行させ、
    前記第1判定ステップにおいて、前記第1制御の対象となる設定がされていると判定された場合、前記余白領域のうち、前記画像データの上側の余白領域と前記画像データの下側の余白領域の値を入れ替える第2制御を実行し、
    前記第1制御の対象となる設定がされていないと判定された場合、前記第2制御を実行しないことを特徴とする請求項1乃至9のいずれか一項に記載のプログラム。
  11. 前記余白領域のうち、前記画像データの上側の余白領域と前記画像データの下側の余白領域の値を入れ替える第2制御とは、前記印刷データ生成ソフトウェアによって生成された印刷機能情報に、前記用紙に関する情報を追加する制御であり、
    前記印刷装置から取得した前記印刷装置の能力情報に、前記第1制御の対象となる用紙に関する第1の情報が含まれている場合、前記用紙の上側の余白領域と前記用紙の下側の余白領域の長さの値を入れ替え、前記用紙の左側の余白領域と前記用紙の右側の余白領域の長さの値を入れ替えた値に基づく前記用紙に関する第2の情報を前記印刷機能情報に新たに追加することを特徴とする請求項1乃至10の何れか一項に記載のプログラム。
  12. 前記印刷機能情報は、前記印刷装置が動作可能な印刷処理に関する機能を示す情報であり、前記描画データを生成する描画アプリケーションに、オペレーティングシステムによって前記印刷機能情報が送信されることを特徴とする請求項11に記載のプログラム。
  13. 前記印刷設定に関する情報が表示される印刷設定画面において表示される前記用紙に関する情報は、前記第2の情報のみであることを特徴とする請求項11または12に記載のプログラム。
  14. 前記描画データを生成する描画アプリケーションが備える印刷設定画面に表示される前記用紙に関する情報は、前記第1の情報と、前記第2の情報であることを特徴とする請求項11乃至13のいずれか一項に記載のプログラム。
  15. 前記用紙に関する前記第1の情報と前記第2の情報は、オペレーティングシステムが前記印刷機能情報から前記用紙に関する前記第1の情報と前記第2の情報を含む情報を取得し、前記描画データを生成する描画アプリケーションに送信することによって、前記描画アプリケーションが備える前記印刷設定に関する情報が表示される印刷設定画面に前記用紙に関する前記第1の情報と前記第2の情報が表示されることを特徴とする請求項11乃至14のいずれか一項に記載のプログラム。
  16. 前記用紙の前記印刷装置に対する給紙方法に関するガイドが表示されることを特徴とする請求項1乃至15の何れか一項に記載のプログラム。
  17. 前記印刷装置に前記描画データと前記印刷設定に関する情報を送信する送信ステップと、
    をさらに実行し、
    前記印刷装置が前記描画データの印刷処理を実行することを特徴とする請求項1乃至16の何れか一項に記載のプログラム。
  18. 異なるベンダによって提供される複数の印刷装置が共通して利用可能な印刷データ生成ソフトウェアと関連づけられることによって前記印刷データ生成ソフトウェアの機能を拡張する拡張アプリケーションを備える情報処理装置であって、
    画像データと前記画像データが印刷されない領域に相当する余白領域と、を含む描画データと、前記描画データが印刷される用紙に関する情報を含む印刷設定に関する情報を取得する取得手段を有し、
    前記印刷設定において、前記用紙が前記描画データの印刷処理を実行する印刷装置に搬送される場合の搬送方向における下流側が前記描画データの下側に相当し、上流側が前記描画データの上側に相当する向きで前記描画データが前記用紙に印刷されるよう前記描画データの向きを変更する第1制御の対象となる設定がされている場合、前記第1制御を実行し、
    前記印刷設定において、前記第1制御の対象となる設定がされていない場合、前記第1制御を実行しないことを特徴とする情報処理装置。
  19. 異なるベンダによって提供される複数の印刷装置が共通して利用可能な印刷データ生成ソフトウェアと関連づけられることによって前記印刷データ生成ソフトウェアの機能を拡張する拡張アプリケーションの制御方法であって、
    画像データと前記画像データが印刷されない領域に相当する余白領域と、を含む描画データと、前記描画データが印刷される用紙に関する情報を含む印刷設定に関する情報を取得する取得ステップを有し、
    前記印刷設定において、前記用紙が前記描画データの印刷処理を実行する印刷装置に搬送される場合の搬送方向における下流側が前記描画データの下側に相当し、上流側が前記描画データの上側に相当する向きで前記描画データが前記用紙に印刷されるよう前記描画データの向きを変更する第1制御の対象となる設定がされている場合、前記第1制御を実行し、
    前記印刷設定において、前記第1制御の対象となる設定がされていない場合、前記第1制御を実行しないことを特徴とする制御方法。
JP2022012428A 2022-01-28 2022-01-28 プログラム、情報処理装置および制御方法 Pending JP2023110778A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022012428A JP2023110778A (ja) 2022-01-28 2022-01-28 プログラム、情報処理装置および制御方法
US18/155,500 US20230247165A1 (en) 2022-01-28 2023-01-17 Storage medium, information processing apparatus, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022012428A JP2023110778A (ja) 2022-01-28 2022-01-28 プログラム、情報処理装置および制御方法

Publications (1)

Publication Number Publication Date
JP2023110778A true JP2023110778A (ja) 2023-08-09

Family

ID=87432901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022012428A Pending JP2023110778A (ja) 2022-01-28 2022-01-28 プログラム、情報処理装置および制御方法

Country Status (2)

Country Link
US (1) US20230247165A1 (ja)
JP (1) JP2023110778A (ja)

Also Published As

Publication number Publication date
US20230247165A1 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
JP4630751B2 (ja) 印刷システム、印刷装置及びその制御方法、プログラム
JP6051722B2 (ja) プログラムおよび情報処理装置
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
US11768638B2 (en) Information processing apparatus configured to perform printing using a general-use printing program, non-transitory computer-readable recording medium and printing method therefor
US11843753B2 (en) Non-transitory computer-readable recording medium, information processing apparatus and printing method
JP7282567B2 (ja) 情報処理装置、およびプログラム
JP2024052771A (ja) 情報処理装置、制御方法およびプログラム
US20210240420A1 (en) Control method and information processing apparatus
US11288020B2 (en) Non-transitory computer-readable medium storing application program and method for controlling information processing device for printing by a plurality of printers
JP2023110778A (ja) プログラム、情報処理装置および制御方法
US11733937B2 (en) Support program, information processing device, and printing method
US11875074B2 (en) Computer-readable storage medium and method for displaying information about whether print settings are configurable
JP2024018592A (ja) 情報処理装置、方法およびプログラム
JP2024016351A (ja) 情報処理装置、プログラム
JP7362384B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2023034953A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2023116259A (ja) プログラム、情報処理装置および制御方法
CN115809030A (zh) 信息处理设备、信息处理设备的控制方法和存储介质
JP2023125749A (ja) プログラム、情報処理装置および制御方法
JP2024016353A (ja) 情報処理装置、プログラム
JP2024058153A (ja) 情報処理装置、制御方法およびプログラム
JP2024016352A (ja) 情報処理装置、プログラム
JP2023094963A (ja) プログラムおよび情報処理装置
JP2020119263A (ja) 情報処理装置、その制御方法、及びプログラム
JP2008282330A (ja) 画像形成装置、情報処理装置印刷刷設定更新方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213