JP6639570B2 - Application program - Google Patents

Application program Download PDF

Info

Publication number
JP6639570B2
JP6639570B2 JP2018117800A JP2018117800A JP6639570B2 JP 6639570 B2 JP6639570 B2 JP 6639570B2 JP 2018117800 A JP2018117800 A JP 2018117800A JP 2018117800 A JP2018117800 A JP 2018117800A JP 6639570 B2 JP6639570 B2 JP 6639570B2
Authority
JP
Japan
Prior art keywords
print setting
printer driver
setting screen
conflict
screen
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.)
Active
Application number
JP2018117800A
Other languages
Japanese (ja)
Other versions
JP2018185826A (en
Inventor
弘和 三枝
弘和 三枝
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 JP2018117800A priority Critical patent/JP6639570B2/en
Publication of JP2018185826A publication Critical patent/JP2018185826A/en
Application granted granted Critical
Publication of JP6639570B2 publication Critical patent/JP6639570B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、タッチパネル用印刷設定ユーザーインターフェース(UI)の情報処理方法及びプログラムに関する。   The present invention relates to an information processing method and a program for a touch panel print setting user interface (UI).

従来のプリンタードライバーには、印刷不可能な設定の組み合わせをプリンタードライバーUI上で設定できないようにするコンフリクト処理が存在する。このプリンタードライバーUI上でのコンフリクト処理は、ユーザーが任意の一つの設定項目を変えるたびに、設定可能かどうかを確認し、設定不可能ならばユーザーにその旨を通知する及び、他の設定項目を変更、無効な設定を選択不可能にすることを行っており、ユーザーは設定不可能な項目を一目瞭然に把握することができた(特許文献1参照)。   A conventional printer driver has a conflict process that prevents a combination of unprintable settings from being set on the printer driver UI. This conflict processing on the printer driver UI is performed every time the user changes any one of the setting items, confirms whether the setting is possible, and if the setting is not possible, notifies the user to that effect. Is changed, and invalid settings are made unselectable, so that the user can grasp at a glance the items that cannot be set (see Patent Document 1).

しかし、近年のプリンタードライバーの中には、コンフリクト処理を行うためのルールのみを持ち、コンフリクト処理をOS(オペレーティングシステム)が行うものが出てきている(非特許文献1参照)。   However, some printer drivers in recent years have only rules for performing conflict processing, and the OS (operating system) performs the conflict processing (see Non-Patent Document 1).

このOSのコンフリクト処理は、二つのタイミングでコンフリクト処理を行うパターンが存在する。一つは、ユーザーが設定項目を変更するたびに、プリンタードライバーUIが、OSのコンフリクト処理を呼び出し、確認を行うこと。もう一つは、全ての印刷設定の変更が終了後に、一括してOSがコンフリクト処理を呼び出し、確認を行うことである。しかし、OSの二つのコンフリクト処理には、それぞれ問題がある。前者のユーザーが設定項目を変更するたびにOSのコンフリクト処理をドライバUIが呼び出し、確認を行う場合、OSのコンフリクト処理の実行速度が遅く、ユーザビリティが非常に低下してしまう。後者は、ユーザーが、一括でコンフリクト処理を行うので、どのように変更されたかを認識しづらい問題がある。これらの問題を解決するために、プリンタードライバーUIが独自に禁則ルールを持ち、そのルールに沿って独自にコンフリクト処理をかけるのが一般的である(非特許文献2参照)。   In the conflict processing of the OS, there is a pattern for performing the conflict processing at two timings. First, every time a user changes a setting item, the printer driver UI calls a conflict process of the OS and confirms it. The other is that the OS calls the conflict processing collectively after all the print setting changes are completed and confirms them. However, each of the two conflict processes of the OS has a problem. When the driver UI calls and confirms the conflict processing of the OS every time the former user changes the setting item, the execution speed of the conflict processing of the OS is slow, and the usability is greatly reduced. The latter has a problem in that it is difficult for the user to recognize how the change has been made because the user performs the conflict processing collectively. To solve these problems, it is common for the printer driver UI to have its own prohibition rules and to apply conflict processing independently in accordance with the rules (see Non-Patent Document 2).

特開2003−99170号公報JP-A-2003-99170

http://msdn.microsoft.com/en−us/library/windows/hardware/ff562063(v=vs.85).aspxhttp: // msdn. Microsoft. com / en-us / library / windows / hardware / ff562603 (v = vs.85). aspx http://msdn.microsoft.com/en−us/library/windows/hardware/jj218731(v=vs.85).aspxhttp: // msdn. Microsoft. com / en-us / library / windows / hardware / jj218731 (v = vs.85). aspx

しかしながら、前述の方法だと、OSで行われるコンフリクト処理のためのルールと、プリンタードライバーが独自に行うリアルタイムコンフリクト処理のためのルールを二重で保守する必要があり、コンフリクトルールを保守するための工数が上昇する問題が存在する。   However, according to the above-described method, it is necessary to maintain a rule for conflict processing performed by the OS and a rule for real-time conflict processing performed independently by the printer driver. There is a problem that the man-hour increases.

本発明に係るアプリケーションプログラムは、オペレーティングシステムを有するコンピュータに、表示制御工程と設定変更工程と、を実行させるためのアプリケーションプログラムであって、前記表示制御工程では、前記アプリケーションプログラムとは異なるプログラムによって提供される第1の印刷設定画面を介して所定のユーザ操作を受け付けた場合であって、前記オペレーティングシステムによって特定された出力先のプリンターに対応するプリンタードライバーが第1のプリンタードライバーである場合に第2の印刷設定画面を表示し、前記アプリケーションプログラムとは異なるプログラムによって提供される前記第1の印刷設定画面で前記所定のユーザ操作を受け付けた場合であって、前記オペレーティングシステムによって特定された前記プリンタードライバーが第2のプリンタードライバーである場合に、前記第2の印刷設定画面とは異なる第3の印刷設定画面を表示するよう制御し、前記設定変更工程では、前記第2の印刷設定画面又は第3の印刷設定画面を介して印刷設定が変更されることに従って、前記特定されたプリンタードライバーを用いて印刷を行う際に使用する印刷設定を変更するよう制御し、特定された前記プリンタードライバーが前記第1のプリンタードライバーである場合に、前記第2の印刷設定画面を介して印刷設定が変更される度に、組み合わせられない印刷設定値を解消する禁則処理を行う処理工程を更に前記コンピュータに実行させ、前記処理工程によって組み合わせられない印刷設定値が解消されたことに従って、禁則解消処理が行われたことを少なくとも示すポップアップ画面を表示する第2の表示制御工程を、更に前記コンピュータに実行させ、前記第1のプリンタードライバーと前記第2のプリンタードライバーは印刷データの出力先のプリンターが互いに共通していることを特徴とする。 An application program according to the present invention is an application program for causing a computer having an operating system to execute a display control step and a setting change step, and provided in the display control step by a program different from the application program. When a predetermined user operation is received via the first print setting screen, and the printer driver corresponding to the output destination printer specified by the operating system is the first printer driver, 2 is displayed, and the predetermined user operation is received on the first print setting screen provided by a program different from the application program. When the specified printer driver is the second printer driver, control is performed so as to display a third print setting screen different from the second print setting screen, and in the setting change step, the second print setting screen is displayed. As the print setting is changed via the print setting screen or the third print setting screen, control is performed to change the print setting used when printing is performed using the specified printer driver, and the specified print setting is controlled. When the printer driver is the first printer driver, each time a print setting is changed via the second print setting screen, a processing step of performing prohibition processing for eliminating print setting values that cannot be combined is included. Further, the computer is caused to execute the print setting values which are not combined by the processing steps. The computer further causes the computer to execute a second display control step of displaying a pop-up screen indicating at least that the printing has been performed, and the first printer driver and the second printer driver determine whether It is characterized by being common to each other.

本発明によれば、独自コンフリクト処理とOSのコンフリクト処理が、同じルールを利用することで、OSのコンフリクト処理のためのルールと、独自コンフリクト処理のルールの保守を一括で行うことができ、開発工数を減らすことができる。   According to the present invention, the original conflict processing and the OS conflict processing use the same rule, so that the rule for the OS conflict processing and the maintenance of the original conflict processing rule can be performed collectively. Man-hours can be reduced.

本発明の一実施形態としての、クライアントとサーバー、そしてプリンターが接続されたネットワークの構成図FIG. 1 is a configuration diagram of a network to which a client, a server, and a printer are connected according to an embodiment of the present invention. 本発明の一実施形態としてのコンピュータを含むシステムの構成図Configuration diagram of a system including a computer as one embodiment of the present invention 本発明の一実施形態としてのソフトウェアブロック図Software block diagram as one embodiment of the present invention 本発明の一実施形態としての印刷フローチャートPrinting flowchart as one embodiment of the present invention 本発明の実施形態に係る印刷処理システムのストアアプリからの印刷時に表示される印刷設定画面の一例An example of a print setting screen displayed when printing from the store application of the print processing system according to the embodiment of the present invention 本発明の一実施形態としてのデバイスアプリの詳細設定画面の一例An example of a detailed setting screen of a device application according to an embodiment of the present invention 本発明の一実施形態としてのデバイスアプリのコンフリクトポップアップ画面の一例An example of a device application conflict pop-up screen as one embodiment of the present invention 本発明の一実施形態としてのデバイスアプリの呼び出し処理のフローチャートFlowchart of a process of calling a device application according to an embodiment of the present invention 本発明の一実施形態としての禁則処理モジュールの呼び出し処理のフローチャートFlowchart of calling processing of a prohibition processing module as one embodiment of the present invention UI上でコンフリクト処理をかけた際には、禁則処理モジュール(320)呼び出し処理(ステップS809)をスキップする処理のフローチャートFlowchart of a process for skipping the prohibition process module (320) calling process (step S809) when a conflict process is performed on the UI 本発明の一実施形態としてのノンコンフリクト画面の一例An example of a non-conflict screen as one embodiment of the present invention 本発明の一実施形態としてのノンコンフリクト画面を表示する際の印刷のフローチャートFlowchart of printing when displaying a non-conflict screen as one embodiment of the present invention 本発明の一実施形態としてのノンコンフリクト画面を表示するフローチャートFlowchart for displaying a non-conflict screen as one embodiment of the present invention 本発明の一実施形態としてのグラフィクスフィルターの処理のフローチャートFlowchart of processing of a graphics filter as one embodiment of the present invention 本発明の一実施形態としてのグラフィクスフィルターからデバイスアプリの禁則処理モジュールを利用するフローチャートA flowchart for using a device application prohibition processing module from a graphics filter as an embodiment of the present invention 本発明の一実施形態としてのGPDファイルの禁則ルールの一例Example of GPD file prohibition rule as one embodiment of the present invention 本発明の一実施形態としてのGPDファイルの用紙サイズの設定項目情報の一例Example of setting item information of paper size of GPD file as one embodiment of the present invention 本発明の一実施形態としてのGPDファイルの両面印刷の設定項目情報の一例Example of setting item information for double-sided printing of GPD file as one embodiment of the present invention

本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。   A computer as an embodiment of the information processing device according to the present invention will be described.

図1は、本発明の印刷システムが適用可能な装置構成例を示す図である。本印刷システムは、PC(10)、プリンター(20)とから構成される。PC(10)とプリンター(20)はLAN(1)を介して接続されている。LAN(1)はイーサーネットの通信方式に対応している。PC(10)とプリンター(20)は有線LAN、無線LAN、BlueTooth(登録商標)、USBなどその他の接続形態によって接続されても良い。本発明に係る情報処理装置の一実施形態としてのコンピュータについて説明する。なお、図2は、本実施形態のコンピュータを含むプリンター制御システムの構成を説明するブロック図である。   FIG. 1 is a diagram illustrating an example of an apparatus configuration to which a printing system according to the present invention can be applied. The printing system includes a PC (10) and a printer (20). The PC (10) and the printer (20) are connected via the LAN (1). LAN (1) corresponds to the Ethernet communication system. The PC (10) and the printer (20) may be connected by other connection forms such as a wired LAN, a wireless LAN, BlueTooth (registered trademark), and USB. A computer as an embodiment of the information processing device according to the present invention will be described. FIG. 2 is a block diagram illustrating a configuration of a printer control system including the computer according to the present embodiment.

PC(10)はホストコンピュータで、ROM(102)のプログラム用ROMあるいは外部メモリ(109)に記憶された各種プログラムを実行するCPU(101)を備える。さらに、システムバス(120)に接続される各デバイスをCPU(101)が総括的に制御する。また、このROM(102)あるいは外部メモリ(109)には、CPU(101)の制御プログラムであるOS等を記憶する。なお、本実施例ではOSはWindows(登録商標)とするが、他のOSであってもよい。   The PC (10) is a host computer and includes a CPU (101) for executing various programs stored in a program ROM of a ROM (102) or an external memory (109). Further, each device connected to the system bus (120) is generally controlled by the CPU (101). The ROM (102) or the external memory (109) stores an OS or the like which is a control program of the CPU (101). In this embodiment, the OS is Windows (registered trademark), but another OS may be used.

103はRAMで、CPU(101)の主メモリ、ワークエリア等として機能する。104はキーボードI/Fで、キーボード(105)やマウス・タッチパネルなどのポインティングデバイス(113)からのキー入力を制御する。106はディプレイI/Fで、ディスプレイ(107)の表示を制御する。   A RAM 103 functions as a main memory, a work area, and the like for the CPU (101). A keyboard I / F 104 controls a key input from a keyboard (105) or a pointing device (113) such as a mouse / touch panel. Reference numeral 106 denotes a display I / F, which controls display on a display (107).

108は外部メモリI/Fで、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ(109)とのアクセスを制御する。外部メモリ(109)は、本発明の重要な位置を占めるアプリケーション(10901)、デバイスアプリ(10902)、プリンタードライバー(10903)、OS(10904)等の各種プログラムが格納される。本実施例においてはMicrosoft Windowsであることを想定しているが、これに限定されるものではない。   An external memory I / F 108 controls access to an external memory (109) such as a hard disk (HD) or a floppy (registered trademark) disk (FD). The external memory (109) stores various programs such as an application (10901), a device application (10902), a printer driver (10903), and an OS (10904) which occupy important positions in the present invention. In this embodiment, Microsoft Windows is assumed, but the present invention is not limited to this.

110はプリンターI/Fで、プリンター(111)との接続を行う。112はポインティングデバイスI/Fで、タッチパネルなどを含むポインティングデバイス(113)と接続する。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであってもよい。   A printer I / F 110 connects to a printer (111). A pointing device I / F 112 is connected to a pointing device (113) including a touch panel and the like. Unless otherwise specified, it goes without saying that the present invention can be applied regardless of the configuration of the device as long as the functions of the present invention are executed. It may be a single device, a system including a plurality of devices, or a system in which connections are made and processing is performed via a network such as a LAN or WAN.

図3に本発明が対象とするソフトウェアモジュールの一例をブロック図で示す。ブロック図の基本構成は、アプリケーション(10901)、印刷システム(109041)、プリンタードライバー(10903)、システムスプーラー(109042)、デバイスアプリ(10902)で構成されている。これらのソフトウェアモジュールは、外部メモリ(109)に格納されており、ユーザーの要求や、他のシステムの要求に応じて、外部メモリ(109)からRAM(103)にロードされ、CPU(101)で実行される。ここにおけるアプリケーション(10901)とは、ワードプロセッサやブラウザなどの一般的なアプリケーションである。   FIG. 3 is a block diagram showing an example of a software module to which the present invention is applied. The basic configuration of the block diagram includes an application (10901), a printing system (109041), a printer driver (10903), a system spooler (109042), and a device application (10902). These software modules are stored in the external memory (109), and are loaded from the external memory (109) to the RAM (103) in response to a user's request or a request from another system, and are loaded into the CPU (101). Be executed. The application (10901) here is a general application such as a word processor or a browser.

ディスプレイ(107)上にUIを表示し、ポインティングデバイス(113)やキーボード(105)などの入力機器によってユーザーの印刷要求を受け付ける。ユーザーの印刷要求を受けて、アプリケーション(10901)は、印刷システム(109041)へ印刷要求を出す。印刷システム(109041)は、OS(10904)のサブシステムである。   A UI is displayed on the display (107), and a print request from the user is received by an input device such as a pointing device (113) or a keyboard (105). Upon receiving the user's print request, the application (10901) issues a print request to the print system (109041). The printing system (109041) is a subsystem of the OS (10904).

アプリケーション(10901)とプリンタードライバー(10903)の中間に位置し、印刷処理における共通処理の実行を行う。具体的な実行処理は、印刷対象プリンターの選択や、選択されたプリンタードライバー(10903)のPrintTicket(311)、PrintCapabilities(310)の生成、PrintTicket(311)のコンフリクト処理、XPS(XML Paper Specification)ファイルをPage Description Language(PDL)へ変換することである。PrintCapabilities(310)は、用紙サイズなどを含むプリンター(20)で実行可能な項目の一覧のデータである。   It is located between the application (10901) and the printer driver (10903), and executes common processing in print processing. Specific execution processing includes selection of a printer to be printed, generation of PrintTicket (311) and PrintCapabilities (310) of the selected printer driver (10903), conflict processing of PrintTicket (311), and XPS (XML Paper Specification) file. Is converted into Page Description Language (PDL). PrintCapabilities (310) is data of a list of items that can be executed by the printer (20), including the paper size.

一方、PrintTicket(311)は、印刷時に利用される印刷設定の情報であり、印刷及びコンフリクト処理時などに利用される。PrintCappaiblities(310)とPrintTicket(311)は、アプリケーション(10901)から印刷システム(109041)経由でプリンタードライバー(10903)に生成の依頼がされる。   On the other hand, PrintTicket (311) is print setting information used at the time of printing, and is used at the time of printing and conflict processing. PrintCapabilities (310) and PrintTicket (311) are requested to be generated from the application (10901) to the printer driver (10903) via the printing system (109041).

PrintCappaiblities(310)とPrintTicket(311)の生成を依頼されたプリンタードライバー(10903)がそれらを生成し、印刷システム(109041)経由でアプリケーション(10901)に渡すことで、アプリケーション(10901)は、選択されたプリンタードライバー(10903)関連の情報を利用することができる。   The printer driver (10903) requested to generate the PrintCapabilities (310) and the PrintTicket (311) generates them and passes them to the application (10901) via the printing system (109041), so that the application (10901) is selected. Printer driver (10903) related information can be used.

XPSファイル(312)は、アプリケーション(10901)から渡される印刷対象のデータであり、アプリケーション(10901)によってPrintTicket(311)の情報が付加されている。アプリケーション(10901)から印刷システム(109041)経由で、プリンタードライバー(10903)に渡され、PDL(314)に変換することで、プリンター(20)が印刷を行うことができる。   The XPS file (312) is data to be printed passed from the application (10901), and information of the PrintTicket (311) is added by the application (10901). The printer (20) can perform printing by being passed from the application (10901) to the printer driver (10903) via the printing system (109041) and converting it into the PDL (314).

なお、PrintCapabilities(310)とPrintTicket(311)、XPSファイル(312)は、それぞれマークアップ言語で記述されている。   Note that PrintCapabilities (310), PrintTicket (311), and XPS file (312) are each described in a markup language.

プリンタードライバー(10903)は、印刷出力先のプリンター(20)に依存する処理を受け持つモジュールであり、大きくわけて2つのブロックで構成されている。   The printer driver (10903) is a module that performs processing depending on the printer (20) that is the print output destination, and is roughly composed of two blocks.

ひとつは、印刷設定関連の情報を作成する印刷設定ブロック(109030)であり、PrintTicket(311)のコンフリクト処理とPrintCappaiblities(310)の作成を行う。印刷設定ブロック(109030)は、禁則処理モジュール(320)、GPDファイル(321)、ConstraintJavascript(322)から構成される。禁則処理モジュール(320)は、PrintTicket(311)のコンフリクト処理やPrintCappaiblities(310)の作成を担う。GPDファイル(321)は、禁則ルールや印刷時に設定できる項目等を記述してあるデータである。GPDファイル(321)は、詳細な説明は図16を用いて後述する。ConstraintJavascript(322)は、GPDファイル(321)に記述できない設定や禁則ルールをPrintTicket(311)やPrintCapabilities(310)に反映させるために呼ばれる。ただし、セキュリティ面を考慮されてインタープリンタ言語であるjavascriptで記述されたモジュールであり、ネイティブ言語と異なり、事前に最適化が行われていないため、実行時に非常に時間がかかる。禁則処理モジュール(320)がコンフリクト処理をする際に、呼び出し元からPrintTicket(311)を受け取り、次にGPDファイル(321)に記述されている禁則ルールの情報を読み出す。禁則処理モジュール(320)は、GPDファイルの情報を基にPrintTicket(311)のコンフリクト処理を行い、その後にConstraintJavascriptを呼び出し、GPDファイルに記述できない禁則ルールをPrintTicket(311)に適応する。これらの一連の処理により、コンフリクト処理が行われる。   One is a print setting block (109030) that creates print setting-related information, and performs conflict processing of PrintTicket (311) and creation of PrintCapabilities (310). The print setting block (109030) includes a prohibition processing module (320), a GPD file (321), and Constraint Javascript (322). The prohibition processing module (320) is responsible for conflict processing of the PrintTicket (311) and creation of the PrintCapabilities (310). The GPD file (321) is data in which prohibition rules, items that can be set at the time of printing, and the like are described. The GPD file (321) will be described later in detail with reference to FIG. Constraint Javascript (322) is called in order to reflect settings and prohibition rules that cannot be described in the GPD file (321) in PrintTicket (311) and PrintCapabilities (310). However, in consideration of security, the module is written in the JavaScript language, which is an interprinter language. Unlike a native language, the module is not optimized in advance, so it takes a very long time to execute. When performing the conflict processing, the prohibition processing module (320) receives the PrintTicket (311) from the caller, and then reads information on the prohibition rules described in the GPD file (321). The prohibition processing module (320) performs the conflict processing of the PrintTicket (311) based on the information of the GPD file, then calls Constraint Javascript, and adapts the prohibition rules that cannot be described in the GPD file to the PrintTicket (311). A conflict process is performed by a series of these processes.

次に、プリンタードライバー(10903)を構成するもう一つのブロックの、グラフィクスフィルター(10931)について説明する。グラフィクスフィルター(10931)は、XPSファイル(312)をPDL(314)に変換する部分である。XPSファイル(312)に付加されているPrintTicket(311)の情報を抽出し、その情報からPrintTicket(311)を生成する。グラフィクスフィルター(109031)は、PrintTicket(311)を基に、XPSファイル(312)をPDL(314)に変換する。次にデバイスアプリ(10902)の説明を行う。デバイスアプリ(10902)は、プリンタードライバー(10903)の補助アプリである。プリンタードライバー(10903)と同様にプリンター(20)に対応したソフトウェアで、PrintCapabilities(310)とPrintTicket(311)を解釈できる。デバイスアプリ(10902)は、詳細設定画面、デバイスメタデータ(330)、禁則処理モジュール(307)で構成される。デバイスメタデータ(330)は、プリンタードライバー(10903)とデバイスアプリ(10902)を関連付けるものである。デバイスアプリ(10902)が補助することができるプリンタードライバー(10903)が記述されており、デバイスアプリ(10902)は、デバイスメタデータ(330)に記述されているプリンタードライバー(10903)の補助を、デバイスアプリ(10902)で行うことができる。   Next, the graphics filter (10931) of another block constituting the printer driver (10903) will be described. The graphics filter (10931) is a part that converts the XPS file (312) into the PDL (314). The information of the PrintTicket (311) added to the XPS file (312) is extracted, and the PrintTicket (311) is generated from the information. The graphics filter (109031) converts the XPS file (312) into a PDL (314) based on the PrintTicket (311). Next, the device application (10902) will be described. The device application (10902) is an auxiliary application for the printer driver (10903). Similarly to the printer driver (10903), PrintCapabilities (310) and PrintTicket (311) can be interpreted by software corresponding to the printer (20). The device application (10902) includes a detailed setting screen, device metadata (330), and a prohibition processing module (307). The device metadata (330) associates the printer driver (10903) with the device application (10902). A printer driver (10903) that can be assisted by the device application (10902) is described. The device application (10902) assists the printer driver (10903) described in the device metadata (330) with the device. This can be performed by the application (10902).

なお、デバイスアプリ(10902)は、一つで複数の種類のプリンタードライバー(10903)を補助することが可能である。   The device application (10902) can assist a plurality of types of printer drivers (10903).

禁則処理モジュール(307)は、プリンタードライバー(10903)内の禁則処理モジュール(320)と同様の処理を行えるモジュールである。ここで、同様というのは、PrintTicket(311)とGPDファイルをインプットとし、コンフリクト処理を施したPrintTicket(311)をアウトプットとしたときに、プリンタードライバー(10903)の禁則処理モジュール(307)とデバイスアプリ(10902)内の禁則処理モジュール(320)は、同じインプットから同じアウトプットを出力することを意味する。禁則処理モジュール(307)は、呼び出し元からPrintTicket(311)を渡され、次に、ドライバプロパティバッグ(331)内のGPDファイル(315)内の禁則ルールを読み込み、その情報を基にPrintTicket(311)にコンフリクト処理を行い、アウトプットとしてPrintTicket(311)を出力する。   The prohibition processing module (307) is a module that can perform the same processing as the prohibition processing module (320) in the printer driver (10903). Here, the same applies to the case where the PrintTicket (311) and the GPD file are input and the PrintTicket (311) subjected to the conflict processing is output, and the prohibition processing module (307) of the printer driver (10903) and the device are output. The prohibition processing module (320) in the application (10902) means outputting the same output from the same input. The prohibition processing module (307) is passed the PrintTicket (311) from the caller, then reads the prohibition rules in the GPD file (315) in the driver property bag (331), and prints the PrintTicket (311) based on the information. ), And outputs a PrintTicket (311) as an output.

GPDファイル(315)はインストール時点で、ドライバプロパティバッグ(331)に配置されており、内容はGPDファイル(321)と同じものである。これは、デバイスアプリ(10902)が、GPDファイル(321)にアクセスできないため、アクセス可能な場所にGPDファイル(315)を置き、コンフリクト処理時にインプットとして利用するためである。ドライバプロパティバッグ(331)は、インストール前に定義しておきたいデータを記憶しておくことができる記憶領域であり、プリンタードライバー(10903)やデバイスアプリ(10902)からアクセスすることができる。   The GPD file (315) is placed in the driver property bag (331) at the time of installation, and has the same contents as the GPD file (321). This is because the device application (10902) cannot access the GPD file (321) and thus places the GPD file (315) in an accessible location and uses it as an input during conflict processing. The driver property bag (331) is a storage area in which data to be defined before installation can be stored, and can be accessed from the printer driver (10903) or the device application (10902).

次に、印刷設定ブロック(109030)内のGPDファイル(321)とドライバプロパティバッグ内のGPDファイル(315)について図16(a)、図16(b)、図16(c)を用いて説明する。GPDファイルは、コンフリクト処理の不適切な組み合わせ、用紙サイズなどの選択項目の選択肢のデータ等から構成されている。   Next, the GPD file (321) in the print setting block (109030) and the GPD file (315) in the driver property bag will be described with reference to FIGS. 16 (a), 16 (b) and 16 (c). . The GPD file is composed of data on choices of selection items such as an inappropriate combination of conflict processing and paper size.

1700は、コンフリクト処理を行う組み合わせの例である。コンフリクト処理の禁則ルールは、無効な設定の組み合わせを記述するようになっている。この図では、用紙サイズの「はがき」と両面印刷の「長辺両面」の組み合わせになっており、それぞれMedeaType.PostCard,DUPLEX.VERTICALで表現されている。1701は、用紙サイズの選択項目の設定が記述されていることを表しており、同様に、1702は、両面印刷の設定が記述されていることを表している。1703は、設定項目の選択肢であり、本図では用紙サイズの「はがき」の詳細なデータに関して記述してある例である。1704は、用紙サイズの禁則処理の優先度であり、値が低い設定項目ほど優先されることを表す。例えば、本図では用紙サイズは禁則処理の優先度は1であり、1705は両面印刷の優先度は15であることを示している。従って、1700のコンフリクト処理を行う際には、用紙サイズである「はがき」は変更されずに両面印刷の設定が変更される。   Reference numeral 1700 denotes an example of a combination for performing a conflict process. The conflict processing prohibition rule describes an invalid combination of settings. In this figure, the combination of the paper size “postcard” and the two-sided printing “long side both sides” is a combination of the MediaType. PostCard, DUPLEX. Expressed in VERTICAL. Reference numeral 1701 denotes that the setting of the paper size selection item is described, and similarly, reference numeral 1702 denotes that the setting of double-sided printing is described. Reference numeral 1703 denotes an option of a setting item, and is an example in which detailed data of “postcard” of the paper size is described in FIG. Reference numeral 1704 denotes the priority of the paper size prohibition process, and indicates that a setting item having a lower value has a higher priority. For example, in this drawing, the priority of the paper size is 1 in the prohibition processing, and 1705 indicates that the priority of the duplex printing is 15. Therefore, when the conflict processing of 1700 is performed, the setting of double-sided printing is changed without changing the postcard, which is the paper size.

ここで、図4のフローチャートを用いて、印刷処理の概要を説明する。本処理は、まずユーザーの印刷要求を受けてアプリケーション(10901)が印刷システム(109041)へ印刷要求を出すことにより開始する。ステップS401では印刷システム(109041)が現在設置されているプリンタードライバー(10903)の情報を基に、印刷可能なプリンター(20)の一覧を示すUI(不図示)をディスプレイ(107)上に表示する。ステップS402ではプリンター(20)の一覧を示すUI上でユーザーによる出力プリンター(20)の選択を受けて、印刷システム(109041)は、該当のプリンタードライバー(10903)を外部メモリ(108)からRAM(103)にロードする、CPU(101)で実行する。ステップS403では、印刷システム(109041)経由で、プリンタードライバー(10903)にPrintCapabilities(310)とPrintTicket(311)の生成を依頼する。印刷設定ブロック(109030)の禁則処理モジュール(320)はそれぞれ、GPDファイル(321)を読み出し、PrintCapabilities(310)とPrintTicket(311)を生成する。生成されたPrintCapabilities(310)とPrintTicket(311)を基に印刷システム(109041)は、図5の印刷設定画面(501)を構成し、ディスプレイ(107)に表示する。   Here, the outline of the printing process will be described with reference to the flowchart of FIG. This processing starts when the application (10901) issues a print request to the printing system (109041) in response to a print request from the user. In step S401, the printing system (109041) displays a UI (not shown) showing a list of printable printers (20) on the display (107) based on information of the currently installed printer driver (10903). . In step S402, in response to the user's selection of the output printer (20) on the UI showing the list of printers (20), the printing system (109041) transfers the corresponding printer driver (10903) from the external memory (108) to the RAM (108). 103), which is executed by the CPU (101). In step S403, a request is made to the printer driver (10903) to generate PrintCapabilities (310) and PrintTicket (311) via the printing system (109041). The prohibition processing module (320) of the print setting block (109030) reads out the GPD file (321) and generates PrintCapabilities (310) and PrintTicket (311). Based on the generated PrintCapabilities (310) and PrintTicket (311), the printing system (109041) configures the print setting screen (501) in FIG. 5 and displays it on the display (107).

次にステップS404では、印刷設定画面(501)に対するユーザーからの操作を受け付ける。ステップS405では印刷システム(109041)が印刷設定画面(501)の「More Settings」リンク(502)が押下されたかの判定を行う。「More Settings」リンク(502)が押下されたと判断した場合、ステップS406にて、印刷システム(109041)がデバイスアプリ(10902)を呼び出す。この時の、ステップS406の処理に関しては後述する。「More Settings」リンク(502)が押下されていないと判断した場合はステップS407へ進む。   Next, in step S404, an operation from the user on the print setting screen (501) is accepted. In step S405, the printing system (109041) determines whether the "More Settings" link (502) on the print setting screen (501) has been pressed. If it is determined that the “More Settings” link (502) has been pressed, in step S406, the printing system (109041) calls the device application (10902). The processing in step S406 at this time will be described later. If it is determined that the “More Settings” link (502) has not been pressed, the process advances to step S407.

ステップS407では、印刷システム(109041)は印刷設定画面(501)の戻るボタン(503)の押下を受けてプリンタードライバー(10903)へ現在のPrintTicket(311)を受け渡す。ステップS408では、禁則処理モジュール(320)を呼び出し、印刷設定が有効かどうかを確認する。ここは、本実施例の重要な個所のため、詳細は後述する。検証の結果を基に、ステップS409では、全ての設定値が有効か判断を行い、有効な場合は印刷設定画面(501)を閉じてステップS410に処理を移行する。全ての設定が有効でなかった場合は、ステップS404に移り、ユーザーの操作を受け付ける。ステップS410で、印刷システム(109041)は、有効になった現在の設定のPrintTicket(311)をXPSファイル(312)に付加し、ステップS411で、XPSファイル(312)をグラフィクスフィルター(109031)へ出力する。グラフィクスフィルター(109031)でPDL(314)に変換する。ステップS411は、グラフィクスフィルター(109031)の呼び出し処理である。詳細について図14を用いて後述する。ステップS411にて、OS(10904)のサブシステムであるシステムスプーラー(109042)に受け渡されプリンター(20)に送信される。以上の処理を行うことで、印刷処理が実行される。   In step S407, the printing system (109041) transfers the current PrintTicket (311) to the printer driver (10903) in response to the pressing of the return button (503) on the print setting screen (501). In step S408, the prohibition processing module (320) is called to check whether the print settings are valid. This is an important part of this embodiment, and will be described later in detail. In step S409, it is determined whether all the setting values are valid based on the verification result. If the setting values are valid, the print setting screen (501) is closed, and the process proceeds to step S410. If all the settings are not valid, the process moves to step S404, and the operation of the user is accepted. In step S410, the printing system (109041) adds the valid PrintTicket (311) of the current setting to the XPS file (312), and outputs the XPS file (312) to the graphics filter (109031) in step S411. I do. The data is converted into the PDL (314) by the graphics filter (109031). Step S411 is a process of calling the graphics filter (109031). Details will be described later with reference to FIG. In step S411, it is delivered to the system spooler (109042), which is a subsystem of the OS (10904), and transmitted to the printer (20). The printing process is executed by performing the above processes.

次に、グラフィクスフィルター(109031)の処理について、図14用いて説明する。ステップS1501では、グラフィクスフィルター(109031)が受け取ったXPSファイル(312)を解析し、PrintTicket(311)を取り出す。ステップS1502で禁則処理モジュール(320)を呼び出し、生成したPrintTicket(311)にコンフリクト処理を施す。ステップS1503へ処理を移行する。ステップS1503で、XPSファイル(312)からPDL(314)を生成し、処理を終了する。次に、詳細設定画面(600)について、図6を用いて説明する。詳細設定画面(600)は、印刷設定画面(501)では設定できない設定などを行うことを目的とした印刷設定画面である。この画面は、図5の「More Settings」リンク(502)が押下された際に表示される。図に示されている601は戻るボタンであり、ユーザーによってタップされることで印刷設定画面(501)に、印刷設定画面(501)に遷移する。602は、印刷設定の用紙サイズを設定する用紙サイズコントロールボックスであり、ユーザーがタップをすることで用紙サイズの一覧が表示され、選択したい用紙サイズで、タップしている指を離すことで、用紙サイズを変更することができる。   Next, the processing of the graphics filter (109031) will be described with reference to FIG. In step S1501, the graphics filter (109031) analyzes the received XPS file (312) and extracts the PrintTicket (311). In step S1502, the prohibition processing module (320) is called, and the generated PrintTicket (311) is subjected to conflict processing. The process moves to step S1503. In step S1503, a PDL (314) is generated from the XPS file (312), and the process ends. Next, the detailed setting screen (600) will be described with reference to FIG. The detailed setting screen (600) is a print setting screen for performing settings that cannot be set on the print setting screen (501). This screen is displayed when the “More Settings” link (502) in FIG. 5 is pressed. A return button 601 shown in the figure transits to a print setting screen (501) and a print setting screen (501) when the user taps the button. Reference numeral 602 denotes a paper size control box for setting the paper size in the print settings. A list of paper sizes is displayed when the user taps, and the paper size is controlled by releasing the tapping finger at the paper size to be selected. The size can be changed.

なお、本図では用紙サイズは「はがき」が設定されている。603は、片面、両面の印刷設定を行う片面両面選択コントロールボックスであり、ユーザーがタップすることで、片面、短辺両面、長辺両面の一覧が表示され、選択したい項目で指を離すことで、印刷設定を変更することができる。なお、本図では「片面」が選択されている。   In this drawing, “postcard” is set as the paper size. Reference numeral 603 denotes a single-sided double-sided selection control box for performing a single-sided or double-sided print setting. When the user taps, a list of one-sided, short-sided, and long-sided is displayed. , The print settings can be changed. In this drawing, “one side” is selected.

デバイスアプリ(10902)の呼び出し処理に関して図のフローチャートを用いて説明を行う。なお、特に断らない限り本実施例のフローチャートの主体はデバイスアプリ(10902)である。ステップS801では、印刷システム(109041)を介してプリンタードライバー(10903)から用紙サイズを含むPrintTicket(311)を取得する。ステップS802では、取得したPrintTicket(311)を基に、詳細設定画面(600)の表示を行う。   The calling process of the device application (10902) will be described with reference to the flowchart in FIG. Unless otherwise specified, the main part of the flowchart of this embodiment is the device application (10902). In step S801, a PrintTicket (311) including the paper size is acquired from the printer driver (10903) via the printing system (109041). In step S802, a detailed setting screen (600) is displayed based on the acquired PrintTicket (311).

ステップS803では、ユーザーからの操作を受け付ける。ユーザーによって戻るボタン(601)イベントが発生した場合は、ステップS804の戻るボタン(601)イベントの判別処理からからステップS810へ処理を移行する。ユーザー操作で、印刷設定が何も変更されなかった場合ステップS805の詳細設定画面(600)の印刷設定の変更の判別処理からステップS803へと処理を移行し、再度、ユーザー操作を受け付ける。ステップS805で詳細設定画面(600)の印刷設定の項目が変更された場合、ステップS806へ遷移し、UIの参照先となっているPrintTicket(311)の設定値を変更する。その後、ステップS807へ遷移し、禁則処理モジュール(307)を呼び出す。この内容は、本実施例の重要な位置を占めるため、後述する。   In step S803, an operation from the user is accepted. If a return button (601) event has occurred by the user, the process proceeds from the determination processing of the return button (601) event in step S804 to step S810. If no print setting has been changed by the user operation, the process proceeds from the print setting change determination processing of the detailed setting screen (600) in step S805 to step S803, and the user operation is accepted again. If the print setting item on the detailed setting screen (600) has been changed in step S805, the process advances to step S806 to change the setting value of the PrintTicket (311) referred to by the UI. After that, the processing makes a transition to Step S807, and calls the prohibition processing module (307). Since this content occupies an important position in the present embodiment, it will be described later.

ステップS808では、コンフリクト処理によりPrintTicket(311)の設定値が変更されたかどうかの確認を行う。コンフリクト処理が行われた場合、ステップS809に遷移し、ユーザーにコンフリクト時に通知する。コンフリクト通知に関しては、後述する。ステップS810は、戻るボタン(601)がタップされた際に遷移し、印刷設定画面(501)に遷移する前に、印刷システム(109041)に処理を渡し、印刷システム(109041)が禁則処理モジュール(320)呼び出し処理を行い、PrintTicket(311)にコンフリクト処理を行う。これにより、印刷設定画面(501)に戻るときには、PrintTicket(311)の設定値は、印刷可能な設定になっている。   In step S808, it is confirmed whether or not the setting value of PrintTicket (311) has been changed by the conflict process. If a conflict process has been performed, the process moves to step S809 to notify the user at the time of a conflict. The conflict notification will be described later. Step S810 is performed when the return button (601) is tapped, and before the screen transitions to the print setting screen (501), the processing is passed to the printing system (109041), and the printing system (109041) is controlled by the prohibition processing module (109041). 320) Perform a calling process and perform a conflict process on the PrintTicket (311). Thus, when returning to the print setting screen (501), the setting value of the PrintTicket (311) is a printable setting.

次に、コンフリクト時に、ユーザーに通知する手段について図7を用いて説明する。図の示す700は、コンフリクトポップアップ画面である。デバイスアプリ(10902)がコンフリクト処理を行った際に、コンフリクトが行われたことをユーザーに通知するために、表示される。次に具体的な一例を示す。片面両面選択コントロールボックス(603)に「両面長辺」を設定している時に、用紙サイズコントロールボックス(602)に「はがき」に設定すると、片面両面選択コントロールボックス(603)は「両面長辺」を「片面」に変更するコンフリクト処理を行う。これは、先述したとおり、GPDファイルに記述されている優先度に依存する。その際にコンフリクトポップアップ(700)にコンフリクト処理行われたことと、どの設定がコンフリクトなのかを表示することでユーザーに通知を行う。なお、本実施例ではポップアップを用いて説明しているが、他の通知手段であってもよい。また、コンフリクト処理による他のPrintTicket(311)の設定値の変更の時にも同様の処理が行われる。   Next, means for notifying the user at the time of a conflict will be described with reference to FIG. The illustrated reference numeral 700 is a conflict pop-up screen. When the device application (10902) has performed the conflict processing, it is displayed to notify the user that the conflict has been performed. Next, a specific example will be described. When "Postcard" is set in the paper size control box (602) while "Single-sided long side" is set in the single-sided double-sided selection control box (603), the single-sided double-sided selection control box (603) is set to "Duplex long side". Is changed to “single-sided”. This depends on the priority described in the GPD file, as described above. At this time, the user is notified by displaying that the conflict process has been performed on the conflict popup (700) and which setting is the conflict. Although the present embodiment is described using a pop-up, other notification means may be used. The same processing is performed when the setting value of another PrintTicket (311) is changed by the conflict processing.

次に、禁則処理モジュール(307)を呼び出す処理について図9を用いて説明する。ステップS1000で、禁則処理モジュール(307)は、PrintTicket(311)を呼び出し元から受け取る。ステップS1001では、禁則処理モジュール(307)は、ドライバプロパティバッグのGPDファイル(315)を読み込み、禁則ルールを把握する。ステップS1002では、PrintTicket(311)が有効であるかを判別し、無効ならばステップS1003へ処理を移行し、コンフリクト処理をかける。ステップS1004では、禁則処理モジュール(307)は、呼び出し元にコンフリクト処理を施したPrintTicket(311)を渡す。このように、禁則処理モジュール(307)は、GPDファイル(321)と同じ内容のファイルを利用しつつ、インタープリタ言語を呼び出さないため、保守性を担保しながら高速にコンフリクト処理を行うことができる。   Next, a process of calling the prohibition processing module (307) will be described with reference to FIG. In step S1000, the prohibition processing module (307) receives the PrintTicket (311) from the caller. In step S1001, the prohibition processing module (307) reads the GPD file (315) of the driver property bag and grasps the prohibition rules. In step S1002, it is determined whether the PrintTicket (311) is valid. If it is invalid, the process proceeds to step S1003, and a conflict process is performed. In step S1004, the prohibition processing module (307) passes the PrintTicket (311) subjected to the conflict processing to the caller. As described above, since the prohibition processing module (307) uses a file having the same contents as the GPD file (321) and does not call the interpreter language, the conflict processing module (307) can perform conflict processing at high speed while maintaining maintainability.

実施例1では、UI上でのリアルタイムコンフリクトをかけることの保守性について言及したが、UI上でのリアルタイムコンフリクトをかけると図8のステップS810の禁則処理モジュール呼び出し処理と、二重でコンフリクト処理をかけており、また、インタープリタ言語を利用する禁則処理モジュール(320)を利用するため、処理が遅くなる問題が存在する。しかし、ステップS810の処理を行わないと、ユーザーが詳細設定画面(600)の印刷設定を変更しなかった際に、一度もコンフリクト処理を行わないPrintTicket(311)が生成されてしまう。これは、PrintTicket(311)が有効な設定値であることを保証できない。   In the first embodiment, the maintainability of applying a real-time conflict on the UI is referred to. However, when a real-time conflict is applied on the UI, the prohibition processing module calling process in step S810 in FIG. In addition, since the prohibition processing module (320) using the interpreted language is used, there is a problem that the processing is slow. However, if the processing in step S810 is not performed, a PrintTicket (311) that does not perform any conflict processing will be generated when the user does not change the print settings on the detailed setting screen (600). This cannot guarantee that PrintTicket (311) is a valid setting value.

そこで、実施例2では、UI上でコンフリクト処理をかけた際には、禁則処理モジュール(320)呼び出し処理(ステップS809)をスキップし、UI上でコンフリクト処理をかけなかった際には、戻るボタン(601)イベント発生時に禁則処理モジュール(307)を呼び出す方法について図10を用いて説明する。なお、特に断らない限り本実施例のフローチャートの主体はデバイスアプリ(10902)である。ステップS1101からステップS1106までは、ステップS801からステップS806までと同じため、説明は省略する。   Therefore, in the second embodiment, when the conflict processing is performed on the UI, the calling processing (step S809) of the prohibition processing module (320) is skipped, and when the conflict processing is not performed on the UI, the return button is pressed. (601) A method of calling the prohibition processing module (307) when an event occurs will be described with reference to FIG. Unless otherwise specified, the main part of the flowchart of this embodiment is the device application (10902). Steps S1101 to S1106 are the same as steps S801 to S806, and a description thereof will be omitted.

ステップS1107では、ユーザーが一度でもPrintTicket(311)を変更していた場合、変更されたことを示すChangedフラグをたてる。Changedフラグはデバイスアプリ(10902)内で保持するフラグである。ステップS1108からステップS1110までは、ステップS807からステップS809までと同じため説明は省略する。   In step S1107, if the user has changed the PrintTicket (311) even once, a Changed flag indicating that the change has been made is set. The Changed flag is a flag held in the device application (10902). Steps S1108 to S1110 are the same as steps S807 to S809, and a description thereof will be omitted.

ステップS1109では、ユーザーが一度でもPrintTicket(311)を変更しているかどうかを判別する。Changedフラグが立っていない場合、ステップS1110へ遷移し、禁則処理モジュール(307)がコンフリクト処理を行う。これにより、インタープリタ言語を利用している禁則処理モジュール(320)を利用せずに、必ずコンフリクト処理を行うことができ、また重複するコンフリクト処理を行わないため、デバイスアプリ(10902)の呼び出し処理全体で、コンフリクト処理を高速化することができる。   In step S1109, it is determined whether the user has changed PrintTicket (311) even once. If the Changed flag is not set, the process proceeds to step S1110, and the prohibition processing module (307) performs a conflict process. As a result, the conflict processing can be always performed without using the prohibition processing module (320) using the interpreter language, and the conflict processing is not performed. Therefore, the entire call processing of the device application (10902) is performed. Thus, the speed of the conflict process can be increased.

実施例2では、UI上でコンフリクト処理をかけた際には、禁則処理モジュール呼び出し処理(S810)をスキップできる方法について説明したが、UI上でコンフリクト処理をかけたくても、かけられない状態が存在する。例えば、デバイスアプリ(10902)がサポートしているプリンタードライバー(10903)の中には、ドライバプロパティバッグ(331)にGPDファイル(315)を保持していないものが存在する。その場合、実施例1のようなUI上でのコンフリクト処理を行うことができない。   In the second embodiment, a method has been described in which when the conflict processing is performed on the UI, the prohibition processing module calling processing (S810) can be skipped. Exists. For example, some printer drivers (10903) supported by the device application (10902) do not hold the GPD file (315) in the driver property bag (331). In that case, the conflict processing on the UI as in the first embodiment cannot be performed.

そこで、本実施例では、GPDファイル(315)を保持していないプリンタードライバー(10903)には、UI上でコンフリクト処理をかけなくて済むUIを表示する手段について説明する。図11では、ノンコンフリクト画面について説明する。1200はノンコンフリクト画面であり、GPDファイル(315)が存在しなかった場合に表示される。1201は、戻るボタンであり、詳細設定画面(600)の戻るボタン(601)と同様、ユーザーにタップされることで印刷設定画面(501)に遷移するイベントを起動し、印刷設定画面(501)に遷移する。1202は、用紙サイズコントロールボックス(602)と同様の印刷時に利用される用紙のサイズを設定する用紙サイズコントロールボックスであり、ユーザーがタップをすることで用紙サイズを変更することができる。図12、図13は、ノンコンフリクト画面(1200)を表示するフローチャートである。なお、特に断らない限り、図12、図13の主語はデバイスアプリ(10902)である。   In this embodiment, a means for displaying a UI that does not need to be subjected to a conflict process on the UI to the printer driver (10903) that does not hold the GPD file (315) will be described. FIG. 11 illustrates a non-conflict screen. A non-conflict screen 1200 is displayed when the GPD file (315) does not exist. Reference numeral 1201 denotes a return button, which, like the return button (601) on the detailed setting screen (600), activates an event to be changed to the print setting screen (501) when the user taps the print setting screen (501). Transitions to. Reference numeral 1202 denotes a paper size control box for setting the size of paper used for printing in the same manner as the paper size control box (602), and the user can change the paper size by tapping. 12 and 13 are flowcharts for displaying the non-conflict screen (1200). Unless otherwise specified, the subject in FIGS. 12 and 13 is the device application (10902).

ステップS1301では、ドライバプロパティバッグ(331)にGPDファイル(315)が存在するかどうかを確認する。存在している場合は、禁則処理モジュール(307)を呼び出せることを意味するので、ステップS1303へ遷移し、詳細設定画面(600)を表示するための処理を行う。なおステップS1303からS1314までは、ステップS1101からS1112までと同じため、説明は省略する。GPDファイル(315)が存在しない場合、禁則処理モジュール(307)を呼び出せないことを意味するので、ステップS1302へ遷移し、ノンコンフリクト画面を表示するための処理フローを行う。   In step S1301, it is checked whether the GPD file (315) exists in the driver property bag (331). If it exists, it means that the prohibition processing module (307) can be called. Therefore, the processing transits to step S1303 to perform processing for displaying the detailed setting screen (600). Steps S1303 to S1314 are the same as steps S1101 to S1112, and a description thereof will be omitted. If the GPD file (315) does not exist, it means that the prohibition processing module (307) cannot be called, so the flow shifts to step S1302 to perform a processing flow for displaying a non-conflict screen.

次に、ノンコンフリクト画面を表示するための処理フローについて図13を用いて説明する。ステップS1401は、PrintTicket(311)を取得する。ステップS1402はノンコンフリクト画面(1200)にPrintTicket(311)の設定値を反映させ、表示を行う。ステップS1403では、ユーザー操作を受け付ける。   Next, a processing flow for displaying a non-conflict screen will be described with reference to FIG. A step S1401 acquires the PrintTicket (311). In step S1402, the setting value of the PrintTicket (311) is reflected on the non-conflict screen (1200) and display is performed. In step S1403, a user operation is accepted.

ステップS1404では、戻るボタン(1201)イベントの発生を確認する。ユーザーが戻るボタンをタップせずに、ステップS1404に遷移し、ノンコンフリクト画面(1200)の印刷設定が変更すると、ステップS1405で、PrintTicket(311)の設定値を変更し、ステップS1402で、コンフリクトの確認をせずノンコンフリクト画面(1200)にPrintTicket(311)を反映させて表示する。印刷設定が変更されなかった場合は、ステップS1403へ遷移し、ユーザー操作を再度受け付ける。ステップS1404では、戻るボタン(1201)を押されることにより、戻るボタンイベントが発生する。この際に、ステップS1407にあるように、ノンコンフリクト画面(1200)は、OS(10904)がコンフリクト処理を行い、PrintTicket(311)を印刷可能な設定にする。その後、印刷設定画面(501)に遷移する。これにより、GPDファイル(315)が存在する状況としない状況とで、最も高速かつ正確なコンフリクト処理を行うことができる。   In step S1404, occurrence of a return button (1201) event is confirmed. If the user transits to step S1404 without tapping the return button and changes the print setting of the non-conflict screen (1200), the print ticket (311) is changed in step S1405, and the conflict setting is changed in step S1402. The PrintTicket (311) is displayed on the non-conflict screen (1200) without confirmation. If the print settings have not been changed, the process moves to step S1403, and the user operation is accepted again. In step S1404, when the return button (1201) is pressed, a return button event occurs. At this time, as in step S1407, the OS (10904) performs a conflict process on the non-conflict screen (1200), and sets the PrintTicket (311) to a printable setting. After that, the screen transits to the print setting screen (501). Accordingly, the fastest and most accurate conflict processing can be performed in a situation where the GPD file (315) exists and in a situation where it does not exist.

実施例1では、UI上でのコンフリクトのパフォーマンスについて言及したが、同様の処理をグラフィクスフィルター(109031)で行うこともできる。実施例4では、グラフィクスフィルター(109031)からデバイスアプリ(10902)の禁則処理モジュール(307)を利用する手段について図15を用いて説明する。なお、特に断らない限り本実施例のフローチャートの主体はグラフィクスフィルター(109031)である。   In the first embodiment, the conflict performance on the UI has been described, but the same processing can be performed by the graphics filter (109031). Fourth Embodiment In a fourth embodiment, a unit that uses the prohibition processing module (307) of the device application (10902) from the graphics filter (109031) will be described with reference to FIG. Unless otherwise specified, the main part of the flowchart of this embodiment is the graphics filter (109031).

ステップS1601では、グラフィクスフィルター(109031)がXPSファイル(312)の解析を行い、PrintTicket(311)を取り出す。ステップS1602では、グラフィクスフィルター(109031)は、GPDファイル(315)が存在しているかを確認する。GPDファイル(315)が存在していた場合は、ステップS1603へ遷移し、デバイスアプリ(10902)の禁則処理モジュール(307)を呼び出す。GPDファイル(315)が存在していなかった場合、ステップS1604へ遷移し、プリンタードライバー(10903)の禁則処理モジュール(320)を呼び出す。その後、グラフィクスフィルター(109031)は、XPSファイル(312)からPDL(314)を生成する。これにより、グラフィクスフィルター(109031)は、GPDファイル(315)が存在する状況において、禁則処理モジュール(307)を呼び出し、高速にコンフリクト処理を行うことができる。   In step S1601, the graphics filter (109031) analyzes the XPS file (312) and takes out the PrintTicket (311). In step S1602, the graphics filter (109031) checks whether the GPD file (315) exists. If the GPD file (315) exists, the process transits to step S1603, and calls the prohibition processing module (307) of the device application (10902). If the GPD file (315) does not exist, the process transits to step S1604 to call the prohibition processing module (320) of the printer driver (10903). Thereafter, the graphics filter (109031) generates a PDL (314) from the XPS file (312). Thus, the graphics filter (109031) can call the prohibition processing module (307) and perform the conflict processing at high speed in the situation where the GPD file (315) exists.

1 LAN、10 PC、20 プリンター   1 LAN, 10 PC, 20 printer

Claims (5)

オペレーティングシステムを有するコンピュータに、表示制御工程と設定変更工程と、を実行させるためのアプリケーションプログラムであって、
前記表示制御工程では、前記アプリケーションプログラムとは異なるプログラムによって提供される第1の印刷設定画面を介して所定のユーザ操作を受け付けた場合であって、前記オペレーティングシステムによって特定された出力先のプリンターに対応するプリンタードライバーが第1のプリンタードライバーである場合に第2の印刷設定画面を表示し、
前記アプリケーションプログラムとは異なるプログラムによって提供される前記第1の印刷設定画面で前記所定のユーザ操作を受け付けた場合であって、前記オペレーティングシステムによって特定された前記プリンタードライバーが第2のプリンタードライバーである場合に、前記第2の印刷設定画面とは異なる第3の印刷設定画面を表示するよう制御し、
前記設定変更工程では、前記第2の印刷設定画面又は第3の印刷設定画面を介して印刷設定が変更されることに従って、前記特定されたプリンタードライバーを用いて印刷を行う際に使用する印刷設定を変更するよう制御し、
特定された前記プリンタードライバーが前記第1のプリンタードライバーである場合に、前記第2の印刷設定画面を介して印刷設定が変更される度に、組み合わせられない印刷設定値を解消する禁則処理を行う処理工程を更に前記コンピュータに実行させ、
前記処理工程によって組み合わせられない印刷設定値が解消されたことに従って、禁則解消処理が行われたことを少なくとも示すポップアップ画面を表示する第2の表示制御工程を、更に前記コンピュータに実行させ、
前記第1のプリンタードライバーと前記第2のプリンタードライバーは印刷データの出力先のプリンターが互いに共通していることを特徴とするアプリケーションプログラム。
A computer having an operating system, a display control step and a setting change step, an application program for executing,
In the display control step, when a predetermined user operation is received via a first print setting screen provided by a program different from the application program, the display control step is performed by the output destination printer specified by the operating system. Displaying a second print setting screen when the corresponding printer driver is the first printer driver;
In the case where the predetermined user operation is received on the first print setting screen provided by a program different from the application program, the printer driver specified by the operating system is a second printer driver In such a case, controlling to display a third print setting screen different from the second print setting screen,
In the setting change step, a print setting used when printing is performed using the specified printer driver in accordance with a change in the print setting via the second print setting screen or the third print setting screen. and control to change the,
When the specified printer driver is the first printer driver, every time a print setting is changed via the second print setting screen, a prohibition process for eliminating print setting values that cannot be combined is performed. Causing the computer to further execute processing steps;
The computer further executes a second display control step of displaying a pop-up screen at least indicating that the prohibition elimination processing has been performed, in accordance with the removal of the print setting values that cannot be combined by the processing step,
Wherein the first printer driver and the second printer driver application program characterized Rukoto printer output destination of the print data is not common to each other.
前記第2の印刷設定画面と前記第3の印刷設定画面では設定可能な印刷設定項目が異なることを特徴とする請求項1に記載のアプリケーションプログラム。   2. The application program according to claim 1, wherein print setting items that can be set are different between the second print setting screen and the third print setting screen. 前記所定のユーザ操作は、前記第1の印刷設定画面上に表示された詳細印刷設定を行うための表示アイテムを選択するユーザ操作であることを特徴とする請求項1又は2に記載のアプリケーションプログラム。   The application program according to claim 1, wherein the predetermined user operation is a user operation of selecting a display item for performing detailed print settings displayed on the first print setting screen. . 前記第2の印刷設定画面と前記第3の印刷設定画面は画面レイアウトが異なることを特徴とする請求項1乃至3のいずれか1項に記載のアプリケーションプログラム。   4. The application program according to claim 1, wherein a screen layout of the second print setting screen is different from a screen layout of the third print setting screen. 5. 前記第1のプリンタードライバーは記憶領域に禁則ルールが記述されたファイルが存在するプリンタードライバーであり、前記第2のプリンタードライバーは前記記憶領域に前記禁則ルールが記述された前記ファイルが存在しないプリンタードライバーであることを特徴とする請求項1乃至4のいずれか1項に記載のアプリケーションプログラム。   The first printer driver is a printer driver in which a file in which a prohibition rule is described exists in a storage area, and the second printer driver is a printer driver in which the file in which the prohibition rule is described does not exist in the storage area. The application program according to any one of claims 1 to 4, wherein
JP2018117800A 2018-06-21 2018-06-21 Application program Active JP6639570B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018117800A JP6639570B2 (en) 2018-06-21 2018-06-21 Application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018117800A JP6639570B2 (en) 2018-06-21 2018-06-21 Application program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014109629A Division JP6362423B2 (en) 2014-05-28 2014-05-28 Real-time conflict processing system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019185516A Division JP6701423B2 (en) 2019-10-08 2019-10-08 Applications and information processing devices

Publications (2)

Publication Number Publication Date
JP2018185826A JP2018185826A (en) 2018-11-22
JP6639570B2 true JP6639570B2 (en) 2020-02-05

Family

ID=64356104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018117800A Active JP6639570B2 (en) 2018-06-21 2018-06-21 Application program

Country Status (1)

Country Link
JP (1) JP6639570B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244317A (en) * 2009-04-07 2010-10-28 Seiko Epson Corp Printer driver
JP5767483B2 (en) * 2011-01-31 2015-08-19 キヤノン株式会社 Print setting server, print setting method and program

Also Published As

Publication number Publication date
JP2018185826A (en) 2018-11-22

Similar Documents

Publication Publication Date Title
US11016782B2 (en) Information processing apparatus, information processing method, and storage medium
EP3065062B1 (en) Converting pdf forms into browser-editable forms
US8736877B2 (en) Print system, client, control method, and storage medium
JP6378507B2 (en) Information processing apparatus and control method thereof
JP5072676B2 (en) Information processing apparatus, information processing method, and printing system
JP5621793B2 (en) Printing system, printing control apparatus, and printing control program
US20140362409A1 (en) Information processing apparatus, method, and program
JP2014109854A (en) Information processor, control method and program
US20090244585A1 (en) Information processing apparatus, control method therefor, and printer driver program
JP6639570B2 (en) Application program
JP6362423B2 (en) Real-time conflict processing system
JP7322116B2 (en) Application for displaying print setting UI
JP5917016B2 (en) Information processing apparatus, control method thereof, and control program
JP6961746B2 (en) Applications and information processing devices that have the function of displaying the print setting screen
JP6701423B2 (en) Applications and information processing devices
JP2017083996A (en) Information processing device, control method and program thereof
JP6007015B2 (en) Image forming apparatus and image forming program
JP2019144814A (en) Information processing device, and control method and program for information processing device
JP7350525B2 (en) Information processing device, control method for information processing device, and program
JP2014029633A (en) Information processing device and printing system
JP7242203B2 (en) Information processing device, application and control method
JP2016134045A (en) Print control device
JP2021018774A (en) Information processing system and program
JP2007079743A (en) Information processor and its control method and program
JP2021012430A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191224

R151 Written notification of patent or utility model registration

Ref document number: 6639570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151