Abstract:
An image processing device connected with an image formation device configured to output image on a recording medium, includes a data obtaining unit configured to obtain map image data representing a basic map image showing a user-designated geographic area at a user-designated scale, an area identifying unit configured to identify a basic image formation area and a surplus area, the basic map image being formed on the basic image formation area, the surplus area being an area within the image forming area but the basic map image is not formed. The image processing device further includes an additional data obtaining unit configured to obtain map image data necessary for covering an enlarged image formation area including the basic image formation area and at least part of the surplus area, from the map image data provider. The map image can be formed based on the updated map image data.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims priority under 35 U.S.C. §119 from Japanese Patent Application No. 2010-124640 filed on May 31, 2010. The entire subject matter of the application is incorporated herein by reference. 
       BACKGROUND 
       [0002]    1. Technical Field 
         [0003]    Aspects of the present invention relate to an image processing device which makes an image formation device form an image of a map, and a recording medium storing an image processing program which, when executed by a computer, causes the computer to function as such an image processing device. 
         [0004]    2. Related Art 
         [0005]    Conventionally, there have been suggested techniques of displaying a print pre-view image so that a user can review and confirm the contents of an image to be printed on a printing sheet before it is actually printed when, for example, the user intends to print a web page. Making use of such a technique, the user can have a desired printout of the image. 
       SUMMARY 
       [0006]    Recently, various web sites provides map applications. The map application is typically configured such that, when a user can designate a geographic position using a web browser, a map of a predetermined area around the designate geographic position is displayed in a map display area of the browser. To the displayed map, generally, the user can apply predetermined operations such as scrolling of the map, changing of the scale, and printing of the displayed map. 
         [0007]    When the map displayed by the map application is printed, unnecessary margins may be formed around the map and/or unnecessary information (e.g., advertisement, operational guide, etc.) when the map is printed. 
         [0008]    Due to such unnecessary margins and/or unnecessary information, an area for printing the map is reduced. Therefore, for the same scale, the smaller the print area is, the smaller geographical area the map shows. 
         [0009]    If the scale of the map is decreased, it is possible to widen the geographical area the map shows even though the print area is smaller. However, in such a case, detail information on the map is lost. For example, narrow alleyways may be omitted from the map printed at the decreased scale. 
         [0010]    Aspects of the invention provides an improved image processing device with which the unnecessary margins and/or information can be avoided when a map is printed using the map application so that a map containing more information can be printed. Aspects of the invention also provides a recording medium storing a program which causes a computer to function the image processing device as above. 
         [0011]    According to aspects of the invention, there is provided an image processing device connected with an image formation device configured to output image on a recording medium. The image processing device is provided with a data obtaining unit configured to obtain map image data from a map image data provider, the map image data representing a basic map image showing a geographic area, an area identifying unit configured to identify a basic image formation area and a surplus area, the basic image formation area and the surplus area being an area within an image forming area on the recording medium, the basic map image being formed on the basic image formation area, the surplus area being an area within the image forming area but the basic map image is not formed, an additional data obtaining unit configured to obtain map image data necessary for covering an enlarged image formation area, which is an area including the basic image formation area and at least part of the surplus area, from the map image data provider, and a controlling unit configured to control the image formation device to output the enlarged map image on the recording medium based on the map image data additionally obtained from the map image data provider. 
         [0012]    According to aspects of the invention, there is also provided a non-transitory recording medium storing an image processing program including instructions to be executed by a computer, the computer being connected with an image formation device configured to output image on a recording medium, the instructions causing the computer to function as the image processing device described above. 
         [0013]    According to aspects of the invention, there is provided an image processing method for a computer which is connected with an image formation device configured to output image on a recording medium. The method includes steps of obtaining map image data from a map image data provider, the map image data representing a basic map image showing a geographic area, identifying a basic image formation area and a surplus area, the basic image formation area and the surplus area being an area within an image forming area on the recording medium, the basic map image being formed on the basic image formation area, the surplus area being an area within the image forming area but the basic map image is not formed, obtaining additional map image data necessary for covering an enlarged image formation area, which is an area including the basic image formation area and at least part of the surplus area, from the map image data provider, and controlling the image formation device to output the enlarged map image on the recording medium based on the map image data additionally obtained from the map image data provider. 
     
    
     
       BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS 
         [0014]      FIG. 1  is a block diagram showing an entire system containing a PC (personal computer) and a printer, according to an embodiment of the invention. 
           [0015]      FIG. 2  is a flowchart illustrating a main process of a map application executed by the PC. 
           [0016]      FIG. 3  is a flowchart illustrating a map print process. 
           [0017]      FIG. 4  is a flowchart illustrating a peripheral map addition process. 
           [0018]      FIG. 5  is a flowchart illustrating a scale increasing process. 
           [0019]      FIG. 6A  shows a dialogue allowing a user to select whether the enlarging function is used. 
           [0020]      FIG. 6B  shows a dialogue allowing a user to select an enlarging method to be used. 
           [0021]      FIGS. 7A-7E  show examples of printed maps. 
       
    
    
     DETAILED DESCRIPTION 
       [0022]    Hereinafter, an exemplary embodiment according to aspects of the present invention will be described with reference to the accompany drawings. 
         [0023]    A printing system according to an embodiment of the invention includes, as shown in  FIG. 1 , a PC (personal computer)  1  and a printer  3  connected to the PC  1 . The PC  1  is configured to be able to communicate with a web server  7  through a WAN (wide area network)  5 . An example of the WAN  5  is the Internet. 
         [0024]    The PC  1  is provided with a CPU (central processing unit)  11 , a ROM (read only memory)  12 , a RAM (random access memory)  13 , an HDD (hard disk drive)  14 , an operation unit  15 , a display unit  16 , a network interface  17 , and a USB (universal serial bus) interface  18 . 
         [0025]    On the HDD  14 , various types of software including an OS (operating system) are stored. A web browser (described later), plug-ins, and data such as scripts called by the plug-ins are also stored on the HDD  14 . When each of the programs is executed by the CPU  11 , the program is retrieved from the HDD  14  and developed in the RAM  13 . 
         [0026]    The operation unit  15  has a keyboard and pointing devices (e.g., a mouse). The display unit  16  has an LCD (liquid crystal display). 
         [0027]    A user of the PC  1  can operate the operation unit  15  to activate the web browser. When activated, the web browser is capable of requesting the web server  7  for data in accordance with the operation of the user. 
         [0028]    The web server  7  is configured to transmit web page data including map image data to the PC  1  in response to a request from the PC  1 . The web page data may be markup document data using HTML (hypertext markup language), or XHTML (extensible HTML). When the web page data is transmitted from the web server  7 , the PC  1  receives the web page data and displays the web page including the map image on the display unit  16 . 
         [0029]    After the web page including a map image is displayed on the display unit  16 , when the user operates the operation unit  15 , scrolling of the map image, changing of the scale of the map, etc. are executed in response to the user operation. 
         [0030]    Specifically, when the user operation is inputted, the PC  1  transmits data corresponding to the user operation to the web server  7  using an asynchronous communication technique (e.g., Ajax) implemented to the web browser, in parallel with acquisition of the user operation. The web server  7 , which has received the data from the PC  1 , returns image data of the map corresponding to the user operation. Then, the PC  1  receives the image data from the web server  7 , and dynamically updates the image displayed on the display unit  16 . With the above configuration, scrolling or scale changing of the map image is performed in response to the user operation. 
         [0031]    If the user operates the operation unit  15  to input a print command to print the web page containing the map, the PC  1  controls the printer  3  to print out the web page. 
         [0032]    Hereinafter, processes executed by the PC  1  will be described in detail. The web browser executed by the PC  1  is configured such that, by installing plug-ins, various extended functions can be implemented in addition to the standard functions. 
         [0033]    Among the processes which will be described hereafter, a process shown in  FIG. 2  is a part of the standard function which is realized by the web browser, and the process shown in  FIG. 2  is executed by the PC  1  when the map application is evoked through the web browser. Processes shown  FIGS. 3-5  are part of extended functions realized by the plug-ins implemented to the web browser, and the processes (shown in  FIGS. 3-5 ) are internally evoked. The processes are performed as programs corresponding to the processes are executed by the CPU  11 . 
         [0034]    When the process shown in  FIG. 2  is evoked, the PC  1  is in a state of acquiring a user input (S 105 ), and when a user input is made, the control proceeds to S 110 . 
         [0035]    Then, the control judges whether the acquired user input is an operation to change a display area of the map or an operation to change the scale of the map (S 110 ). If the user operation is to change the display area or the scale of the map (S 110 : YES), the control transmits data corresponding to the user input to the web server  7  (S 115 ). Then, the control receives the data transmitted from the web server  7  (S 120 ), changes the display area or the scale of the map in accordance with the received data (S 125 ), and returns to S 105  to wait for a further input by the user. 
         [0036]    Examples of operations to change the display area or the scale of the map are a drag operation to drag the map and move in north, south, east and west direction, a click operation to click controls, click of which is treated as an operation similar to the drag operation, arranged on the display, a wheel operation to change the scale of the map, and a click operation to click controls, click of which is treated as an operation similar to the wheel operation, arranged on the display. 
         [0037]    Then, data representing the user operation is transmitted from PC  1  to the web server  7  (S 115 ), and, in response, the image data necessary for displaying the map is transmitted from the web server  7  to the PC  1 . The PC  1  receives the image data transmitted from the web server (S 120 ), and updates the displayed contents of the map dynamically (S 120 ). As a result, in response to the user operation, the map is scrolled and/or the scale of the map is changed. 
         [0038]    If the user operation is not the change of the display area (S 110 : NO), the control judges whether the user operation is to input the print command (S 130 ). If the user operation is to input the print command (S 130 : YES), the control executes a printing operation to print the map (S 140 ). Specifically, the process executed in S 140  is to call a plug-in, which will be described later in detail. After execution of S 140 , the control returns to S 105 . 
         [0039]    If the user operation is not the input of the print command (S 130 : NO), the control judges whether the user operation is to terminate the process (S 145 ). If the user operation is not to terminate the process (S 145 : NO), the control executes a process according to the user input (S 150 ), and returns to S 105 . Examples of the process executed in S 145  will be omitted for brevity. If the user operation is to terminate the process (S 145 : YES), the control terminates the process. 
         [0040]    Next, a map printing process which is performed based on the plug-in called in S 140  will be described with reference to  FIGS. 3-5 . 
         [0041]    When the map printing process is evoked, the control executes a preview display enabling the user to check what image will be printed if the web page subjected to be printed is actually printed (S 201 ). 
         [0042]    Then, the control displays a dialogue requesting the user to select whether the enlarging print function is used or not (S 205 ). In S 205 , a dialogue  31  (see  FIG. 6A ) is displayed on the display unit  16 . As shown in  FIG. 6A , the dialogue  31  contains a “USE” button  32  and a “NOT USE” button  33 . When one of the “USE” button  32  and the “NOT USE” button  33  is selected by the user, the control proceeds to S 210 . 
         [0043]    Next, the control judges whether the user operates the “USE” button  32  (S 210 ). If the user selects the “NOT USE” button  33  (S 210 : NO), the control executes a normal printing operation (S 215 ). 
         [0044]    The printing operation at S 215  is an operation to print the web page currently displayed by the web browser as it is. If map and/or other information is included in the web page, they are also printed out as they are. Further, if the image of the map is smaller than a printable area and margins are formed around the map, the map is printed out with remaining the margins as they are. The printing operation at S 215  is thus similar to a printing operation executed by generally known web browsers. After execution of S 215 , the control terminates the process shown in  FIG. 3 . 
         [0045]    If the control judges that “USE” is selected (S 210 : YES), the control displays a dialogue allowing the user to select a method of enlargement (S 220 ). Specifically, in S 220 , a dialogue  36  as shown in  FIG. 6B  is displayed on the display unit  16 . In this dialogue  36 , a button  37  of “WIDEN PRINT AREA” for printing the map with enlarging printing area to peripheral area and a button  38  of “INCREASE SCALE” for printing with increasing scale of the map are indicated. When the user operates to select the button  37  or  38 , the control proceeds to S 225 . 
         [0046]    Next, the control judges whether the button  37  of “WIDEN PRINT AREA” is selected (S 225 ). If the control judges that the button  37  is selected (S 225 : YES), the control executes the “PERIPHERAL MAP ADDITION PROCESS” (S 230 ), which is illustrated in detail in  FIG. 4 . 
         [0047]    When the “PERIPHERAL MAP ADDITION PROCESS” is started, the control generates a pint image of the map (S 305 ). When the print image is generated, an image developing area  51  is reserved in the RAM  13 . It should be noted that the number of pixels of the print image is determined based on the size of the printing medium (e.g., a sheet), a resolution of the image and the like. 
         [0048]    Then, a map image  55 , which is a print image based on the map image data included in the web page data, is developed at a predetermined position within a printable area  53 , which is determined by the margin settings etc. within the image developing area  53 . 
         [0049]    The web page data may include image data other than the map image data and text data. Such data other than the map image data is not used for generating the print image data in S 305 . That is, the area other than the area where the map image  55  is developed is remained as a blank area (i.e., an area where no image is developed). 
         [0050]    Next, the control moves the map image  55  to the center of the printable area  53  (S 310 ). That is, in S 310 , the control moves the map image  55  so that the center of the map image coincides with the center of the printable area  53  based on the size of the printable area  53  and the size of the map image  55 . For example, the map image  55  of which position is shown in  FIG. 7A  is moved to the central position as shown in  FIG. 7B . 
         [0051]    Then, the control determines the map information of the peripheral area (area around the map image  55 ) to be obtained based on the size of the blank area around the map image  55  (S 315 ). In other words, the control determines the area of the map to fill in the blank area around the map image  55  and within the printable area  53 . 
         [0052]    Next, the control internally operates the map application and obtains the map information of the peripheral area around the map image  55  (S 320 ). Specifically, the control obtains the image around the map image  55  from the web server with use of a script process to internally emulate the user operation to the map application. 
         [0053]    For example, by internally executing (emulating), with use of the script process, a drag operation to move the display area of the map to north, south, east or west and/or a click operation of the controls arranged on the screen are emulated, and the control transmits data representing such a user operation to the web server  7 , and obtains the image around the map image  55 , which is transmitted from the web server  7 . 
         [0054]    The scripts for emulating various user operations are stored as files together with the plug-in main program on the HDD  14  when the plug-ins are installed. Therefore, in S 320 , the control retrieves files corresponding to the necessary user operations and executes the emulations of the user operations based on the scripts contained in the retrieved files. 
         [0055]    Thereafter, the control internally operates the map application to move back the map image  55  to its original position (S 325 ) and connects images of the map information newly obtained in S 320  to the map image  55  (S 330 ). 
         [0056]    As a result, the map image  55  which includes the map image  55  and the map images around the map image  55  is developed in the image developing area  51  as shown in  FIG. 7C . When the map image  57  is developed, the control terminates the process shown in  FIG. 4  and proceeds to S 240  of  FIG. 3 . 
         [0057]    If the control judges that the process of “PERIPHERAL PRINT FUNCTION” is not selected (S 225 : NO), the process executes the process of “SCALE INCREASING PROCESS” (S 235 ), which is illustrated in  FIG. 5 . Specifically, the control firstly generates a print image of the map (S 405 ). The step S 405  is similar to the step S 305  and the map image  55  is developed within the printable area  53  as shown in  FIG. 7A . 
         [0058]    Next, the control moves the image area of the map image  55  to the center of the printable area  53  (S 410 ), which is similar to the control in S 310 . As a result, the map image  55  is moved from the position shown in  FIG. 7A  to the position shown in  FIG. 7B . 
         [0059]    Then, the control compares the size of the blank area around the map image  55  and the size of the map image  55  to determine the possible scale for enlarging the map (S 415 ). Specifically, in S 415 , the control determines the maximum scale at which the geographic area of the map image  55  can be shown in the printable area  53 . 
         [0060]    The scale of the map image provided from the web server  7  can be switched stepwise based on the user operation, and the switchable scales area stored in the PC  1  in advance. Thus, in S 415 , the control calculates sizes of map images showing the geographic area of the map image  55  for the switchable scales, respectively, and then compares the thus calculated sizes with the printable area  53  to determine the maximum scale to be applied. 
         [0061]    Then, the control internally operates the map application and obtains the map information of the increased scale (maximum scale) for the geographic area of the map image  55  (S 420 ). Specifically, in S 420 , the control internally emulates the user operation by the script process, similarly to S 320 , and obtains the map image of the scale determined in S 415  from the web server  7 . 
         [0062]    For example, with use of script processes to internally execute a wheel rotating operation to change the scale of the map or a clicking of the controls arranged on the screen, the control transmits data representing such user operations to the web server  7 , and obtains the images transmitted from the web server  7  by return. 
         [0063]    Then, the control internally operates the map application to move the map image to its original position (S 420 ), discards the original print area, and pates the newly obtained map of which the scale is increased (S 430 ). As a result, as shown in  FIG. 7D , a map image  59  of which the geographic area is the same as that of the map image  55 , and the scale is increased is developed within the image developing area  51 . 
         [0064]    The map image  59  contains more detailed information than the map image  55  since the scale is increased, although the geographic area of the map image  59  is the same as that of the map image  55 . Thus, in the map image  59  shown in  FIG. 7D , narrower alleys are shown. It should be noted that, if the map image  55  has been merely enlarged, such a map does not show more detailed information than the map image  55 , although the map images  55  and  59  are homothetic. After the map image  59  has been developed, the control terminates the process shown in  FIG. 5 , and the control returns to S 240  ( FIG. 3 ). 
         [0065]    After the control has executed S 230  or S 235 , the control re-display the preview image (S 240 ). In S 230  or S 240 , a new map image (map image  57  or  59 ) is developed in the image developing area  51 , the control displays the preview image again so that the user can check the updated image which is to be printed on the display unit  16 . 
         [0066]    Next, in response to the user operation, the control judges whether the user operation is to instruct a printing operation or not (S 245 ). If the user operation is to instruct printing (S 245 : YES), the control calls a printer driver and controls the printer  3  to print the image in the printable area  53  (S 250 ). Thereafter, the control terminates the process shown in  FIG. 3 . At this stage, the process called in S 140  of  FIG. 2  has been finished. 
         [0067]    If the user operation is not to instruct printing (S 245 : NO), the control returns to S 205 . Then, the user restarts selection of the enlarging function or not (S 205 -). 
         [0068]    According to the exemplary embodiment described above, the blank area, which is not used if only the map image  55  is generated, is used (i.e., the map image  57  or  59  is generated). That is, an area on the printing sheet when the image is printed with the printer  3  can be used for printing the map image  57  or  59 . 
         [0069]    The map image  57  shows a wider geographic area than the map image  55 . Therefore, the user can obtain information of the geographically wider area. The map image  59  shows a map image at a larger scale than the map image  55 . Therefore, the user can obtain more detailed information. 
         [0070]    According to the embodiment, in S 220 -S 225 , the user can optionally select whether the map image  57  having a wider geographical area than the map image  55  or the map image  59  showing a larger scale map image than the map image  55 . Thus, the exemplary embodiment can well meet the needs of the user. 
         [0071]    It should be noted that the invention needs not be limited to the configuration of the above-described exemplary embodiment. Rather, the invention can be modified in various ways without departing from the scope of the invention. 
         [0072]    For example, in S 305  ( FIG. 4 ) or S 405  ( FIG. 5 ), image data other than the map image and text data are not included when a print image is generated. This configuration may be modified such that the areas of such data are treated as blank areas. 
         [0073]    If the control cannot distinguish the map image data from the image data included in the web page data, it is possible to generate a print image based on the image data included in the web page data, and then identify an image having characteristics of a map image as the map image  55 . 
         [0074]    It may be possible to store positional information representing a position of the map within a web page, and identify the image that is to be located at the position where the map is located as the map image  55 . 
         [0075]    According to the exemplary embodiment, the map image  55  is moved to the central portion of the printable area  53  in S 310  ( FIG. 4 ) or S 410  ( FIG. 5 ). The map image  55  may not be moved precisely at the center of the printable area  53  but may be roughly moved to a central area with some allowance. If the map image  55  is located at a central area of the printable area  53  and is not necessary to move, step S 310  or S 410  may be skipped. 
         [0076]    According to the exemplary embodiment, the user is allowed to alternatively select, as a method of enlarging the map image, addition of maps of neighboring areas or increase of the scale. This configuration may be modified such that the user may optionally be allowed to select both (i.e., addition of maps of neighboring areas or increase of the scale) at a time. In such a case, steps S 410 -S 430  ( FIG. 5 ) are executed, and subsequently, steps S 315 -S 330  ( FIG. 4 ) are executed instead of executing S 230  or S 235 . 
         [0077]    In the exemplary embodiment, the dialogues  31  and  36  are displayed (S 205 , S 220 ). Displaying of such a dialogue may be replaced with other means. 
         [0078]    As alternatives to the dialogues  31  and  36 , a setting file may be used. That is, user may be required to select usage of the enlarging function and method of enlargement in a setting window in advance, and the selection is stored as the setting file. By retrieving the setting file and obtaining the settings therein, printing can be done without displaying the setting dialogues  31  and  36 . 
         [0079]    In the exemplary embodiment, the scale of the map changes stepwise. Whether the scale changes stepwise or continuously may depend on a provider of the map data. Further, when the scale changes stepwise, available steps may depend on the provider of the map data. 
         [0080]    Therefore, it may be advantageous that information regarding the providers of the map data is stored in the PC  1 , and when the scale is changed, the control may refer to the information and changes the scale in a manner corresponding to the provider. 
         [0081]    In the exemplary embodiment, the PC  1  obtains the map images around the map image  55  and/or map images of changed scales from the web server  7  by emulating the user operation to the map application with use of scripts. Such a configuration may be modified. 
         [0082]    For example, by incorporating information (longitude, attitude, scale, etc.) in a URL (Uniform Resource Locator) when the PC  1  accesses the web server  7 , information necessary for obtaining the map image is transmitted to the web server, and the PC  1  can obtain the necessary map images. 
         [0083]    It should be noted that a method of obtaining the images may depend on client-directed interfaces employed in the web server  7 . It is advantageous if information regarding such a client-oriented interface for each provider of the map data is stored in advance, map images can be obtained in accordance with methods appropriate to the providers, respectively. 
         [0084]    When the user operations are emulated with user of the scripts, it is preferable that what user operations are acceptable in each provider, and such information may be stored in the PC  1 . Alternatively, whether a user operation is accepted by a web server by actually executing a script. 
         [0085]    For example, when a scroll of the map is to be executed, a try run of a script for a drag operation is executed. Then, whether the map is scrolled or not is determined by judging whether the map image has been changed after the try run. Specifically, if map images before and after the try run of a script are compared, and if an image located at an upper portion of the map image before the try run remains at a lower portion of the map image after the try run, and another image at the lower portion of the map image before the try run has extinguished in the map image after the try run, it can be judged that the area of the map has moved northward as a result of the scroll (i.e., the script). 
         [0086]    If no change is found in the map image before and after the try run, the try run of other scripts emulating, for example, a button operation and the like may be done in a predetermined order until the scroll of the map is performed. 
         [0087]    It is also possible to execute a try run when the scale of the map is changed. When changing the scale, a try run of a script emulating the wheel operation (rotation) is executed, and whether the map image has been changed after the tray run is judged to determine whether the scale has been changed. To judge the change of the scale, for example, main roads and railways are extracted as lines from the images before and after the try run, and judges whether there are similar patterns (having different sizes) formed by the extracted lines in the images before and after the try run. 
         [0088]    In the exemplary embodiment, the map is moved to the initial position by internally operates the map application (S 325  and S 425 ). This may be modified such that a URL is stored when the map is located at the initial position, and by re-accessing the URL later, the map can be moved to the initial position. 
         [0089]    In the exemplary embodiment, the printer  3  is described as an example of an image formation device. It should be noted that the present invention is also applicable to image formation device other than the printer. That is, an image formation device capable of forming images onto an electronic paper that realizes a printing medium electronically with use of a displaying device, or a virtual printing medium handled in a PC (e.g., a PDF file). 
         [0090]    In the exemplary embodiment, the PC  1  and the printer  3  are separate devices. However, the invention should not be limited to such a configuration. For example, if an integrated device having a function of the printer  3  is provided with a user interface as is implemented in the PC  1  of the exemplary embodiment, a CPU of the integrated device may execute the programs corresponding to the browser and plug-ins of the exemplary embodiment. In such a case the CPU of the integrated device controls its printing function to print the image of the printable area  53  (cf. S 250 ). 
         [0091]    According to the exemplary embodiment, functions of processing the image data are realized by incorporating programs as plug-ins. However, the invention needs not be limited to such a configuration. The browser may have such functions. Alternatively, the browser may be configured to call the printer driver or application instead of S 140  ( FIG. 2 ), and the called printer driver or application may execute the image processing. If the printer driver is configured to execute the above process, in S 250 , the printer driver may control the printer  3  to print the image of the printable area  53 . If the application is configured to execute the above process, the printer driver is called in S 250  and the image in the printable area  53  is printed by the printer  3 . 
         [0092]    In the exemplary embodiment, the map image data is provided by a web server. However, the invention needs not be limited to such a configuration, and the map image data may be provided by another provider. For example, the configuration of the exemplary embodiment may be modified so that the map image data is retrieved from a storage, or the map image data may be obtained from another PC.