Program, information processing device, and control method for the information processing device.

The program addresses the challenge of overlapping objects in print creation applications by resizing and controlling object overlap, maintaining readability and layout integrity when adapting to different recording media.

JP2026092482APending Publication Date: 2026-06-05CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-26
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing print creation applications face challenges in adjusting the layout of overlapping objects when resizing edit data to fit different recording media, leading to distorted layouts and readability issues.

Method used

A program for an information processing device that adjusts the size of editing areas and controls object overlap by resizing objects based on the size of the recording medium, using a first modification means and control means to ensure readability and layout integrity.

Benefits of technology

The program effectively adjusts the layout of overlapping objects in print creation applications, ensuring that text and 2D codes remain readable and properly sized, even when the recording medium changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026092482000001_ABST
    Figure 2026092482000001_ABST
Patent Text Reader

Abstract

In print creation applications, it is possible to adjust the layout of overlapping objects included in the editing data. [Solution] The present invention provides a program for an application executed by an information processing device, which causes the information processing device to function as a first modification means that changes the size of the editing area of ​​the editing data in accordance with a change in the size of a recording medium used to output editing data in the application, including a first object and a second object different from the first object, and a control means that performs control to notify the first object and the second object of overlap when the first object and the second object overlap as a result of the size of the editing area being changed by the first modification means.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a program, an information processing apparatus, and a control method for an information processing apparatus.

Background Art

[0002] In recent years, there is a print creation application that can create printed materials such as posters by generating print data based on edit data in which objects such as images, text, and two-dimensional codes are synthesized on a single canvas for review display. In such a print creation application, it is possible to change the size of edit data including a plurality of objects to match the size of an arbitrary recording medium before printing.

[0003] Patent Document 1 discloses a method for determining adjustment rules for the size and position of a frame with respect to a frame corresponding to an object in order to adapt each object included in edit data to the sizes of various recording media when the size of the recording medium is changed.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] A method for adjusting the layout of overlapping objects included in edit data in a print creation application is required.

Means for Solving the Problems

[0006] A program according to one aspect of the present disclosure is a program for an application executed by an information processing device, characterized in that the information processing device is configured to function as a first modification means for changing the size of an editing area of ​​the editing data in the application in accordance with a change in the size of a recording medium used to output editing data including a first object and a second object different from the first object, and a control means for performing control to notify the first object and the second object of overlap when the first object and the second object overlap as a result of the size of the editing area being changed by the first modification means. [Effects of the Invention]

[0007] According to this disclosure, it is possible to adjust the layout of overlapping objects included in editing data in a print creation application. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows an example of a system configuration including an information processing device. [Figure 2] This figure shows an example of the editing screen for a web application. [Figure 3] This figure shows an example of the editing screen for a web application. [Figure 4] This figure shows an example of the editing screen for a web application. [Figure 5] This figure shows an example of the editing screen for a web application. [Figure 6] This figure shows an example of the editing screen for a web application. [Figure 7] This figure shows an example of the editing screen for a web application. [Figure 8] This figure shows an example of the editing screen for a web application. [Figure 9] This flowchart shows an example of the process for resizing an object in a web application. [Figure 10] This figure shows an example of how to save and manage objects included in edited data. [Figure 11] This flowchart shows an example of the process for selecting deletion candidates in a web application. [Figure 12] This figure shows an example of how to save and manage the coordinates of objects included in edited data. [Figure 13] This figure shows an example of a poster created based on a template and the attributes of objects that are pre-configured for the objects included in the template. [Figure 14] This figure shows an example of how to save and manage priority levels based on object attributes. [Figure 15] This figure shows an example of a web application editing screen displaying a settings screen for configuring priority levels corresponding to object attributes. [Modes for carrying out the invention]

[0009] Preferred embodiments of this disclosure will be described in detail below with reference to the attached drawings. Note that the following embodiments are not limiting to the scope of this disclosure, and not all combinations of features described in the following embodiments are essential to the solutions of this disclosure. Identical components will be denoted by the same reference numerals.

[0010] Conventional techniques in print creation applications allow for resizing edit data containing multiple objects to fit any given storage medium size by imposing restrictions on the size and position of each object. However, when the storage medium size is reduced, resizing the edit data to maintain the readability of objects such as text and 2D codes can cause objects to overlap, resulting in a distorted layout of the edit data.

[0011] In the following embodiments, a method for adjusting the layout of overlapping objects included in editing data in a print creation application will be described.

[0012] <<First Embodiment>> <Information Processing Device> FIG. 1 is a diagram showing an example of the configuration of system 1 in the present embodiment. System 1 includes a client terminal 10 and a server system 20. Referring to FIG. 1, the configurations of the client terminal 10 and the server system 20 in the present embodiment will be described.

[0013] The server system 20 is a server that provides a web application 21. The server system 20 includes information processing devices such as a program execution server 22, a storage server 23, and a print execution server 24. The program execution server 22 executes a server program 25 that is a program operating on the server system 20. The storage server 23 holds editing data 26 such as image files and print data 27 such as print data files in the web application 21. The print data 27 includes, for example, data generated based on the editing data 26.

[0014] The print execution server 24 transmits the print data 27 to the client terminal 10. Printing is performed by a printer 40 described later based on the print data 27 received by the client terminal 10. The program execution server 22, the storage server 23, and the print execution server 24 may be physically separate devices or may be realized by a single device.

[0015] The client terminal 10 is an information processing device. In the present embodiment, the client terminal 10 will be described by taking a personal computer as an example, but it is not limited thereto. For example, the client terminal 10 may be an information processing device such as a tablet terminal or a smartphone.

[0016] The client terminal 10 has a CPU 11, ROM 12, RAM 13, a web browser 14, and a printing application 15. While the client terminal 10 is described as having storage (not shown) for storing programs such as the web browser 14, the printing application 15, and an operating system (OS), it is not limited to this configuration. For example, these programs may be stored in a storage device 60, which will be described later.

[0017] The client terminal 10 has a monitor 30, a printer 40, an input device 50, a storage device 60, and an input / output interface (not shown) for connecting to a network 70 such as the Internet.

[0018] The CPU 11 is a central processing unit that controls the entire client terminal 10 by executing the OS stored in storage or other locations. The CPU 11 also implements various functions of the client terminal 10 by executing the web browser 14, printing application 15, and other programs stored in storage or other locations. For example, the CPU 11 can modify and output acquired data based on input information, and control various hardware components.

[0019] ROM 12 is read-only memory and stores various programs such as the startup program. RAM 13 is the main memory of the client terminal 10 and is used as the work memory of the CPU 11. If RAM 13 is non-volatile, it can retain the stored programs even if the power to the client terminal 10 is turned off. The web browser 14 enables browsing of websites on the internet and can execute web applications 21. When executing a web application 21, the web browser 14 receives a client program 17 from the server system 20 and uses a program analysis unit 16 to interpret HTML (HyperText Markup Language), etc. The printing application 15 sends print data 27 to the client terminal 10 or to a printer 40 connected via the network.

[0020] <Webアプリケーション> Figures 2 to 8 show examples of editing screens for a web application 21 running on a web browser 14. The processes executed by the web application 21 in this embodiment will be explained with reference to Figures 2 to 8. In this embodiment, the web application 21 will be described as a poster creation application.

[0021] Figure 2 shows an example of an editing screen 200 for a poster creation application, which is a web application 21 running on a web browser 14 and is used for editing editing data 26 that includes objects. In this embodiment, the editing data 26 is data that can be edited on the web application 21. The editing data 26 includes, for example, multiple objects that make up an image such as a poster. The user can create the desired editing data by editing the objects through the editing screen of the web application 21. In this embodiment, editing includes making changes to the objects that make up the "template" described later, and placing new objects on a newly created canvas.

[0022] The editing screen 200 includes a review display area 210 that displays a preview of the poster the user is currently editing, a button display area 230, an object selection area 240, an object display area 250, and a settings area 260.

[0023] The review display area 210 displays editing data representing a poster with an object 211 representing the background. The editing data includes objects 211 to 221. Objects 212 to 214 are objects representing images. Objects 215 to 219 are objects representing text. Object 220 is an object representing clip art. Object 221 is an object representing a two-dimensional code. For example, a QR (Quick Response) code (trademark registered) can be used as a two-dimensional code.

[0024] The button display area 230 includes a new creation button 231, a folder button 232, a settings button 233, a pull-down menu 234, a save button 235, and a print button 236.

[0025] The "Create New" button 231 is a button that accepts the instruction to create a new poster. When the user presses the "Create New" button 231, new editing data is generated. The "Folder" button 232 is a button that accepts the instruction to open existing editing data. When the user presses the "Folder" button 232, a user interface for selecting existing editing data is opened. The "Settings" button 233 is a button that accepts the instruction to open the settings screen. When the user presses the "Settings" button 233, the settings screen described later is opened.

[0026] The pull-down menu 234 is for changing the size of the recording medium used to print the image of the print data generated based on the editing data. Depending on the user's operation on the pull-down menu 234, a list of recording medium sizes, as described later, will be displayed. The save button 235 is a button for receiving instructions to save the editing data being edited. Depending on the user's operation on the save button 235, the editing data being edited will be saved to a local folder on the client terminal 10's storage or to the storage server 23 of the server system 20. The print button 236 is a button for receiving instructions to print the image. Depending on the user's operation on the print button 236, the web application 21 controls the launch of the print application 15 and sends the print data generated based on the editing data to the client terminal 10. The client terminal 10 then sends the print data to the printer 40, and printing is performed on the printer 40 based on the received print data. If the user presses the print button 236 when the print application 15 is not installed on the client terminal 10, the web application 21 may control the installation of the print application 15.

[0027] The object selection area 240 has tabs corresponding to the types of objects to be added to the editing data being edited. Figure 2 shows the state where the "Templates" tab is selected from among the multiple tabs displayed in the object selection area 240. When the user selects any of the multiple tabs displayed in the object selection area 240, the content corresponding to the selected tab is displayed in the object display area 250.

[0028] As shown in Figure 2, since the "Templates" tab in the object selection area 240 is selected, the object display area 250 displays a list of templates held by the web application 21.

[0029] The settings area 260 displays the detailed settings for the selected object among the objects included in the editing data being edited. Figure 2 shows the state where object 215, which represents text, is selected. Therefore, the settings area 260 displays the settings for the font displayed within the text.

[0030] Figure 3 shows an example of changing the size of the recording medium used for printing an image in the editing screen 200. Figure 3 shows the state in the editing screen 200 where the list of recording medium sizes 310 is displayed. The list 310 is a list of recording medium sizes that opens when the pull-down menu 234 is pressed in the state of the editing screen 200 shown in Figure 2. When any size is pressed in the list 310, the object resizing process described later is executed.

[0031] Figure 4 shows an example of the editing screen 200 displayed when the size "Square (100mm x 100mm)" is selected from the list 310 shown in Figure 3, and the size of the recording medium is changed from A3 to Square (100mm x 100mm). In this embodiment, the size of each object included in the editing data displayed in the review display area 210 of the editing screen 200 is changed as a result of the object resizing process. Specifically, the size of each object shown in Figure 4 is smaller than the size of the corresponding object shown in Figure 2 or Figure 3. Note that even if the object resizing process is performed, the size of all objects included in the editing data does not necessarily have to be changed.

[0032] Furthermore, as shown in Figure 4, a deletion candidate notification dialog 411 is displayed because objects 213 and 218, whose sizes have been changed due to the object resizing process, overlap. Additionally, a deletion candidate notification dialog 412 is displayed because objects 219 and 222 overlap.

[0033] Figure 5 shows an example of the editing screen 200 when the selection screen 501 is displayed in response to the deletion candidate notification dialog 411 being pressed in Figure 4. The selection screen 501 shown in Figure 5 is a screen that is displayed in response to the deletion candidate notification dialog 411 being pressed, and allows the user to select an object to be deleted from among overlapping objects in the editing data. On the selection screen 501, objects 213 and 218, which have become overlapping due to the object resizing process, are displayed as objects to be deleted. Figure 5 shows the state in which object 218, which represents text, is selected as the object to be deleted among the overlapping objects. When the Web application 21 detects that the user has pressed the OK button 502 on the selection screen 501 while the object to be deleted is selected, it closes the selection screen 501. Then, the Web application 21 performs the process of deleting the object to be deleted from the editing data.

[0034] Figure 6 shows an example of the editing screen 200, which displays the edited data after object 218 has been selected for deletion in the selection screen 501 shown in Figure 5, and the process of deleting object 218 has been executed. Of the overlapping objects, object 218 has been deleted, while object 213, which represents the image, is retained.

[0035] Figure 7 shows an example of the editing screen 200 in which the selection screen 701 is displayed in response to the deletion candidate notification dialog 412 being pressed in Figure 6. The selection screen 701 shown in Figure 7 is a screen that is displayed in response to the deletion candidate notification dialog 412 being pressed, and has the same functionality as the selection screen 501. However, the selection screen 701 displays different objects as targets for deletion than the selection screen 501. Specifically, the selection screen 701 displays objects 219 and 221, which have overlapped due to object resizing, as objects that are candidates for deletion. Figure 7 shows the state in which object 219, which represents text, is selected as the object to be deleted among the overlapping objects. Similar to the selection screen 501, when the Web application 21 detects that the user has pressed the OK button 702 on the selection screen 701 while the object to be deleted is selected, it closes the selection screen 701. Then, the Web application 21 performs the process of deleting the object that was targeted for deletion from the editing data.

[0036] Figure 8 shows an example of the editing screen 200 displaying the edited data after object 219 has been selected for deletion in the selection screen 701 shown in Figure 7 and the process of deleting object 219 has been executed. Of the overlapping objects, object 219 has been deleted, while object 221, which represents the 2D code, is retained.

[0037] <Object resizing process> Referring to Figures 9 and 10, the object resizing process performed by the CPU 11 of the client terminal 10 will be described. Specifically, the object resizing process in this embodiment is realized when the CPU 11 executes the client program 17 of the web browser 14.

[0038] Figure 9 is a flowchart illustrating an example of object resizing processing executed by the CPU 11 of the client terminal 10. The processing shown in Figure 9 is achieved when the CPU 11 of the client terminal 10 reads the program stored in ROM 12 and the client program 17 into RAM 13, and then the CPU 11 executes them. Note that some or all of the functions of the steps in Figure 9 may be implemented by hardware such as an ASIC or electronic circuit. The symbol "S" in the description of each process means that it is a step in the flowchart (the same applies to flowcharts in this specification hereafter). The processing shown in Figure 9 is started when the user changes the size of the recording medium used for printing. For example, the processing shown in Figure 9 is started when the user presses the size of the recording medium displayed from the list 310.

[0039] In S901, the CPU 11 obtains a magnification factor M from the client program 17, which represents the ratio of the size of the recording medium selected in the pull-down menu 234 to the size of the currently selected recording medium. For example, as one way to obtain the magnification factor M, the CPU 11 obtains the horizontal length L1 corresponding to the size of the currently selected recording medium and the horizontal length L2 corresponding to the size of the recording medium selected in the pull-down menu 234. Then, the CPU 11 can obtain the magnification factor by dividing length L2 by length L1. Here, let's assume that the CPU 11 obtains a value of 0.34 as the horizontal magnification factor from the client program 17.

[0040] Furthermore, the CPU 11 obtains the vertical height H1 corresponding to the size of the currently selected recording medium and the vertical height H2 corresponding to the size of the recording medium selected in the pull-down menu 234 from the client program 17. Then, the CPU 11 can obtain the scaling factor by dividing the height H2 by the height H1. Here, let's assume that the CPU 11 obtained a value of 0.24 as the vertical scaling factor from the client program 17.

[0041] In this embodiment, the smaller of the horizontal and vertical magnification ratios is used. Specifically, the CPU 11 uses a vertical magnification ratio of 0.24.

[0042] In S902, the CPU 11 determines, based on the client program 17, whether the magnification ratio M obtained in S901 is less than 1. If the CPU 11 determines that the magnification ratio M is less than 1 (Yes), it proceeds to S903; if it determines that the magnification ratio M is 1 or greater (No), it proceeds to S910. In other words, in S902, if the CPU 11 determines that the size of the editing data has been reduced due to the change in the size of the recording medium, it proceeds to S903; if it determines that the size of the editing data has been increased or decreased, it proceeds to S910. The size of the editing data refers to the size of the editing area within the editing data where objects, etc., are placed and editing is performed.

[0043] In S903, the CPU 11 detects objects from the editing data using the client program 17 and determines the type of object to be resized from among the detected objects. For example, as shown in Figure 9, the CPU 11 determines whether the type of object to be resized is text, a 2D code, or something else. For example, in S903, the CPU 11 can determine the type of object to be resized based on the object types shown in Figure 10, which will be described later.

[0044] In S903, CPU11, according to client program 17, proceeds to S904 if the type of object to be resized is text, and to S906 if the type of object to be resized is a two-dimensional code. Also in S903, CPU11, according to client program 17, proceeds to S908 if the type of object to be resized is neither text nor a two-dimensional code.

[0045] In S904, the CPU 11 determines whether the font size after scaling down the object to be resized by the client program 17 according to the scaling factor M is smaller than a pre-set minimum font size. The minimum font size indicates the smallest size of the text font. If the CPU 11 determines in S904 that the font size after scaling down the object to be resized by the client program 17 according to the scaling factor M is smaller than or the same as the minimum font size, the process proceeds to S905. If the CPU 11 determines in S904 that the font size after scaling down the object to be resized by the client program 17 according to the scaling factor M is larger than the minimum font size, the process proceeds to S910.

[0046] In other words, if the font size reduced according to the scaling factor M becomes less than or equal to the minimum font size, then, from the standpoint of text readability, CPU11 in S905 (described later) will not change the font size of the object to be resized to a size corresponding to the scaling factor M.

[0047] In S905, the CPU 11 changes the font size of the object to be resized to the minimum font size using the client program 17, and then proceeds to S911. Note that when changing the font size of an object to be resized, the CPU 11 may also fix the text alignment direction of the object before changing its font size.

[0048] In S906, the CPU 11 determines whether the size of the object after reduction is smaller than a preset minimum size when the client program 17 reduces the size of the object to be resized according to the scaling factor M. The minimum size refers to the smallest size of the image. If the CPU 11 determines in S906 that the size of the object after reduction is smaller than or the same as the minimum size when the client program 17 reduces the size of the object to be resized according to the scaling factor M, the process proceeds to S907. If the CPU 11 determines in S906 that the size of the object after reduction is larger than the minimum size when the client program 17 reduces the size of the object to be resized according to the scaling factor M, the process proceeds to S910.

[0049] In other words, if the size of the object reduced according to the scaling factor M becomes less than or equal to the minimum size, then, from the standpoint of readability of the 2D code, CPU 11 in S907 (described later) does not change the size of the object to be resized to the size according to the scaling factor M.

[0050] In S907, the CPU 11 changes the size of the object to be resized to the minimum size using the client program 17, and then proceeds to S911. Note that when changing the size of the object to be resized, the CPU 11 may change the size of the object around its center of gravity.

[0051] In S908, the CPU 11 determines, based on the client program 17, whether or not the object to be resized is an object containing text. In this embodiment, an object containing text is an object different from an object that represents text.

[0052] For example, an object containing text is an object in which text is embedded, such as an image, or an object composed of text combined with other objects. Examples of objects containing text include a map image object containing text indicating a place name, or a clipart object of a store logo containing the store name.

[0053] Furthermore, as an example of a method for determining whether an object contains text, the CPU 11 in the S908 can determine whether an object to be resized contains text by analyzing the object. For example, this determination can be achieved using OCR (Optical Character Recognition) technology.

[0054] In S908, if the CPU 11 determines, based on the client program 17, that the object to be resized contains text (Yes), it proceeds to S909 and then to S911 without changing the size of the object. If the object to be resized contains text, changing the size of the object according to the magnification M may make the text contained in the object difficult to read. In particular, if an object containing text is reduced in size and the edited data containing the object is output as an image such as a poster, it may become difficult to read the text contained in the image. In other words, if the object to be resized contains text, from the standpoint of readability, the CPU 11 does not resize the object in S909.

[0055] In S908, if CPU11 determines, based on client program 17, that the object to be resized is not an object containing text (No), then proceed to S910.

[0056] In S910, the CPU 11 changes the size of the object to be resized according to the scaling factor M obtained in S901 by the client program 17, and proceeds to S911. For example, if S904 is used, in S910 the CPU 11 reduces the font size of the object to be resized according to the scaling factor M. If S906 or S908 is used, in S910 the CPU 11 reduces the size of the object to be resized according to the scaling factor M. If it is determined in S902 that the scaling factor M is 1 or greater (No), in S910 the CPU 11 enlarges or changes the size of the object to be resized to the same size according to the scaling factor M. When enlarging or changing the size of the object to be resized to the same size, the size of all objects included in the editing data is changed according to the scaling factor M.

[0057] In S911, the CPU 11 determines, based on the client program 17, whether or not the resizing of all objects included in the edited data has been completed. If the CPU 11 determines in S911 that the resizing of all objects has not been completed (No), it proceeds to S903 and repeats the processes from S903 to S910 until the resizing of all objects is completed. If the CPU 11 determines in S911 that the resizing of all objects has been completed (Yes), it terminates the process shown in Figure 9. The above is the sequence of processes for resizing objects included in edited data.

[0058] Figure 10 shows an example of how the client program 17 saves and manages objects included in the edited data. In this embodiment, the client program 17 manages objects included in the edited data using a management table as shown in Figure 10. In the management table shown in Figure 10, the object ID, object type, and object size are linked.

[0059] An object ID is an identifier used to uniquely identify an object. For example, each of the objects 211 to 221 shown in Figures 2 to 8 has a corresponding object ID. For instance, object 221, which represents a two-dimensional code, has the object ID Q01.

[0060] The object type indicates the type of object. The object size indicates the size of the object included in the editing data. For example, according to Figure 10, the clip art object with object ID C01 has a rectangular area of ​​size of 290 mm x 120 mm. Note that the shape of the object included in the editing data does not have to match the shape of the rectangular area indicated by the object size. For example, even if an object representing an image is circular, the object size of that object may be managed as a rectangular area in the management table. In other words, the object size in the management table is a convenient size set for managing objects in the editing data.

[0061] Here, we will explain the resizing process for the object shown in Figure 9, for example, when Square (100mm x 100mm) is pressed in Figure 3, and the size of the recording medium is changed from A3 to Square (100mm x 100mm). According to Figure 10, for example, the object with object ID B01 is an object representing the background, and its size is 297mm x 420mm. In this embodiment, the minimum font size and the minimum size of the 2D code are predetermined to be 8pt and 20mm x 20mm, respectively. We will consider the case where the object representing text, which has object ID T04 as shown in Figure 10, is the target of the resizing process. In this case, in S904, the CPU 11 compares the font size of the object representing text, which is 16pt multiplied by 0.24 to get 3.84pt, with the minimum font size of 8pt. The CPU 11 then determines, according to the client program 17, that the minimum font size is larger. Therefore, in S905, CPU 11 changes the font size of the object representing text to the minimum font size of 8pt, as determined by the client program 17. Note that for object types other than text or 2D codes, the minimum font size or minimum size may also be predetermined.

[0062] Let's consider the case where an object representing a 2D code, having the object ID Q01 as shown in Figure 10, is the target of the resizing process. In this case, at S906, the CPU 11, using the client program 17, compares the size of the object representing the 2D code (80mm x 80mm) multiplied by 0.24 to 19.2mm, which is 19.2mm x 19.2mm, with the minimum size of 20mm x 20mm. The CPU 11 then determines, using the client program 17, that the minimum size is larger. Therefore, at S907 in Figure 9, the CPU 11, using the client program 17, changes the size of the object representing the 2D code to the minimum size of 20mm x 20mm.

[0063] Furthermore, consider the case where an object representing an image, having the object ID P03 as shown in Figure 10, becomes the target of the resizing process. In this case, at S908, the CPU 11, using the client program 17, determines whether or not the object representing an image is an object containing text. Then, at S909, if the CPU 11 determines, using the client program 17, that the object to be resized in S908 is an object containing text, it does not resize the object. At S909, if the CPU 11 determines, using the client program 17, that the object to be resized in S908 is not an object containing text, it changes the size of the object according to the scaling factor M. By performing the above resizing process for each object, it is possible to obtain a layout of edited data in which the font size of all text objects is equal to or greater than the minimum font size, and the size of the object representing the 2D code is equal to or greater than the minimum size.

[0064] <Selection process for deletion candidates> The process of selecting deletion candidates will be explained with reference to Figures 11 and 12. Figure 11 is a flowchart showing an example of the deletion candidate selection process executed by CPU 11 in response to the completion of the object resizing process. The process shown in Figure 11 is started when the user changes the size of the recording medium and the object resizing process shown in Figure 9 above is completed.

[0065] In S1101, the CPU 11 determines, based on the client program 17, whether or not objects included in the resized edited data overlap. If the CPU 11 determines in S1101, based on the client program 17, that objects among the objects included in the resized edited data overlap (Yes), the process proceeds to S1102. If the CPU 11 determines in S1101, based on the client program 17, that objects included in the resized edited data do not overlap (No), this flow terminates.

[0066] In other words, even if objects in the edited data overlap before resizing (for example, before the resizing process shown in Figure 9), CPU 11 does not perform the processing from S1102 onwards at S1101, due to the client program 17. That is, in such cases, CPU 11 does not display a deletion candidate notification dialog at S1103, which will be described later, nor does it display a selection screen at S1105, which will be described later.

[0067] In S1102, the CPU 11 determines, based on the client program 17, whether the attributes of overlapping objects both have priority assigned to them, based on the object attributes described later and the priority corresponding to the object attributes. If the CPU 11 determines in S1102 that the attributes of overlapping objects both have priority assigned to them (Yes), the process proceeds to S1103. If the CPU 11 determines in S1102 that the attributes of overlapping objects do not both have priority assigned to them (No), the process terminates. For example, in S1102, the CPU 11 can determine whether the attributes of overlapping objects both have priority assigned to them by obtaining priority information corresponding to the object attributes, as shown in Figure 14 described later.

[0068] In this embodiment, we will explain using the example of a situation where two of the multiple objects included in the editing data overlap and priority is set for the attributes of both objects, but we are not limited to this. For example, if three or more objects overlap and priority is set for the attributes of these objects, the deletion candidate selection process in this embodiment can be applied.

[0069] In S1103, the CPU 11 displays a deletion candidate notification dialog via the client program 17 and proceeds to S1104. For example, if object 218 representing resized text and object 213 representing an image overlap and both have priority set, the CPU 11 displays a deletion candidate notification dialog 411 as shown in Figure 4. However, if neither of the overlapping objects has priority set for its attributes, the CPU 11 does not display the deletion candidate notification dialog. Specifically, if there are two overlapping objects and neither of these objects has priority set for its attributes, the CPU 11 does not display the deletion candidate notification dialog.

[0070] Here, we assume there are three overlapping objects, and one of these objects does not have a priority assigned to its attribute, while the other two objects do have priority assigned to their attributes. In this case, CPU 11 displays a deletion candidate notification dialog for the two objects that have priority assigned to their attributes. Note that if there are three overlapping objects and all of these objects have priority assigned to their attributes, CPU 11 can display a deletion candidate notification dialog for all three of these objects.

[0071] Text placed on top of clip art in its original state before resizing is largely unaffected even if it overlaps with the clip art after resizing. Therefore, in this embodiment, the CPU 11 can be controlled by the client program 17 not to display a deletion candidate notification dialog and not to perform the object deletion process. Such control can be achieved, for example, by not setting a priority for the attributes of the object representing the clip art. Details on how to set priorities according to the attributes of an object will be explained later.

[0072] In S1104, the CPU 11 determines whether the deletion candidate notification dialog was pressed by the client program 17. If the CPU 11 determines in S1104 that the deletion candidate notification dialog was pressed (Yes), it proceeds to S1105. If it determines that the deletion candidate notification dialog was not pressed (No), it terminates this flow.

[0073] In S1105, the CPU 11, in response to the deletion candidate notification dialog being pressed by the client program 17, displays a selection screen where deletion candidates can be selected, and proceeds to S1106. For example, in response to the deletion candidate notification dialog 411 being pressed in Figure 4, a selection screen 501 as shown in Figure 5 is displayed. The user performs a selection operation to select the object to be deleted from among the overlapping objects displayed on the selection screen 501.

[0074] In S1106, the CPU 11 deletes the specified object in response to the client program 17 selecting an object to be deleted. However, the object deletion process in this embodiment is not limited to this. For example, in S1106, the CPU 11 may automatically delete objects with a lower priority from among the overlapping objects detected by the client program 17. This allows for the automatic resizing of each object included in the edited data to a size suitable for the recording medium when the size of the edited data changes due to a change in the size of the recording medium.

[0075] According to this disclosure, the layout of overlapping objects included in editing data can be adjusted in print creation applications such as poster creation applications. Specifically, when the size of the editing data is changed and objects included in the editing data overlap, the client program can notify the user that the objects are overlapping by displaying a deletion candidate notification. The user can then perform an action on the deletion candidate notification displayed as an item. Furthermore, the user can adjust the layout of the overlapping objects via a selection screen displayed in response to the action on the deletion candidate notification.

[0076] Figure 12 shows an example of a method for saving and managing the coordinates of each object included in the resized edited data, which allows the client program 17 to detect overlapping objects among multiple objects included in the edited data.

[0077] In the management table in Figure 12, the object ID, the top-left coordinate of the object, and the bottom-right coordinate of the object are linked to each other. The object ID in Figure 12 is an identifier used to uniquely identify an object. The top-left coordinate of the object is the coordinate of the top-left vertex of the rectangular area possessed by the object included in the editing data, with the top-left vertex coordinate of the rectangular editing data as the reference point. The bottom-right coordinate of the object is the coordinate of the bottom-right vertex of the rectangular area possessed by the object included in the editing data, with the top-left vertex coordinate of the rectangular editing data as the reference point. For example, consider the case where the size of the recording medium is changed from A3 to square (100mm x 100mm), as shown in Figure 4, and the resizing process of the objects included in the editing data is completed. The vertex coordinates of the rectangular area possessed by each object in S1101 in Figure 11 are as shown in Figure 12. In this case, looking at the relationship between the object with object ID P02 and the object with object ID T04, they overlap in the x-coordinate range of 60.0 to 80.0 and in the y-coordinate range of 90.0 to 91.4. In this way, the CPU 11 can detect overlaps of each object included in the edited data by referring to a table like the one shown in Figure 12 via the client program 17.

[0078] Figure 13 shows an example of a poster created based on a template in the web application 21, and the attributes of objects pre-set for the objects included in the template. Figure 13 shows, for example, the attributes of objects pre-set for each object included in the editing data shown in Figure 2. According to Figures 2 and 13, the object 213 representing an image has the attribute "sub-image," and the object 218 representing text has the attribute "details (2)."

[0079] Figure 14 shows an example of a method for saving and managing priorities according to object attributes. In the management table in Figure 14, object attributes and priorities are linked. The object attributes in Figure 14 indicate the attributes set for objects included in the edit data. The priorities in Figure 14 indicate the priorities corresponding to the object attributes. In S1102 of Figure 11 mentioned above, the CPU 11 can determine that both object 213 and object 218 have priorities set by referring to Figure 14 via the client program 17.

[0080] In Figure 14, a smaller value for priority indicates a higher priority. For example, according to Figure 14, object 213, which has the object attribute of a sub-image, has a priority of 3, while object 218, which has the object attribute of detail (2), has a priority of 5. In other words, according to Figure 14, object 213, which has the object attribute of a sub-image, has a higher priority than object 218, which has the object attribute of detail (2). Furthermore, the priority corresponding to an object attribute can be set in stages, as shown in Figure 14.

[0081] In Figure 14, object attributes for which no priority has been set are indicated with a hyphen to show "not set". For example, according to Figure 14, the object attributes of clip art have no priority set. Note that the list shown in Figure 14 will be updated when priority is set, as described later.

[0082] <Priority based on object attributes> Next, we will explain how to set the priority of attributes corresponding to each object included in the edited data, referring to Figure 15.

[0083] Figure 15 shows an example of the editing screen 200 of a web application, with the settings screen 1500 for setting priority levels corresponding to object attributes displayed. When the user presses the settings button 233, the client program 17 displays the settings screen 1500. The settings screen 1500 displays the priority setting attribute list 1501 and the unpriority setting attribute list 1502. The priority setting attribute list 1501 displays the attributes of objects for which priority levels have been set. The unpriority setting attribute list 1502 displays the attributes of objects for which priority levels have not been set.

[0084] The priority attribute list 1501 or the unpriority attribute list 1502 includes checkboxes for selecting attributes for each object displayed in the list. The settings screen 1500 also includes the move buttons 1503 and 1504 (described later), as well as the OK button 1505 and the Apply button 1506.

[0085] The higher an attribute is located in the priority attribute list 1501, the higher its priority is set for that attribute. Furthermore, the user can select any object attribute in the priority attribute list 1501 and press the move button 1503 to move the selected object's attribute from the priority attribute list 1501 to the unprioritized attribute list 1502. The user can then press the apply button 1506 to disable the priority setting for the selected object's attribute.

[0086] Furthermore, the user can select an attribute of any object in the unpriority attribute list 1502 and press the move button 1504 to move the selected object's attribute from the unpriority attribute list 1502 to the priority attribute list 1501. The user can then set a priority for the selected object's attribute by pressing the apply button 1506. When the client program 17 detects that the user has pressed the OK button 1505, it closes the settings screen 1500.

[0087] <<Other Embodiments>> While preferred embodiments of the present disclosure have been described, it goes without saying that the disclosure is not limited to these embodiments, and various modifications and changes are possible within the scope of its gist. The various features of the embodiments described above may be used individually or in combination.

[0088] This disclosure can also be implemented by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be implemented by a circuit (e.g., an ASIC) that implements one or more functions.

[0089] Storage media for supplying program code can include, for example, flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, or DVDs.

[0090] Furthermore, by executing the program code read by the computer, the functions of the aforementioned embodiment are realized, and the operating system running on the computer performs some or all of the actual processing based on the instructions of that program code. It goes without saying that this also includes cases where the functions of the aforementioned embodiment are realized through that processing.

[0091] Furthermore, the program code read from the storage medium is written to the memory of a function expansion board inserted into a computer, or a function expansion unit connected to a computer. Subsequently, based on the instructions of the written program code, the CPU or other components of the function expansion board or function expansion unit perform some or all of the actual processing, and it goes without saying that this also includes cases where the functions of the aforementioned embodiment are realized through that processing.

[0092] The disclosure of this embodiment includes configurations represented by the following example programs, example information processing devices, and example control methods for information processing devices.

[0093] <Configuration 1> A program for an application executed by an information processing device, The aforementioned information processing device A first modification means for changing the size of the editing area of ​​the editing data in the application, in accordance with a change in the size of the recording medium used to output editing data including a first object and a second object different from the first object, When the size of the editing area is changed by the first modification means and the first object and the second object overlap, a control means is provided to perform control to notify the first object and the second object of the overlap. A program characterized by its ability to function in a certain way.

[0094] <Configuration 2> The program according to configuration 1, characterized in that the information processing device further functions as a second modification means for accepting a change in the size of the recording medium in the application.

[0095] <Structure 3> The program according to configuration 2, characterized in that the first object and the second object each have a value set that indicates the minimum size of the corresponding object.

[0096] <Structure 4> The program according to configuration 3, characterized in that the aforementioned value differs depending on the type of the first object and the second object.

[0097] <Composition 5> The program according to configuration 3 or 4, characterized in that the first modifying means modifies the size of the editing area based on the ratio of the size of the recording medium after the second modifying means accepts the change in the size of the recording medium to the size of the recording medium before the second modifying means accepts the change in the size of the recording medium.

[0098] <Composition 6> The first modification means described above is: If the size of the editing area is changed and the size of the first object and the second object is reduced to or less than the size indicated by the value set for each of them, the first object and the second object are changed to the size indicated by the value. The program according to configuration 5, characterized in that, when the size of the editing area is changed and the size of the first object and the second object is changed to a size larger than the value set for each of them, the first object and the second object are changed according to the magnification.

[0099] <Composition 7> The program according to configuration 6, characterized in that the first object and the second object, which are changed to the size indicated by the aforementioned value, are either an object representing text or an object representing a two-dimensional code.

[0100] <Structure 8> The program according to any one of configurations 1 to 7, characterized in that the change in the size of the editing area performed by the first modification means is to reduce the size of the editing area.

[0101] <Composition 9> The information processing device acquires information indicating whether a priority is set for the attributes of the first object and the second object, The control means is a program according to any one of configurations 1 to 8, characterized in that it provides the notification based on the information.

[0102] <Composition 10> The program according to configuration 9, characterized in that the control means makes the notification if a priority is set for any of the attributes of the first object and the second object.

[0103] <Composition 11> Each of the aforementioned attributes has a different priority set. The program according to configuration 10, characterized in that the control means further performs control to delete from the edit data an object having the attribute with the lower priority among the first object and the second object based on the information.

[0104] <Composition 12> The program according to configuration 11, further characterized in that the control means performs control to display a setting screen in which the priority can be set according to the user's operation.

[0105] <Composition 13> The program according to configuration 12, characterized in that the priority can be set according to the attributes of the first object and the second object.

[0106] <Composition 14> The control means is Control is performed to display the items for the aforementioned notification, The program according to any one of configurations 1 to 13, further characterized by displaying a selection screen that allows the user to select an object to delete from among the first object and the second object in response to the user's operation on the item.

[0107] <Composition 15> The program according to configuration 14, wherein the control means further performs control to delete the selected object based on the user's selection operation of the object to be deleted on the selection screen.

[0108] <Composition 16> The first object and the second object each have a rectangular region indicating the size of the corresponding object. The program according to any one of configurations 1 to 15, characterized in that the control means further performs control to detect the overlap of the first object and the second object based on the vertex coordinates of the rectangular region for each of the first object and the second object.

[0109] <Composition 17> The program according to configuration 2, characterized in that the control means does not provide the notification even if the first object and the second object overlap in the edited data before the second modification means accepts the change in the size of the recording medium.

[0110] <Composition 18> An information processing device for executing an application, A first modification means for changing the size of the editing area of ​​the editing data in the application, in accordance with a change in the size of the recording medium used to output editing data including a first object and a second object different from the first object, When the size of the editing area is changed by the first modification means and the first object and the second object overlap, a control means is provided to perform control to notify the first object and the second object of the overlap. An information processing device characterized by comprising:

[0111] <Composition 19> A method for controlling an information processing device that executes an application, A first modification step in which the size of the editing area of ​​the editing data is changed in accordance with a change in the size of the recording medium used to output editing data including a first object and a second object different from the first object in the aforementioned application, If the first object and the second object overlap as a result of the size of the editing area being changed in the first modification step, a control step is performed to notify that the first object and the second object overlap. A control method characterized by having the following features.

Claims

1. A program for an application executed by an information processing device, The aforementioned information processing device A first modification means for changing the size of the editing area of ​​the editing data in the application, in accordance with a change in the size of the recording medium used to output editing data including a first object and a second object different from the first object, When the size of the editing area is changed by the first modification means and the first object and the second object overlap, a control means is provided to perform control to notify the first object and the second object of the overlap. A program characterized by its ability to function in a certain way.

2. The program according to claim 1, characterized in that the information processing device further functions as a second modification means for accepting a change in the size of the recording medium in the application.

3. The program according to claim 2, characterized in that the first object and the second object each have a value set that indicates the minimum size of the corresponding object.

4. The program according to claim 3, characterized in that the aforementioned value differs depending on the type of the first object and the second object.

5. The program according to claim 4, wherein the first modifying means modifies the size of the editing area based on the ratio of the size of the recording medium after the second modifying means accepts the change in the size of the recording medium to the size of the recording medium before the second modifying means accepts the change in the size of the recording medium.

6. The first modification means is, If the size of the editing area is changed and the size of the first object and the second object is reduced to or less than the size indicated by the value set for each of them, the first object and the second object are changed to the size indicated by the value. The program according to claim 5, characterized in that, if the size of the editing area is changed and the size of the first object and the second object is changed to a size larger than the value set for each of them, the first object and the second object are changed according to the magnification.

7. The program according to claim 6, characterized in that the first object and the second object, which are changed to the size indicated by the aforementioned value, are either an object representing text or an object representing a two-dimensional code.

8. The program according to claim 1, characterized in that the change in the size of the editing area performed by the first modification means is to reduce the size of the editing area.

9. The information processing device acquires information indicating whether a priority is set for the attributes of the first object and the second object, respectively. The program according to claim 1, characterized in that the control means provides the notification based on the information.

10. The program according to claim 9, wherein if a priority is set for any of the attributes of the first object and the second object, the control means provides the notification.

11. Each of the aforementioned attributes has a different priority set. The program according to claim 10, wherein the control means further performs control to delete from the edit data an object having the attribute with the lower priority among the first object and the second object based on the information.

12. The program according to claim 11, wherein the control means further performs control to display a setting screen in which the priority can be set according to the user's operation.

13. The program according to claim 12, characterized in that the priority can be set according to the attributes of the first object and the second object.

14. The control means is Control is performed to display the items for the aforementioned notification, The program according to claim 1, further characterized by displaying a selection screen in which the user can select an object to delete from the first object and the second object in response to the user's operation on the item.

15. The program according to claim 14, wherein the control means further performs control to delete the selected object based on the user's selection operation of the object to be deleted on the selection screen.

16. The first object and the second object each have a rectangular region indicating the size of the corresponding object. The program according to claim 1, wherein the control means further performs control to detect the overlap of the first object and the second object based on the vertex coordinates of the rectangular region for each of the first object and the second object.

17. The program according to claim 2, characterized in that the control means does not provide the notification even if the first object and the second object overlap in the edited data before the second modification means accepts the change in the size of the recording medium.

18. An information processing device for executing an application, A first modification means for changing the size of the editing area of ​​the editing data in the application, in accordance with a change in the size of the recording medium used to output editing data including a first object and a second object different from the first object, When the size of the editing area is changed by the first modification means and the first object and the second object overlap, a control means is provided to perform control to notify the first object and the second object of the overlap. An information processing device characterized by comprising:

19. A method for controlling an information processing device that executes an application, A first modification step in which the size of the editing area of ​​the editing data is changed in accordance with a change in the size of the recording medium used to output editing data including a first object and a second object different from the first object in the aforementioned application, If the first object and the second object overlap as a result of the size of the editing area being changed in the first modification step, a control step is performed to notify that the first object and the second object overlap. A control method characterized by having the following features.