Information processing apparatus, information processing method, and program

JP2025033952AActive Publication Date: 2025-03-13CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023140025
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-03-13
Estimated Expiration
2043-08-30

AI Technical Summary

Benefits of technology

【0009】 本開示により、複数のホストアプリで作成したデータを各ホストアプリのプラグインモジュールから呼び出し別のアプリで処理し、処理後のデータを再度呼び出し元のホストアプリのいずれかへ返す場合に、処理後のデータを正しく出力することが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025033952000001_ABST
    Figure 2025033952000001_ABST
Patent Text Reader

Abstract

To process data generated by a plurality of host applications by another application called from a plug-in module of each host application and correctly output the data processed by another application when returning the processed data to any of the host applications of a calling source again.SOLUTION: A layout application 600 acquires label data generated by a design application 400, which is a host, as an editing target via a plug-in module 500. At this time, the layout application 600 acquires attribute information on the acquired label data. The layout application 600 also acquires function information on the host application 400. The layout application 600 determines a host application, which returns the data edited by the layout application 600 on the basis of the acquired attribute information and function information.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to data processing and data output using plug-in modules. [Background technology]

[0002] There is a known method for extending the functionality of an application program (hereafter referred to as an app) by incorporating an additional program called a plug-in module into the app. With this method, a host app requests processing from another app with different functionality via a plug-in module. In response to the request, the other app executes the processing, and the processed data is returned to the host via the plug-in module.

[0003] However, in an environment where multiple host applications each incorporate a plug-in module, when another application executes processing in response to a processing request from each host application and returns the processed data to the host application, the processing contents may not be reflected correctly. For example, when data created by multiple host applications with different functions is combined and processed in another application, information that cannot be handled by the functions of the host application to which the data is returned is added, and the processing results of the other application cannot be reflected correctly in the host application.

[0004] Regarding the transfer of information between programs, Patent Document 1 discloses a method for preventing the loss of information required by a second processing program when a document processed by a first processing program is sent to a second processing program. In the method of Patent Document 1, the first processing program displays a user interface that prevents the user from selecting a specific function, so that the information required by the second processing program is not lost. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2013-030141 A Summary of the Invention [Problem to be solved by the invention]

[0006] However, the method of Patent Document 1 does not take into consideration the case where an inconsistency occurs between the data transmission source and the data transmission destination. As in the above example, when data created by multiple host applications with different functions is combined and processed in another application, the processing results cannot be correctly reflected even if they are sent to the host application.

[0007] An object of the present disclosure is to enable correct output of processed data when data created by multiple host applications is called from a plug-in module of each host application and processed by another application, and the processed data is then returned to one of the host applications that called the data. [Means for solving the problem]

[0008] The information processing device according to the present disclosure is characterized in that it is equipped with a second application that is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first application via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first application via one of the plug-in modules, and the second application is equipped with an acquisition means that acquires attribute information of the processed data when returning the processed data to the first application, and acquires functional information of the first application that created the data to be processed that is included in the processed data, and a determination means that determines the first application to which the processed data will be returned based on the attribute information and the functional information acquired by the acquisition means, and determines the plug-in module that hosts the determined first application as the output destination of the processed data. Effect of the Invention

[0009] According to the present disclosure, when data created by multiple host applications is called from a plug-in module of each host application and processed by another application, and the processed data is then returned to one of the host applications that called it, it becomes possible to correctly output the processed data. [Brief description of the drawings]

[0010] [Figure 1] FIG. 2 is a block diagram showing a hardware configuration of the printing system. [Diagram 2] FIG. 2 is a block diagram illustrating a hardware configuration of the printing apparatus. [Diagram 3] FIG. 2 illustrates an example of a software configuration of the printing system. [Figure 4] FIG. 13 is a diagram showing an example of a screen of a design application. [Diagram 5] FIG. 11 is a diagram illustrating an example of a processing sequence of a plug-in module. [Figure 6] 13 is a flowchart showing the flow of a label data adding process. [Figure 7] FIG. 11 is a diagram showing an example of label data. [Figure 8] FIG. 11 is a diagram showing an example of attribute information of label data. [Figure 9] FIG. 11 is a diagram illustrating an example of function information of a host application. [Figure 10] FIG. 11 is a diagram illustrating an example of a list of output destination candidates. [Figure 11] 13 is a flowchart showing the flow of an output destination determination process. [Figure 12] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 13] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 14] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 15] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 16]13 is a flowchart showing the flow of an output destination determination process in the second embodiment. [Figure 17] FIG. 13 illustrates an example of a selection screen. [Figure 18] FIG. 13 is a diagram showing information acquired by a layout application. [Figure 19] 13 is a flowchart showing the flow of an output destination determination process in the third embodiment. [Figure 20] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 21] 13 is a flowchart showing the flow of label data addition processing in the fourth embodiment. [Figure 22] FIG. 13 is a diagram illustrating an example of a candidate output destination list in the fourth embodiment. [Figure 23] 13 is a flowchart showing the flow of an output destination determination process in the fourth embodiment. [Figure 24] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Diagram 25] FIG. 13 is a diagram showing an example of an edited data warning screen. [Figure 26] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 27] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 28] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Figure 29] FIG. 13 is a diagram illustrating an example of a screen of a layout application. [Diagram 30] 13 is a flowchart showing the flow of post-edit data saving processing in the fifth embodiment. [Diagram 31] FIG. 11 is a diagram showing an example of edited data. [Diagram 32] 11A and 11B are diagrams illustrating an example of attribute information acquired by a layout application. [Diagram 33] FIG. 13 is a diagram showing an example of edited data after reprocessing. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the present disclosure according to the claims, and all of the combinations of features described in the embodiments are not necessarily essential to the solution of the present disclosure.

[0012] <First embodiment> (Printing system hardware configuration) In this embodiment, a printing system used in a label printing process will be described as an example. Note that the present disclosure is not limited to this example and can be applied to various information processing systems. Furthermore, data to be processed is not limited to label data, and can be applied to document data, image data, and other data.

[0013] FIG. 1 is a block diagram showing the hardware configuration of a printing system. 1, the printing system includes a host computer 101 and a printing device 201. The host computer 101 is an embodiment of the information processing device of the present disclosure.

[0014] The host computer 101 has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. In addition, input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and a display device such as a display unit 119 is connected to the output interface 115.

[0015] The CPU 111 is a control unit that controls the host computer 101, and loads programs stored in the ROM 112, the external storage device 114, etc. into a work area of ​​the RAM 113 and executes them. An initialization program is stored in the ROM 112. The external storage device 114 stores programs related to applications, which will be described later, an operating system (OS), and various other data. The RAM 113 is used as a work memory, etc. when the CPU 111 executes programs.

[0016] The programs executed by the host computer 101 include a design application (hereinafter referred to as design application 400) and a layout application 600 (hereinafter referred to as layout application). These applications will be described later. In the printing system of this embodiment, the CPU 111 reads out a program stored in the ROM 112 or the external storage device 114, and executes the processing described in the program according to the procedure of a flowchart described later. In this way, the host computer 101 realizes various functions described later.

[0017] The printing device 201 is connected to the host computer 101 via the input / output interface 116. Note that a plurality of printing devices 201 may be connected to the host computer 101. Here, an example is shown in which the host computer 101 and the printing device 201 are configured separately, but they may also be configured as a single device. Also, a plurality of host computers 101 may be connected to the printing device 201.

[0018] In this embodiment, the printing device 201 is described as an inkjet printer that prints by ejecting ink onto a recording medium such as paper, but printing may be performed by other methods (for example, electrophotography). The host computer 101 may be a desktop personal computer, a smartphone, or a notebook computer.

[0019] 2 is a block diagram showing the hardware configuration of the printing device 201. The printing device 201 has an input interface 210, a CPU 211, a ROM 212, a RAM 213, a print engine 214, an output interface 215, an input / output interface 216, a key input unit 217, a display unit 218, an external storage device 219, and the like.

[0020] The CPU 211 functions as a control unit that controls the entire printing device 201. The CPU 211 loads programs stored in the ROM 212, the external storage device 219, etc. into a work area of ​​the RAM 213 and executes them. The ROM 212 stores fixed data such as control programs executed by the CPU 211 and data tables. The RAM 213 is used as a work memory for the CPU 211, and is also used as a buffer for temporarily storing print jobs. A hot folder 220 (FIG. 3) is configured in the external storage device 219 via a file system.

[0021] The hot folder 220 is a folder that stores print jobs received from the host computer 101. The printing device 201 obtains the print jobs stored in the hot folder 220 in accordance with a control signal from the CPU 211, and executes the print jobs.

[0022] The key input unit 217 has numeric input keys, a mode setting key, a decision key, a cancel key, etc., and inputs signals according to user operations to the CPU 211. The display unit 218 is composed of an LCD (liquid crystal display) or the like, and displays details of the print data received from the host computer 101 and the status of the printing device 201 according to a control signal from the CPU 211. The display unit 218 may be a display integrated with a touch panel. In that case, the display unit 218 inputs a signal according to a touch operation on the touch panel to the CPU 211.

[0023] The print engine 214 forms an image on a recording medium such as paper using a recording agent such as ink, based on the data stored in the RAM 213 and the print job acquired from the host computer 101 or the hot folder 220, and ejects a printed matter as the print result. In this embodiment, a PDF file is used as the format of the print job file, but the file format is not limited to this.

[0024] By connecting the input / output interface 116 of the computer 101 and the input / output interface 216 of the printing device 201, the computer 101 and the printing device 201 can communicate with each other. For example, a network connection or the like can be used as a connection method, but the connection method is not limited to this.

[0025] (Printing system software configuration) 3 is a block diagram showing the software configuration of the printing system 100. As described above, application programs such as the design application 400 and the layout application 600 are stored in the host computer 101 of the printing system.

[0026] The design application 400 is an application that creates label data to be printed by the printing apparatus 201. A designer or the like who creates and edits the label data uses the design application 400 to create the label data to be printed.

[0027] Furthermore, the design application 400 incorporates a plug-in module 500 (hereinafter referred to as a plug-in). In this embodiment, it is assumed that a plurality of different versions of the design application 400 are installed in the host computer 101. For example, a design application 400A of version 3, a design application 400B of version 2, and a design application 400C of version 1 are installed. Some of the functions differ depending on each version. Of these three versions, the newest version is referred to as version 3, version 2, and version 1.

[0028] Each of the design applications 400A, 400B, and 400C incorporates a plug-in A, a plug-in B, and a plug-in C, respectively. When there is no need to distinguish between the design applications 400A, 400B, and 400C, they are referred to as design application 400. When there is no need to distinguish between the plug-ins, they are referred to as plug-ins 500.

[0029] When called by the design application 400, the plug-in 500 starts the layout application 600. Thereafter, the plug-in 500 and the layout application 600 perform inter-process communication. The plug-in 500 uses the design application 400 as a host and calls another application, such as the layout application 600, establishes inter-process communication between the host and the other application, and performs processing requests and responses. When there are multiple hosts (design applications 400), the plug-ins 500 incorporated in each host (design application 400) each call the layout application 600. In this case, the CPU 111 assigns a plug-in identifier capable of identifying each plug-in 500.

[0030] The layout application 600 is an application for extending the functions of the design application 400, and is called via a plug-in module 500 built into the design application 400. The layout application 600 acquires information on one or more label data created by the design application 400, and accepts operations such as the layout of the label data, print job settings, and settings for the save destination (hot folder 220). These processes are performed by a designer or an operator of the printing device 201 via an operation screen of the layout application 600 (hereinafter, the operation screen of the layout application 600 will be referred to as an edit screen).

[0031] The layout application 600 does not have any output functions other than a preview display. For example, it does not have the function of writing out label data edited on the edit screen as data in a unique format or PDF format, saving the label data, or outputting it to the printer 201. This is because the host design application 400 has sufficient output functions, and the layout application 600 is an application that compensates for the functions that the design application 400 lacks. However, the layout application 600 does have the function of displaying a preview of label data on the edit screen.

[0032] When the operation is completed in the layout application 600 and a save (output) instruction is input, the layout application 600 returns the edited data generated by the operation on the edit screen to the design application 400 via the plug-in 500 and requests output (display and write) of the print job file. The edited data includes attributes of the label data before editing, layout information, print job setting information, save destination setting information, etc.

[0033] When there are multiple label data to be processed and the layout application 600 is called by multiple design applications 400, the layout application 600 must determine which host to return the data to. For this reason, the layout application 600 of this embodiment executes an output destination determination process shown in FIG.

[0034] In the first embodiment, the layout application 600 executes the output destination determination process when it imports information on the label data to be processed. In addition, when the data to be processed is displayed on the editing screen, the plug-in 500 determined in the output destination determination process is associated with the editing screen. The output destination determination process will be described in detail later.

[0035] When the layout application 600 requests the design application 400 to output a print job file via the plug-in 500, the design application 400 performs output processing in response to this request. That is, when the design application 400 receives edited label data, such as attribute information, layout information, and print job settings, for the processed label data from the layout application 600, the design application 400 displays the edited label data according to the layout information. Also, based on the set information, the edited label data is written out in a format (such as PDF) that can be sent to the printing device 201, and sent to a hot folder 220 configured in the external storage device 219 of the printing device 201.

[0036] When the PDF data is stored in the hot folder 220, the printing device 201 prints the edited label data using print settings that have been preset in the hot folder 220.

[0037] (Design App 400 software configuration) Here, the function (software configuration) of the design application 400 will be described. 4 shows an example of a screen 401 of a design application 400. The screen 401 includes a menu bar section 410, a preview section 420, a property setting section 430, a process selection section 450, and the like.

[0038] The menu bar section 410 has the following menu items. When the user selects the rectangle menu 411, a rectangular object can be drawn on an art board (described later) in a specified size and color. Similarly, a polygon menu 412, a circle menu 413, a star menu 414, etc. are provided, and objects of the respective shapes can be drawn on an art board (described later) in a specified size and color.

[0039] When the user selects the text menu 415, it becomes possible to draw a text object on the art board in a specified size and color. When the 3D menu 416 is selected while an existing object is selected, the selected object is drawn in a pseudo three-dimensional manner.

[0040] Here, the pseudo-3D rendering function is a unique function of version 3 of design application 400A, and other drawing applications and some versions of this design application 400 (version 1 and version 2) do not support this function. However, when label data including an object with the pseudo-3D rendering function set is converted to a general-purpose data format such as PDF, the target object is converted into image data in which it is pseudo-3D rendered. After conversion, it can be handled as a PDF file by other drawing applications and other versions.

[0041] When zoom in menu 417 is selected, the display magnification of preview portion 420 increases. When zoom out menu 418 is selected, the display magnification of preview portion 420 decreases. When object selection menu 419 is selected, the mouse pointer switches to object selection mode, making it possible to select an object in preview portion 420.

[0042] The preview area 420 displays the label data created by the design application 400. The dashed line 422 indicates the art board area, and the solid line 421 indicates the bleed area. Here, the export data of the design application 400 targets and draws objects that fit within the bleed area 421. The art board area 422 inside the bleed area 421 is an area that represents the finished size of the label data. After printing, the label data is cut out by a die-cut machine, and the bleed area 421 is provided outside the finished size in the label data to take into account misalignment during die-cutting.

[0043] The label data displayed in the preview area 420 of Fig. 4 is a combination of object 423 drawn using star menu 414 and object 424 drawn using circle menu 413. Dashed line 425 is an object selection frame, and in this case, it indicates the state in which object 423 is selected.

[0044] Property setting section 430 is composed of a color menu tab 431 and a size menu tab 432. When color menu tab 431 is selected, color setting fields 433 to 437 are displayed in property setting section 430 as shown in Fig. 4(a), making it possible to set attributes related to the color of the selected object.

[0045] Setting fields 433 to 436 are for setting Cyan, Magenta, Yellow, and Black, respectively, and can input values ​​from 0% to 100% to accept settings for the percentage of cyan, magenta, yellow, and black of the selected object. Setting field 437 is for designating a swatch color, and accepts designation of a special color of the selected object.

[0046] In addition to "Do not specify", color sample identifiers of color sample book providers called swatch color libraries that are supported by the design application are listed in the swatch color specification 437. When a color sample identifier is selected in the swatch color specification 437, it becomes impossible to set the cyan setting 433, magenta setting 434, yellow setting 435, and black setting 436. Also, when "Do not specify" is selected in the swatch color specification 437, it becomes possible to set the cyan setting 433, magenta setting 434, yellow setting 435, and black setting 436.

[0047] When the size menu tab 432 is selected, size setting fields 440 to 444 are displayed in the property setting section 430 as shown in Fig. 4(b). It becomes possible to set attributes related to the size of the selected object, as well as the art board area 422 and bleed area 421. The object field has a width setting 440 and a height setting 441, and accepts settings for the width and height of the selected object.

[0048] The artboard column width setting 442 accepts a setting for the finished size width of the label data, which corresponds to the width of the artboard area 422. The artboard column height setting 443 accepts a setting for the finished size height of the label data, which corresponds to the height of the artboard area 422. The artboard column bleed setting 444 accepts a setting for the bleed area 421 based on the artboard area 422. In other words, based on the artboard area 422, the area outside the size specified in the artboard bleed setting 444 becomes the bleed area 421.

[0049] The process selection section 450 is composed of a layout process button 451 and an end button 452. When the end button 452 is operated, the CPU 111 closes the window 401 of the design application 400 and ends the design application 400. When the layout process button 451 is operated, the design application 400 calls the plug-in 500 and requests the layout application 600 to execute a label data addition process, which will be described later.

[0050] (Relationship between plug-ins and each application) FIG. 5 is a process sequence diagram showing the calling relationship between the plug-in 500, the design application 400 which is the host application (caller), and the layout application 600 which is the callee.

[0051] First, when the layout process button 451 of the design application 400 is operated, the plug-in 500 receives a plug-in call request (501) from the design application 400. If the layout application 600 has not been started, the plug-in 500 starts the layout application 600 (502).

[0052] After starting up, the layout application 600 performs an initialization process (503) and establishes inter-process communication with the plug-in 500 using an inter-process communication function provided by the OS. When the inter-process communication is established, the layout application 600 responds to the plug-in 500 with the start-up result via inter-process communication (504). Thereafter, the plug-in 500 and the layout application 600 exchange requests and responses using the established inter-process communication. Thereafter, the plug-in 500 responds to the design application 400 that called it (505) in response to the fact that the plug-in 500 has been called.

[0053] Furthermore, if the layout application 600 has already been started when the plug-in 500 receives a plug-in call request (501) from the design application 400, inter-process communication has already been established with the layout application 600. Therefore, the processes of 502 to 504 are omitted, and the plug-in 500 responds (505) to the call.

[0054] Next, when the plug-in 500 requests the layout application 600 to perform processing, the plug-in 500 sends a layout application processing request (511) to the layout application 600 through inter-process communication. Upon receiving the processing request from the plug-in 500, the layout application 600 performs processing within the layout application 600 based on the processing request (512) and responds with the processing result to the plug-in 500 through inter-process communication (513).

[0055] When the layout application 600 requests the design application 400 to perform processing, the layout application 600 requests the plug-in 500 to perform design application processing through inter-process communication (521). Upon receiving the design application processing request from the layout application 600, the plug-in 500 requests the design application 400 to perform design application processing (522).

[0056] When the design application 400 receives a processing request from the plug-in 500, it performs processing within the design application 400 based on the processing request (523) and returns the processing result to the plug-in 500 (524). When the plug-in 500 receives the processing result from the design application 400, it returns the processing result of the design application to the layout application 600 via inter-process communication (525).

[0057] As described above, the plug-in 500 realizes processing requests and responses between the plug-in 500 and the layout application 600 through inter-process communication established with the layout application 600. Also, it realizes proxy processing requests and proxy responses between the layout application 600 and the design application 400. In the following description, a description of the processing of the plug-in 500 using these inter-process communications will be omitted.

[0058] The plug-in 500 can be incorporated into multiple versions of the design application 400, and establishes inter-process communication with the layout application 600 for each startup process of each version of the design application 400 recognized by the OS. When the plug-in 500 establishes inter-process communication with the layout application 600, it notifies the layout application 600 of a plug-in identifier that is unique on the OS.

[0059] (Label data addition process) As described above, when the layout processing button 451 is operated while the design application 400 is running, the layout application 600 is started via the plug-in 500. Immediately after the design application 400 is started, or when the layout processing button 451 of the design application 400 is operated, the plug-in 500 requests the layout application 600 to perform label data addition processing.

[0060] Fig. 6 is a flowchart showing the flow of the label data addition process. The label data addition process is executed by the layout application 600, and is started when a label data addition process is requested by the plug-in 500. Before the label data addition process is executed, it is assumed that three types of label data 700, 710, and 720 shown in Fig. 7 have been created by the design application 400.

[0061] The label data 700 shown in Fig. 7(a) is label data created with the design application 400A of "Version 3." The art board width setting 442 is set to 70.0 mm, so the finished size width 701 is 70.0 mm, the art board height setting 443 is set to 70.0 mm, so the finished size height 702 is 70.0 mm. In addition, the art board bleed setting 444 is set to 3.0 mm, so the bleed area 703 is 3.0 mm.

[0062] Object 704 in label data 700 is a star-shaped object created with star menu 414, with the proportion of yellow set to 100% in Yellow setting 435, and furthermore, pseudo-three-dimensional rendering by selection of 3D menu 416. Also, object 705 is a circle object created with circle menu 413, with the proportion of black set to 100% in Black setting 436.

[0063] The label data 710 shown in Fig. 7(b) is label data created with the design application 400B of "Version 2." The art board width setting 442 is set to 70.0 mm, so the finished size width 711 is 70.0 mm, the art board height setting 443 is set to 70.0 mm, so the finished size height 712 is 70.0 mm. In addition, the art board bleed setting 444 is set to 3.0 mm, so the bleed area 713 is 3.0 mm.

[0064] Objects 714 and 716 in label data 710 are star objects created in star menu 414, and a spot color BBB-Yellow from the BBB swatch color library is set in swatch color designation 437. Object 715 is a circle object created in circle menu 413, and the proportion of black is set to 15% in black setting 436.

[0065] The label data 720 shown in Fig. 7(c) is label data created with the design application 400C of "Version 1." The art board width setting 442 is set to 70.0 mm, so the finished size width 721 is 70.0 mm, the art board height setting 443 is set to 70.0 mm, so the finished size height 722 is 70.0 mm. In addition, the art board bleed setting 444 is set to 3.0 mm, so the bleed 723 is 3.0 mm.

[0066] Objects 724, 725, and 726 are star-shaped objects created with the star menu 414, and the proportion of yellow is set to 100% with the Yellow setting 435. Object 727 is a circle object created with the circle menu 413, and the proportion of black is set to 100% with the Black setting 436.

[0067] First, the label data addition process performed when the layout process button 451 is operated after the label data 700 has been created with the design application 400A of "version 3" will be described with reference to FIG.

[0068] When the layout process button 451 is operated in the design application 400A, the plug-in 500 requests the layout application 600 to execute a label data addition process. In response to the request from the plug-in 500, the layout application 600 starts the label data addition process shown in Fig. 6. Note that the processes shown in the following flowcharts are performed by calling a processing program stored in the ROM 112 or external storage device 114 by the CPU 111 of the host computer 101, expanding it in the RAM 113, and executing it by the CPU 111. In the following explanation, the symbol "S" means a step.

[0069] In S601, the layout application 600 requests the calling plug-in 500 to obtain attribute information of the added label data 700.

[0070] Information 800 shown in FIG. 8(a) is attribute information 801 that the layout application 600 obtained from the design application 400A when the label data 700 was added.

[0071] The attribute information 801 acquired includes the name of the label data 700, "Label 1", the creation application version, "Version 3", the data size width, "76.0 mm", the data size height, "76.0 mm", the bleed size, "3.0 mm", the swatch color library, "not specified", and the pseudo-3D drawing, "specified". In addition, "Plug-in A" is acquired as the plug-in identifier. The plug-in identifier is information that identifies the plug-in 500 that has requested the layout application 600 to execute the label data addition process, and is notified by the layout application 600.

[0072] In S602, the layout application 600 determines whether the calling plug-in 500 has been registered in the output destination candidate list. The calling plug-in 500 is the plug-in A in this example.

[0073] The output destination candidate list is information for determining to which plug-in 500 hosting which design application 400 the post-edit data generated after editing by the layout application 600 should be returned, and the candidate plug-ins are registered as output destinations. Specifically, one or more plug-ins currently calling the layout application 600 are registered as candidates. The output destination candidate list will be described in detail later (FIG. 10).

[0074] At this stage, the layout application 600 is requested by the plug-in 500 to execute the label data addition process immediately after startup, so the output destination candidate list is in its initial state (nothing is registered). In this case, in S602, the layout application 600 determines that the calling plug-in 500 is not registered in the output destination candidate list (S602; NO), and proceeds to S603. If the calling plug-in 500 is registered in the output destination candidate list, the process proceeds to S605.

[0075] In S604, the layout application 600 acquires function information of the design application 400A which is the host of the calling plug-in (plug-in A). Here, it is assumed that the function information 900 shown in FIG. 9A has been acquired.

[0076] As shown in Figure 9(a), version information of the host application, supported file formats, supported swatch color libraries, support for pseudo-3D drawing, maximum output data size (width, height, number of pages), etc. are acquired as function information 900.

[0077] The function information 901 acquired at this stage includes the application version "Version 3", file format "Proprietary format" and "PDF", swatch color library "AAA swatch color library", pseudo 3D drawing function "Supported", maximum output data size width "5000.0 mm", maximum output data size height "5000.0 mm", and maximum number of output pages "1000". In addition, "Plug-in A" has been acquired as the plug-in identifier. This indicates that the function information 901 is a function of the host application with the identifier "Plug-in A".

[0078] In S604, the layout application 600 registers the information of the calling plug-in 500 in the output destination candidate list, and the process proceeds to S605.

[0079] 10 is a diagram showing a list of candidate output destinations managed by the layout application 600. The list of candidate output destinations includes items such as version information of the host application, window number information, and information indicating whether to exclude the host application from the candidates for output destinations, in association with the identifiers of the plug-ins 500.

[0080] In the output destination candidate list 1000 of FIG. 10(a) that is generated when label data A is added, the plug-in identifier “Plug-in A”, application version “Version 3”, window number “-”, and exclusion “-” are registered.

[0081] In the "window number" field, when the layout application 600 is displaying an edit screen, a number that identifies the edit screen is registered. If an edit screen is not displayed, "-" is registered. When multiple edit screens are open, different values ​​such as "1", "2", ... are registered in the window number field.

[0082] In the first embodiment, when the layout application 600 opens an editing screen, it associates (also called "links") the output destination of the edited data edited on the editing screen. In the example of Fig. 10(a), since it is the stage where the output destination candidate list 1000 has just been generated (immediately after startup), the layout application 600 is not displaying a window linked to plug-in A, so "-" is registered.

[0083] The "Exclusion" item is information that indicates whether the target plug-in is to be excluded from the output destination candidates in the processing from S605 onwards. For example, the attribute information acquired in S601 is compared with the function information of the target plug-in's host, and if the target plug-in's host does not support the functions of the added label data, it is excluded from the output destination candidates. At the stage when the output destination candidate list 1001 in Figure 10(a) is generated, plug-in A has not been excluded from the output destination candidates, so "-" is registered. Note that if it is excluded from the output destination candidates, "Exclusion" is registered.

[0084] (Output destination determination process) In S605, the layout application 600 executes an output destination determination process. FIG. 11 is a flowchart showing the flow of the output destination determination process.

[0085] In S1101, the layout application 600 determines whether a plug-in whose host is an application that does not support the attributes of the added label data (hereinafter referred to as added data) exists in the output destination candidate list 1000. Here, the layout application 600 compares the attribute information 801 of the label data 700, which is the added data, with the function information 901 of the plug-in host registered in the output destination candidate list 1000, and determines whether there is a plug-in that cannot be supported by the host's functions.

[0086] Since plug-in A is registered in the output destination candidate list 1000, the function information 901 of the host is compared with the attribute information 801 of the label data 700, which is the additional data. With reference to Figures 8(a) and 9(a), there is no function in the function information 901 that cannot be supported by the attribute information 801 of the label data 700, so the result in S1101 is NO and the process proceeds to S1103. Note that if any of the plug-ins in the output destination candidate list has a host application that cannot be supported by the attribute information of the additional data (S1101; YES), the layout application 600 proceeds to S1102. In S1102, the layout application 600 excludes from the output destination candidate list any plug-in whose host (caller) is an incompatible application.

[0087] In S1103, the layout application 600 determines whether an editing screen (a window of the layout application 600) associated with a plug-in (plug-in A) in the output destination candidate list has already been displayed. The layout application 600 refers to the "window number" in the output destination candidate list 1000 shown in FIG. 10(a). Since "-" is registered in the "window number," it is understood that the editing screen associated with plug-in A has not yet been displayed (S1103; NO). If it has not been displayed, proceed to S1104. If it has been displayed, proceed to S1105.

[0088] In S1104, the layout application 600 determines the plug-in A in the output destination candidate list as the plug-in 500 for outputting the edited data.

[0089] On the other hand, in S1105, the layout application 600 determines whether there are multiple edit screens associated with the plug-in that is the output destination candidate. The determination process in S1105 determines whether there are multiple plug-ins that are registered in the current output destination candidate list and that have not been excluded, and that already display edit screens. If there are multiple plug-ins, the process proceeds to S1106. If there is only one (S1105; NO), the layout application 600 proceeds to S1104.

[0090] In S1106, the layout application 600 determines, among the multiple output destination candidate plug-ins whose edit screens are displayed, the plug-in with the latest host application version as the output destination of the edited data, and proceeds to S1107.

[0091] The reason for selecting the latest version as the output destination is that newer versions of applications with the same functions are considered to be more stable. In determining the latest version, the layout application 600 refers to the "host application version" item in the output destination candidate list.

[0092] In S1107, the layout application 600 performs a clear process to change all "exclusion" items in the output destination candidate list to "-", and ends this flowchart. The reason for performing the clear process is to return all target plug-ins to a non-exclusion state in order to perform the determination in S1101 from the next time onwards.

[0093] (Display process of the edit screen of the layout application 600) In the output destination determination process shown in FIG. 11, when the plug-in (host application) of the output destination is determined, the layout application 600 proceeds to S606 in FIG.

[0094] In S606, the layout application 600 determines whether the editing screen associated with the output destination has been displayed. Whether the editing screen associated with the output destination is displayed can be confirmed by referring to the value of the window number item in the output destination candidate list. If a value such as "1" or "2" is registered in the "window number" item of the target plug-in, it means that the editing screen has been displayed, and if it is "-", it can be determined that the editing screen has not yet been displayed. Note that by associating the editing screen with the output destination (plug-in), the edited data edited on the editing screen is returned to the host application (design application 400) via the associated plug-in.

[0095] 10(a), since the window number associated with plug-in A determined as the output destination of the edited data is "-", it is determined that the edit screen associated with the determined output destination has not been displayed (S606; NO). If the edit screen associated with the determined output destination has not been displayed, proceed to S607. If the edit screen associated with the determined output destination has been displayed, proceed to S608.

[0096] In S607, the layout application 600 displays the edit screen in association with the determined output destination, and proceeds to S608. Here, the edit screen associated with the plug-in A determined in the output destination determination process of S605 is displayed. Also, to indicate that the edit screen has been displayed, the window number of plug-in A (1001) in the output destination candidate list 1000 is changed from "-" to "1." Note that the window number may be any unique number equal to or greater than 1, and may be any unique number that is not used in the "window number" item of the output destination candidate list.

[0097] In S608, the layout application 600 adds the label data to the currently displayed edit screen (linked to the plug-in) and ends the label data addition process. Here, the layout application 600 adds the label data 700, which is the additional data, to the edit screen linked to the plug-in A and ends the label data addition process.

[0098] In S608, the format of the label data that the layout application 600 adds to the editing screen is assumed to be the proprietary format of the original design application 400. In the following explanation, unless otherwise specified, the format of the label data to be added is assumed to be the proprietary format of the design application 400.

[0099] (Layout app software configuration) Here, the function (software configuration) of the layout application 600 will be described. 12 shows an example of an editing screen 1201 of the layout application 600. The editing screen 1201 is a window associated with a plug-in determined as an output destination. The editing screen 1201 includes a label data selection section 1202, a preview section 1203, a job setting section 1204, an output setting section 1205, and the like.

[0100] The label data selection area 1202 displays, in thumbnail list format, one or more label data items added as targets for editing so that they can be selected. In Fig. 12, the added label data 700 is selected in a selection frame 1222. The preview area 1203 is an area that displays a preview of the layout in which the label data will be printed on a recording medium in the printing device 201. This preview display is based on the settings made in the job setting area 1204.

[0101] A substrate width 1211 in the job setting section 1204 receives the setting of the width of the recording medium on which printing is performed by the printing apparatus 201. In addition, a range 1231 shown in the preview section 1203 is displayed corresponding to the substrate width 1211. The label data is arranged based on the finished size determined by the design application 400. In the case of label data 700, the data is arranged on an editing screen 1201 of the layout application 600 based on the width 701 and height 702 (FIG. 7) of the finished size.

[0102] The number of layouts horizontal 1212 and number of layouts vertical 1213 in the job setting section 1204 accept settings for how many pieces of label data are to be laid out horizontally and vertically, respectively. The preview section 1203 displays 1232 and 1233 corresponding to the number of layouts horizontal 1212 and number of layouts vertical 1213, respectively. Labels lined up vertically can be displayed using a scroll bar or other method that allows visual confirmation that the specified number of label data are lined up vertically. The number of layouts vertical 1213 is the number of copies to be printed, and is the number of pages of the edited data. That is, in the edited data, the data laid out horizontally in the preview section 1203 is treated as one page.

[0103] A horizontal label spacing 1214 in the job setting section 1204 sets the spacing between adjacent labels, and a corresponding display 1234 in the preview section 1203 is displayed. Also, a vertical label spacing 1215 sets the spacing between upper and lower labels, and a corresponding display 1235 in the preview section 1203 is displayed.

[0104] Label data is arranged in vertical units. When the user drags and drops selected label data into the label arrangement area of ​​the preview area 1203, all of the label data arranged vertically in one column is replaced with the selected label data.

[0105] A selection column 1216 is a hot folder selection column, and displays a list of hot folders 220 of the printing device 201 that have been registered in advance.

[0106] Button 1217 is a button that is operated when outputting (returning) edited data to the design application and saving it. When the save button 1217 is operated, the layout application 600 requests a save process from the plug-in 500 linked to the edit screen 1201. The save process is a process of writing out the edited data, in which the label data has been placed, in a format such as a PDF file and sending (saving) it to the hot folder 220 specified in hot folder selection 1216.

[0107] The plug-in 500 (plug-in A) linked to the editing screen 1201 requests the design application 400 to save the edited data in response to a save request from the layout application 600. The edited data is information to which information such as a substrate width 1211, number of sheets arranged vertically 1212, number of sheets arranged horizontally 1213, label spacing horizontally 1214, label spacing vertically 1215, and information such as a save destination, which are set in the print job setting section 1204, have been added to the added label data 700.

[0108] That is, when outputting (saving) edited data, the layout application 600 makes the following request to plug-in A: In the design application 400, new data is created in the specified size so that the label data to be edited has a size and coordinates according to the layout information set in the print job settings 1204. Each label data is placed at the specified coordinates and output as a PDF file to the specified hot folder.

[0109] The label data 700 was created using "version 3" of the design application 400, and the host application of plug-in A making the output request is also the design application 400A, "version 3." Therefore, when an output request is made for the edited data, the attributes set in the output data (label data 700) correspond to the functions of the output destination application, so it is possible to output the desired results.

[0110] (Add multiple edit data) Next, a case where multiple pieces of label data to be edited are added to the layout application 600 will be described. Assume that the editing screen 1201 associated with plug-in A is currently displayed, and label data 700 has been added as an object to be edited. Furthermore, attribute information 801 of the label data 700 and function information 901 of the design application 400A that created it have been acquired by the first label data addition process described above. Also, assume that plug-in A is registered in the output destination candidate list, with "version 3" registered in the "host application version" field, "1" in the "window number" field, and "-" registered in the "exclusion" field (FIGS. 8(a), 9(a), and 10(a)).

[0111] In this state, it is assumed that label data 710 is created using the "version 2" design application 400B, and the layout process button 451 is operated. The layout application 600 receives a request from plug-in B incorporated into the design application 400B to perform label data addition processing (FIG. 6).

[0112] In response to the request, the layout application 600 executes a label data addition process. In S601, the layout application 600 requests the caller plug-in B to acquire attribute information of the label data 710, which is the additional data. Fig. 8(b) shows attribute information 810 acquired by the layout application 600. As shown in Fig. 8(b), in addition to attribute information 801 of the label data 700, attribute information 802 of the label data 710 to be added this time is acquired.

[0113] In S602, the layout application 600 determines whether the calling plug-in B has been registered in the output destination candidate list. Since the calling plug-in B is a different version of the host application 400 from the calling plug-in A in the previous process, the calling plug-in B has not yet been registered in the output destination candidate list (S602; NO), so the layout application 600 proceeds to S603.

[0114] In S603, the layout application 600 transmits a function information acquisition request to the design application 400B, which is the host application of the caller plug-in B, and acquires the function information. As shown in Fig. 9B, function information 902 of the host application of plug-in B is newly acquired.

[0115] In S604, the layout application 600 registers the calling plug-in B in the output destination candidate list, and proceeds to S605. As shown in the candidate information 1002 in Fig. 10(b), the plug-in identifier "B" and the version information "version 2" are added.

[0116] In S605, the layout application 600 executes the output destination determination process shown in FIG. 11, the layout application 600 compares the attribute information 802 of the label data 710, which is the additional data, with the function information 901, 902 of the host application acquired up to now. It is checked whether there is a plug-in that uses a host application that does not support the attribute information 802 of the additional data.

[0117] Attribute information 802 of label data 710, which is additional data, includes "BBB swatch color library" as shown in FIG. 8B. Referring to function information 910 shown in FIG. 9B, function information 901 of plug-in A does not include "BBB swatch color library." Therefore, the host application of plug-in A (design application 400A) cannot handle the label data 710. Therefore, in S1101, the layout application 600 determines that there is a plug-in that hosts an application that does not support the attribute of the additional data (S1101; YES), and proceeds to S1102.

[0118] In S1102, the layout application 600 excludes a plug-in (plug-in A) that hosts an application that does not support the attributes of the additional data from the output destination candidates. Then, as shown in the output destination candidate list 1011 shown in Fig. 10(c), the "Excluded" item for plug-in A is changed from "-" to "Excluded". In other words, the output destination candidate becomes the state in which only plug-in B is left.

[0119] In S1103, the layout application 600 determines whether the edit screen associated with the plug-in 500, which is an output destination candidate, has already been displayed. Referring to the output destination candidate list 1011 at the current stage (FIG. 10(c)), the "window number" item of plug-in B, which is an output destination candidate that has not been excluded, is "-". Therefore, it is determined that the edit screen associated with plug-in B has not yet been displayed (S1103; NO), and the process proceeds to S1104.

[0120] In S1104, the layout application 600 determines the plug-in B as the plug-in 500 for outputting the edited data including the label data 710, and proceeds to S1107. In S1107, the layout application 600 executes a clear process, ends this flowchart, and returns to S606 in FIG.

[0121] In S606, the layout application 600 checks whether the edit screen associated with the output destination (plug-in B) determined by the output destination determination process has already been displayed. As shown in Fig. 10C, since "-" is registered in the "window number" field of plug-in B in the output destination candidate list 1011, it is determined that the edit screen associated with plug-in B has not yet been displayed (S606; NO), and the process proceeds to S607.

[0122] In S607, the layout application 600 displays the edit screen associated with the plug-in B. Also, in order to record that the edit screen associated with the plug-in B has been displayed, the “window number” item of the plug-in B in the output destination candidate list 1011 is changed to a new number “2”.

[0123] In S608, the layout application 600 adds (displays) the label data 710, which is the additional data, to the plug-in B editing screen displayed in S607, and ends the label data addition process.

[0124] 13 shows an example of the screen (edit screen 1301) of the layout application 600 in a state where label data 710 has been added. The edit screen 1301 is a window associated with plug-in B, and the added label data 710 is selected in a selection frame 1222.

[0125] The label data 710 was created by "version 2" design application 400B, and the host application of plug-in B linked to this editing screen 1301 is also the design application 400B. Therefore, the edited data edited on this editing screen 1301 can also be handled by the functions of the output destination design application 400B, and so it is possible to output the desired results to the design application 400B.

[0126] When label data arrangement and print job settings are performed on the editing screen 1301 linked to plug-in B and the save button 1217 is operated, the layout application 600 sends an output request to the plug-in B linked to that editing screen 1301. In response to the output request, plug-in B sends an output request to the host application, design application 400B of "version 2." The output process is then executed by design application 400B of "version 2."

[0127] (Adding the third label data 720) With the processing up to this point, an editing screen 1201 for plug-in A and an editing screen 1301 for plug-in B are displayed on the display unit 119 of the host computer 101. The RAM 113 holds the attribute information 810 shown in Fig. 8(b) and the function information 910 shown in Fig. 9(b), and the output destination candidate list 1011 has registered therein information 1001 related to plug-in A and information 1002 related to plug-in B as shown in Fig. 10(c).

[0128] However, in the “Window Number” item of the output destination candidate list 1011, “1” is registered for Plug-in A and “2” is registered for Plug-in B, and in the “Exclusion” item, “-” is registered for both Plug-in A and B.

[0129] Next, it is assumed that label data 720 is created using the design application 400C of "version 1" and the layout process button 451 is operated. The layout application 600 is requested to execute a label data addition process by plug-in C incorporated in the design application 400C. As in the previous label data addition processes, the layout application 600 requests to obtain attribute information of the added data. As shown in FIG. 8(c), attribute information 803 of the label data 720 is newly obtained.

[0130] In S602, the layout application 600 determines whether the calling plug-in C has been registered in the output destination candidate list. At this stage, since “plug-in C” has not been registered in the output destination candidate list (S602; NO), the process proceeds to S603.

[0131] In S603, the layout application 600 acquires function information of the design application 400C of "version 1" which is the host application of the calling "plug-in C." As shown in Fig. 9C, function information 903 of the design application 400C of "version 1" is newly acquired.

[0132] In S604, the layout application 600 adds the calling plug-in C to the output destination candidate list, and proceeds to S605. As shown in the output destination candidate list 1020 in Fig. 10(d), the plug-in identifier "Plug-in C" and the host application version information "Version 3" are additionally registered as information 1003 related to plug-in C.

[0133] In S605, the layout application 600 executes the output destination determination process shown in the flowchart of FIG.

[0134] In S1101, the layout application 600 compares the attribute information 803 (FIG. 8(c)) of the label data 720, which is the additional data, with the function information 901, 902, and 903 (FIG. 9(c)) of the host application acquired up to now. Then, it is determined whether there is a plug-in that uses an application that does not correspond to the attribute of the additional data as a host. The attribute information 803 of the label data 720, which is the additional data, is compatible with all of the function information 901, 902, and 903 shown in FIG. 9(c).

[0135] Therefore, it is determined that there are no candidates to be removed from the output destination candidate list 1020, and the process proceeds to S1103. This means that any of the host applications of the plug-ins A, B, and C can handle the label data 720, which is the additional data.

[0136] In S1103, the layout application 600 refers to the currently acquired output destination candidate list 1020 and determines whether an edit screen associated with any of the registered plug-ins A, B, and C has already been displayed. Since the window number item in the output destination candidate list 1020 indicates that plug-ins A and B have already been displayed (S1103; YES), the process proceeds to S1105.

[0137] In S1105, the layout application 600 determines whether multiple edit screens associated with the plug-in of the output destination candidate are displayed. As described above, since two edit screens, one for plug-in A and one for plug-in B, are being displayed, it is determined that multiple edit screens are displayed (S1105; YES), and the process proceeds to S1106.

[0138] In S1106, the layout application 600 determines, as the output destination, the plug-in with the latest version of the host application from among the plug-in A and plug-in B, which are output destination candidates whose edit screens are displayed. Here, plug-in A, which calls the latest host application version 3, is determined to be the output plug-in for the additional data (label data 720).

[0139] In S1107, the layout application 600 executes a clear process, and ends the output destination determination process. Then, the process proceeds to S606 in FIG.

[0140] In S606, the layout application 600 checks the output destination candidate list 1020 to check whether the edit screen for plug-in A, which is the output destination determined in the output destination determination process of S605, has already been displayed. Referring to FIG. 10(d) showing the current output destination candidate list 1020, since "1" is registered in the "window number" of plug-in A, it is determined that the edit screen has already been displayed (S606; YES), and the process proceeds to S608.

[0141] In S608, the layout application 600 adds the label data 720, which is additional data, to the displayed edit screen for plug-in A, and ends the label data addition process.

[0142] 14 shows an example of an edit screen 1401 for plug-in A on which label data 720 has been added. The edit screen 1401 is a window linked to plug-in A, and in this example, the previously added label data 700 and the currently added label data 720 are displayed in the label data selection section 1202.

[0143] For example, when label data 720 is selected and dragged and dropped into the label arrangement area of ​​preview area 1203, one vertical column of labels is replaced with the selected label data 720. Fig. 15 shows an example of the screen (editing screen 1501) of layout application 600 after the above operation.

[0144] Preview area 1203 of editing screen 1501 displays a preview of label data that combines label data 700 and label data 720, which were created using different versions. Label data 720 was created using design application 400C of "version 1" and its output destination is design application 400A of "version 3," which is the host of plug-in A, so the versions are different.

[0145] However, in the output destination determination process, the output destination is determined so that the attribute information 801, 803 contained in the edited data can be handled by the functions of the output destination application (function information 901), so that the attribute information 801, 803 can be output with the desired results without compromising them.

[0146] As described above, according to this embodiment, data created by multiple design applications 400 is processed by calling the layout application 600 from a plug-in incorporated in each design application 400. Then, taking into consideration the attributes of the data to be processed and the functions of the host application, an output destination is determined when the processed data is returned to one of the design applications 400 that called it again. This makes it possible for the design application 400 to correctly output the processing contents in the layout application 600.

[0147] That is, when the layout application 600 imports the label data, it acquires attribute information of the label data and function information of the design application 400 that has requested the layout. Then, it determines an output plug-in so that the edited data is returned to the design application 400 that has a function corresponding to the attribute information of the added label data. This allows the design application 400 to accurately output the edited data with the desired results without losing the attributes (spot color designation information, pseudo 3D drawing support, etc.) that the edited data received from the layout application 600 had before editing. Note that, in this embodiment, the function information of the design application 400 that has requested the layout is acquired at the timing of importing the label data, but the timing of acquisition is not limited to this. For example, the function information of the design application 400 that has requested the layout may be acquired in advance.

[0148] Furthermore, the layout application acquires at least version information of the application (e.g., design application 400) that created the data and version information of the application's function information as attribute information of the unedited data acquired from the plug-in. Then, when there are multiple output plug-in candidates, the layout application determines the plug-in that has the latest version of the application as the host application as the output plug-in. This makes it possible to output the edited data from a host application with more stable functions.

[0149] In this embodiment, the layout application determines the output destination of the edited data based on the attribute information of the acquired data before editing and the function information of the host application. However, it is not necessary to compare all the information included in the attribute information and the function information, and the output plug-in may be determined by comparing only a part of the information, for example, the version information.

[0150] <Second embodiment> Next, a second embodiment of the present disclosure will be described. Note that the basic configuration of the printing system of this embodiment is the same as that of the first embodiment, so in the following description, the characteristic configuration of the second embodiment will be described. The label data handled in the second embodiment are two types of label data 700, 710 shown in FIG. 7, which, like the first embodiment, were created by the design application 400 before the label data addition process (FIG. 6) was executed in the layout application 600. The attribute information 801, 802 of the label data 700, 710 is also the same as in the first embodiment.

[0151] In the second embodiment, a case will be described in which new label data is added while the editing screen is displayed, and the attributes of the added data cannot be handled by the output destination associated with the displayed editing screen. In this case, the layout application 600 accepts the user's selection of the output destination of the added data. At that time, the layout application 600 also identifies attributes that cannot be handled by the host application of the output destination, and notifies the user. The flow of the process will be described below.

[0152] (Adding the first label data 700) First, assume that label data 700 has been created with "version 3" design application 400A as the first piece of added data, and the layout process button 451 is operated on screen 401 of design application 400A. This operation causes the layout application 600 to request label data addition processing via plug-in A of design application 400A, and executes the label data addition processing shown in FIG.

[0153] In the second embodiment, the label data addition process is the same as in the first embodiment except for the output destination determination process of S605, so the description will be omitted and only S605, which is a different process, will be described. Note that the attribute information 801 of the added data acquired in S601 is the same as that in Fig. 8(a), and the function information 901 of the host application acquired in S603 is the same as that in Fig. 9(a). Also, the output destination candidate list 1000 registered in S604 is in the state shown in Fig. 10(a).

[0154] 16 is a flowchart showing the flow of the output destination determination process of the second embodiment. S1601 and S1602 are similar to S1101 and S1102 in the output destination determination process of the first embodiment (FIG. 11), so a description of the processes will be omitted here.

[0155] As a result of the processing in S1601 and S1602, plug-ins that host applications that do not have functions corresponding to the attributes are excluded from the output destination candidate list. In S1603, the layout application 600 determines whether an edit screen is being displayed. In this example, since the layout application 600 has not yet displayed any edit screen, the process proceeds to S1608, where the layout application 600 determines plug-in A, which is a candidate for the output destination, as the output destination.

[0156] Steps S1604, S1606, and S1607 are similar to steps S1103, S1105, and S1106 in Fig. 11, and therefore the description thereof will be omitted here. Step S1605 will be described later.

[0157] In S1609, the layout application 600 clears the output destination candidate list as in S1107, and ends the plug-in determination process. Thereafter, the layout application 600 executes the processes from S606 in Fig. 6 onwards, displays the edit screen 1201 shown in Fig. 12, and ends the label data addition process.

[0158] (Adding the second label data 710) At this stage, the layout application 600 displays an edit screen 1201 to which plug-in A is linked as the output destination, and label data 700 has been added as an object to be edited. Next, assume that label data 710 has been created as the second additional data by the design application 400B of "version 2" and the layout process button 451 is operated. The layout application 600 receives a label data addition process request from plug-in B, which uses the design application 400B as a host.

[0159] The layout application 600 executes the second label data addition process. The process is the same as that in the first embodiment, and therefore the description will be omitted. The attribute information 802 of the added data acquired in S601 is as shown in Fig. 8(b), and the function information 902 of the host application acquired in S603 is as shown in Fig. 9(b). The output destination candidate list 1000 registered in S604 has the contents shown in Fig. 10(b).

[0160] In the second step S605, the layout application 600 executes the output destination determination process shown in FIG. Among the attribute information of the label data 710, which is the second additional data, the "BBB swatch color library" is not supported by the application hosted by plug-in A. Therefore, the layout application 600 determines YES in S1601 and proceeds to S1602. In S1602, the plug-in A is excluded from the output destination candidate list 1000. The output destination candidate list 1011 after S1602 is executed is shown in FIG. 10(c).

[0161] In S1603, the layout application 600 determines whether the edit screen is displayed. Since the edit screen 1201 associated with plug-in A has already been displayed in the previous label data addition process (S1603; YES), the process proceeds to S1604.

[0162] In S1604, the layout application 600 determines whether the edit screen associated with the plug-in B, which is the output destination candidate, has already been displayed. When the “Window Number” item of the plug-in B (1002) registered in the output destination candidate list 1000 in FIG. 10(c) is referenced, it is “-”, and the edit screen is not displayed (S1604; NO), so the process proceeds to S1605.

[0163] In S1605, the layout application 600 identifies attributes that will affect the output of edited data when the additional data 710 is added to the edit screen linked to the plug-in B and edited, and notifies the user of the same. The layout application 600 also accepts the selection of an output destination by the user.

[0164] The process of S1605 will be described below. The layout application 600 first compares the attribute information 802 of the label data 710, which is the additional data, with the function information 901 of the host application of the plug-in A linked to the currently displayed editing screen, and identifies the contents of the attributes that will affect the output of the additional data after editing.

[0165] The host application "Version 3" of Plug-in A linked to the editing screen does not support the BBB Swatch Color Library, so the additional data (label data 710) created in "Version 2" cannot be output with the desired results. Therefore, the "BBB Swatch Color Library" is identified as an attribute that affects the output of additional data after editing, and a message is displayed indicating that there is an effect when outputting (saving) label data that has this attribute.

[0166] Next, the layout application 600 acquires from the output destination candidate list the version information (version 3) of the host application of plug-in A linked to the displayed window and the version information (version 2) of the host application of plug-in B, which is the output destination candidate. The layout application 600 displays a screen that allows the user to select between "version 3" and "version 2" of the host application. At this time, it also displays that with "version 3," label data that uses the "BBB Swatch Color Library" cannot be output with the desired results.

[0167] 17 is a diagram showing an example of a selection screen 1701 displayed in S1605. The selection screen 1701 displays a message 1702 about attributes that will have an effect when outputting edited data, an output destination selection field 1703, a confirmation button 1704, and the like. The message 1702 displays the contents of the attribute identified in S1605. The output destination selection field 1703 displays, as options, "version 3," which is the host application of plug-in A linked to the displayed editing screen, and "version 2," which is the host application of plug-in B that is a candidate for the output destination.

[0168] When the Confirm button 1704 is operated, the layout application 600 determines, as the output destination, the host application of the version selected in the output destination selection field 1703. For example, in the example of Fig. 17, since the design application 400 of "version 2" is selected, plug-in B is determined as the output destination.

[0169] In S1609, the layout application 600 clears the excluded items in the output destination candidate list 1011, similar to S1107, and ends the output destination determination process shown in Fig. 16. Thereafter, the process proceeds to S606 in Fig. 6. As in the first embodiment, the layout application 600 additionally displays the edit screen 1301 associated with plug-in B shown in Fig. 13, and ends the label data addition process shown in Fig. 6.

[0170] As described above, in the second embodiment, when the layout application 600 acquires new label data while displaying the editing screen and determines that the new label data cannot be output by the host application linked to the currently displayed editing screen, it identifies which attributes will affect the output and notifies the user. It also displays a selection screen for accepting the selection of an output destination (design application). The selection screen also displays the contents of the attributes that will affect the data output. This allows the user to select the application to be the output destination after understanding the contents of the attributes that will affect the output of edited data to the design application. As a result, it becomes possible to prevent output errors in the design application 400 in advance.

[0171] <Third embodiment> Next, a third embodiment of the present disclosure will be described with reference to Figs. 18 to 20. The basic configuration of the third embodiment is similar to that of the first and second embodiments, and therefore the following description will focus on the characteristic configuration. In the third embodiment, two types of label data 700 and 710 shown in Fig. 7 are also created in advance by design applications 400A and 400B, respectively. Attribute information 801 and 802 of these label data 700 and 710 are also similar to those in the first embodiment.

[0172] Here, in order to explain the third embodiment, the following case will be assumed. To perform layout processing on the label data 710 created with the design application 400B of "version 2," the layout application 600 is called via plug-in B, and an edit screen (linked to plug-in B) is opened. Thereafter, in order to add the label data 700 created by the design application 400A of version 3, the layout application 600 is called from the design application 400A of version 3 via plug-in A.

[0173] The function of the design application 400B, which is the host of plug-in B linked to the already-displayed editing screen, does not support the attributes of the second added label data 700. In this case, in the third embodiment, the layout application 600 inquires of the calling design application 400A (plug-in A) whether it is possible to change the format of the added label data 700 to a different format.

[0174] If the format can be changed, a change request is made, attribute information is acquired again for the label data after the format change, and the output destination determination process is executed again. If the format cannot be changed, then secondly, from among host applications that can handle the attributes of the label data 700, the plug-in of the latest version of the application is determined as the output destination.

[0175] (Adding the first label data 710) Label data 710 is created using "version 2" of design application 400, and layout process button 451 on screen 401 is operated. The layout application 600 is requested to execute a label data addition process by plug-in B, which uses this "version 2" design application 400B as a host, and executes the label data addition process shown in FIG.

[0176] In the third embodiment, the processes other than S605 are all similar to those in the first or second embodiment, and therefore a description thereof will be omitted. FIG. 18(a) shows attribute information 1800 acquired in S601, function information 1810 of the host application 400B acquired in S603, and a candidate output destination list 1820 registered in S604 when the first label data 710 is added.

[0177] In the third embodiment, the layout application 600 executes the process shown in the flowchart of FIG. 19 in the output destination determination process of S605. Hereinafter, the output destination determination process in the third embodiment will be described with reference to FIG. 19. S1901 to S1904 in FIG. 19 are the same as S1601 to S1604 in FIG. 16 (the output destination determination process in the second embodiment), and S1906 to S1909 are the same as S1606 to S1609, so the description of the process will be omitted here. Processes S1905, S1910, S1911, and S1912 that are different from the second embodiment will be described later. Also, when adding the first label data 710, the process proceeds in the order of S1901;NO→S1903;NO→S1908→S1909, and the plug-in B is determined as the output destination.

[0178] Next, in S1909, the layout application 600 clears the excluded items in the output destination candidate list in the same manner as in S1107, and ends the output destination determination process. Then, proceeds to S606 in Fig. 6. When adding the first label data 710, proceed in the order of S606; NO → S607 → S608. As shown in Fig. 13, the editing screen 1301 linked to plug-in B is displayed, and the label data 710 has been added as an object to be edited.

[0179] (Adding the second label data 700) Next, it is assumed that label data 700 is created by the design application 400A of "version 3" and the layout process button 451 on the screen 401 is operated. The layout application 600 is requested via plug-in A to perform label data addition processing.

[0180] In the label data addition process, the layout application 600 executes the processes from S601 onwards, but as they are similar to those in the first or second embodiment, a description thereof will be omitted. FIG. 18B shows attribute information 1830, function information 1840 of the host application 400A, and a candidate output destination list 1850 acquired when the second label data 700 is added.

[0181] The layout application 600 executes the output destination determination process in S605. As described above, the output destination determination process shown in the flowchart of FIG.

[0182] The processes of S1901 and S1902 are the same as those of the first and second embodiments, and therefore description of the processes will be omitted. After S1902 is executed, the contents of the output destination candidate list 1860 become the contents shown in Fig. 18(c). That is, plug-ins A and B are registered as output destination candidates, "1" is registered as the window number of the editing screen associated with plug-in B, and plug-in B is excluded.

[0183] In S1903, the layout application 600 determines whether an edit screen is being displayed. As shown in the output destination candidate list 1860 in Fig. 18C, since the identifier "1" is registered in the window number of the plug-in B, the result of the determination in S1903 is YES, and the process proceeds to S1904.

[0184] In S1904, the layout application 600 determines whether an edit screen associated with plug-in A, which is a candidate that has not been removed from the current output destination candidate list, has been displayed. When the window number of plug-in A in the output destination candidate list 1860 is referenced, it is determined to be “-”, so that the result is NO, and the process proceeds to S1905.

[0185] In the third embodiment, the layout application 600 performs the following process. In S1905, the layout application 600 determines whether the additional data can be changed to a different format. Function information 1804 in FIG. 18B shows the function information of the design application 400A of version 3 that created the additional data (label data 700). Referring to the "File format" item in the function information 1804, "original format" and "PDF" are registered. Furthermore, the additional data has never been changed to PDF format (not changed).

[0186] Therefore, the layout application 600 determines that the additional data can be changed to a different format (S1905; YES), and proceeds to S1910. However, if the layout application 600 determines that the additional data cannot be changed to a different format (S1905; NO), the layout application 600 proceeds to S1907.

[0187] In S1910, the layout application 600 requests the calling plug-in A to convert the additional data into a different format. In response to the request in S1910, in the subsequent processing, the label data 700 (version 3) acquired via plug-in A is converted from the design application's proprietary format to PDF.

[0188] In S1911, the layout application 600 reacquires attribute information of the additional data (label data 700P) after the format change. The layout application 600 acquires attribute information of the label data 700P acquired in PDF format, and proceeds to S1912. Attribute information 1870 of the reacquired additional data is shown in FIG. 18(d).

[0189] Among the attribute information 1870, the "pseudo 3D drawing" item of attribute information 1807 of label data 700P was "specified" when the data was in the design application's own format (1802 in FIG. 18(b)). After conversion to PDF, the item is changed to "not specified" because the target object is converted to image data in which it is pseudo-3D drawn by the function of design application 400A (version 3).

[0190] After reacquiring the attribute information 1807 of the label data 700P after the format change, in S1912 the layout application 600 clears the excluded items in the output destination candidate list in order to re-determine the output destination, and the process returns to S1901. After the process of S1912 is executed, the output destination candidate list returns to the output destination candidate list 1850 shown in FIG.

[0191] In S1901 after changing the format and re-acquiring the attributes, the layout application 600 determines whether there is a plug-in that hosts an application that does not correspond to the attributes of the additional data 700P. Here, the attribute information 1807 of the label data 700P, which is the additional data, is compared with the function information 1803, 1804 of the host application that has been acquired up to now. Here, it is determined that there is no plug-in that hosts an application that does not correspond to the attribute information 1807 of the label data 700P (S1901; NO), and the process proceeds to S1903.

[0192] In S1903, the layout application 600 determines whether the edit screen is being displayed. Since the edit screen of the plug-in B is being displayed, the result of the determination in S1903 is YES, and the process proceeds to S1904.

[0193] In S1904, the layout application 600 determines whether an edit screen associated with a candidate output destination registered in the candidate output destination list has been displayed. In other words, it checks whether a plug-in associated with the currently displayed edit screen has been excluded. In S1904 after reacquiring the attributes, the window number of the candidate output destination plug-in B (1805) in the candidate output destination list 1850 is referenced, and the number is "1". Since the plug-in B has not been excluded (S1904; YES), the process proceeds to S1906.

[0194] In S1906, the layout application 600 determines whether there are multiple editing screens linked to the output destination candidates. In other words, it determines whether multiple editing screens are displayed. In S1906 after reacquiring the attributes of the second label data, one editing screen is displayed (S1906; NO), so the process proceeds to S1908. In S1908, the layout application 600 determines plug-in B as the output destination.

[0195] In S1909, the layout application 600 clears the excluded items in the output destination candidate list, ends this flowchart, and proceeds to processing from S606 onwards. Here, the layout application 600 proceeds in the order of S606 → S608, adds the label data 700P after the format change to the editing screen associated with plug-in B as the output destination, and ends the label data addition processing.

[0196] 20 shows an example of the layout application 600 screen (editing screen 2001) in which label data 700P has been added. The editing screen 2001 is a window associated with plug-in B. The label data selection area 1202 displays the first added label data 710 and the recently added label data 700P after format change.

[0197] In this state, when label data 700P is selected and dragged and dropped into the label placement area of ​​preview section 1203, data is created that combines label data 710 and label data 700P. Although label data 710 and label data 700P were created with different application versions, the pseudo-3D drawn object included in label data 700P is converted into image data if it is in PDF format. Therefore, it can be processed by design application 400B (version 2).

[0198] When a request to output the combined data of label data 710 and 700P is made from this edit screen 2001 (save button 1217), the attribute information included in the edited data can be handled by the functions of design application 400B, making it possible to output the desired results.

[0199] As described above, if it is determined that the edited data contains attributes that cannot be handled by the functions of the host application 400 and cannot be output with the desired results, the layout application 600 of the third embodiment changes the format of the added data to a different format. Also, attribute information is acquired again for the added data after the format change, and the output destination determination process is performed again. By changing the format, it becomes possible to combine and edit label data created by multiple applications in a single application, and output the edited data again to the calling application with the desired results.

[0200] <Fourth embodiment> Next, a fourth embodiment of the present disclosure will be described with reference to Figs. 21 to 27. The basic configuration of this embodiment is similar to that of the first embodiment, so only the characteristic configuration will be described below. As in the first embodiment, the three types of label data 700, 710, and 720 handled in the fourth embodiment are created by different versions of the design applications 400A, 400B, and 400C. In addition, the attributes of these label data 700, 710, and 720 are the same as the attribute information 801, 802, and 803 (Fig. 8) shown in the first embodiment.

[0201] In the fourth embodiment, when adding label data, the layout application 600 determines whether it is possible to combine the label data with label data already displayed on the edit screen and output it. A process is performed to prohibit operations on label data that is prohibited from being combined. Furthermore, in the fourth embodiment, unlike the first to third embodiments, the edit screen is not linked to an output destination plug-in. When the save button 1217 on the edit screen is operated, the plug-in that is the output destination of the edited data is the plug-in determined in the output destination determination process.

[0202] As a specific example, a case will be described below in which the layout application 600 is called and added in the order of label data 700, 710, and 720.

[0203] Fig. 21 is a flowchart showing the flow of label data addition processing executed in the fourth embodiment. Note that the processes from S2101 to S2108 correspond to the processes from S601 to S608 in Fig. 6 (first to third embodiments). However, the output destination candidate list generated in S2104, the output destination determination process in S2105, and the editing screen in S2106 to S2108 are different from those in the first embodiment. Also, prohibition processing is added as shown in S2109 and S2110. The following mainly describes the differences from the first embodiment.

[0204] (Adding the first label data 700) First, label data 700 is created by the "version 3" design application 400A, and the layout process button 451 on the screen 401 of the design application 400A is operated. The layout application 600 is requested by plug-in A to execute a label data addition process, and executes the label data addition process shown in FIG.

[0205] In the first label data addition process, the layout application 600 performs the processes in the order of S2101->S2102;NO->S2103->S2104. Note that the attribute information 801 of the acquired additional data and the function information 901 of the host application 400A are the same as those shown in Figs. 8(a) and 9(a).

[0206] In S2104, the layout application 600 registers the calling plug-in A in the output destination candidate list shown in Fig. 22. The output destination candidate list used in the fourth embodiment will be described with reference to Fig. 22.

[0207] 22, in the fourth embodiment, the output destination candidate lists 2200 to 2260 register combinations of the caller plug-in identifier and the identifier of the label data to be added (hereinafter, label identifier). Each time label data is added, the layout application 600 registers a combination of the plug-in identifier and the label identifier in the output destination candidate list.

[0208] At the stage when the first label data 700 is added, as shown in the output destination candidate list 2200 in Fig. 22(a), "Plug-in A" is registered in the plug-in identifier item 2201. Then, the process proceeds to S2105.

[0209] In S2105, the layout application 600 executes the output destination determination process shown in FIG. FIG. 23 is a flowchart showing the flow of the output destination determination process executed in the fourth embodiment.

[0210] In S2301, the layout application 600 adds the identifier of the additional data to the output destination candidate list. By the process of S2301, “Label 1”, which is the identifier of the label data 700, is added to the additional data item 2205, as shown in the output destination candidate list 2210 in FIG.

[0211] In S2302, the layout application 600 determines whether the combination of additional data and host application can be output for the undetermined combination. In this example, the layout application 600 determines the combination of label 1 and host application 400A (version 3) of plug-in A, which is an undetermined portion of the output destination candidate list 2210. When making the determination, the layout application 600 refers to the attribute information 801 of the additional data and the function information 901 of the host application.

[0212] As a result of the determination, the attribute information 801 of label 1 is compatible with the design application 400A of "version 3", and therefore it is determined that "output is possible." The layout application 600 registers information "○" representing "output is possible" for the combination, as shown in FIG. 22(c).

[0213] In S2303, the layout application 600 determines a plug-in that can output the combination of additional data, and proceeds to S2304. At this stage, since this is the first additional data, there is no additional data to combine. Therefore, the plug-in that can output the first additional data is set as the plug-in that can output in S2304.

[0214] In S2304, the layout application 600 judges whether there are multiple plug-ins that can be output by combining additional data. At this stage, there is no additional data to be combined, and the result of S2304 is that there is one plug-in that can be output, so the result is NO (S2304; NO), and this flowchart ends. If it is judged that there are multiple plug-ins in S2304 (S2304; YES), the process proceeds to S2305.

[0215] In S2305, the layout application 600 determines, as the output destination, a plug-in that hosts the latest version of the application among a plurality of plug-ins that can output in combination with additional data, and ends this flowchart. After that, the process proceeds to S2106 in FIG.

[0216] In S2106, the layout application 600 determines whether the edit screen has already been displayed. Since the edit screen has not yet been displayed when the first label data has been added, the result is NO (S2106; NO) and the process proceeds to S2107. However, if the edit screen has already been displayed (S2106; YES), the process proceeds to S2108.

[0217] In S2107, the layout application 600 displays the edit screen, and the process proceeds to S2108. In S2108, the layout application 600 adds the label data 700 (label 1), which is the additional data, to the editing screen as data to be edited, and ends this flowchart. As a result of the processing in S2108, the editing screen 1201 of the layout application 600 is displayed in a state in which the label data 700 shown in FIG. 12 has been added, as in the first embodiment. However, as described above, no plug-in is associated with the editing screen 1201 of the fourth embodiment. When the save button 1217 in the editing screen 1201 is operated, the plug-in that is to be the output destination of the edited data is the plug-in determined by the output destination determination processing in FIG. 23.

[0218] (Adding the second label data 710) Next, it is assumed that label data 710 is created using the design application 400B of "version 2," and the layout process button 451 on the screen of the design application 400B is operated. The layout application 600 is requested by plug-in B to execute a label data addition process, and executes the label data addition process (for the second time) shown in FIG.

[0219] In the second label data addition process, the layout application 600 advances the process in the order of S2101->S2102;NO->S2103->S2104->S2105. Note that the attribute information 801 of the acquired additional data and the function information 901 of the host application 400A are the same as those shown in Fig. 8(a) and Fig. 9(a). Also, the contents of the output destination candidate list registered in S2104 become the contents of the output destination candidate list 2230 shown in Fig. 22(d).

[0220] That is, after the second execution of S2104, "Plug-in B" which is the caller of the additional data is additionally registered as a plug-in identifier in the output destination candidate list 2230.

[0221] In S2105, the layout application 600 executes the output destination determination process (second time) of Fig. 23. In the second output destination determination process, like the first output destination determination process, the process proceeds in the order of S2301 → S2302 → S2303 → S2304, and the result is determined as NO in S2304, terminating this flowchart. The output destination candidate list 2240 after the second execution of S2302 is shown in Fig. 22(e). The layout application 600 determines whether output is possible for the combinations of Label 1 and Plug-in B, Label 2 and Plug-in A, and Label 2 and Plug-in B, which are undetermined portions of the output destination candidate list 2210.

[0222] As a result of the determination in S2302, as shown in FIG. 22(e), a combination of label 1 and plug-in A, and a combination of label 2 and plug-in B can be output. In the determination in S2303, it is determined that there is no plug-in that can output the combination of additional data (Label 1 and Label 2). Therefore, in other words, when the save button on the edit screen is operated, the output destination plug-in will be Plug-in A when outputting (saving) Label 1, and Plug-in B when outputting (saving) Label 2.

[0223] Next, the layout application 600 proceeds to S2106 in Fig. 21. Because the edit screen is displayed when adding the first label data, the result of the determination in S2106 is YES, and the process proceeds to S2108. In other words, the process proceeds to S2108 without opening a new edit screen.

[0224] In S2108, the layout application 600 adds the label data 710, which is additional data, to the currently displayed editing screen as data to be edited. The display content of the editing screen at this stage is shown in FIG. As shown in FIG. 24, two pieces of label data 700 and 710 have been added to an editing screen 2401 of the layout application 600 as data to be edited.

[0225] In S2109, the layout application 600 determines whether there is a combination of the displayed label data that cannot be output. Since the combination of label 1 and label 2 is determined to be unoutputtable as a result of S2303 in Fig. 23, the result of S2109 is YES, and the process proceeds to S2110. In S2109, if there is no combination of additional data that cannot be output (S2109; NO), this flow chart ends.

[0226] In S2110, the layout application 600 executes a prohibition process. In the prohibition process, the layout application 600 prohibits the selection of the label data 710, which is the most recently added data, from among the label data displayed on the currently displayed editing screen 2401, and the drag-and-drop operation into the label arrangement area of ​​the preview unit 1203. This prohibition process may be a process that does not accept the drag-and-drop operation by control on the screen, or may be a process that displays a warning screen as shown in FIG.

[0227] 25 is an example of a warning screen 2501. The warning screen 2501 is provided with a warning message display area 2502, a cancel button 2503, and a replace button 2504. The warning message display area 2502 displays a message indicating that label data for which combination operations are prohibited has been added, and a message inquiring as to whether to replace all of the arranged label data with the newly added label data.

[0228] When the cancel button 2503 is operated, the layout application 600 closes the warning screen 2501 and returns to the previous screen. When the replace button 2504 is operated, the layout application 600 closes the warning screen 2501 and replaces all of the arranged label data with the selected label data.

[0229] Fig. 26 is a diagram showing an example of a screen 2601 of the layout application 600 when the replace button 2504 is operated on the warning screen 2501 displayed while the edit screen 2401 of Fig. 24 is being displayed. As shown in Fig. 26, the label arrangement area of ​​the preview section 1203 of the edit screen 2601 shows that the already arranged label data 700 has been replaced with newly added label data 710.

[0230] (Adding the third label data 720) Next, it is assumed that label data 720 is created using the design application 400C of "version 1," and the layout process button 451 on the screen of the design application 400C is operated. The layout application 600 is requested by plug-in C to execute a label data addition process, and executes the label data addition process (third time) in FIG.

[0231] In the third label data addition process, the layout application 600 advances the process in the order of S2101->S2102;NO->S2103->S2104->S2105. Note that the attribute information 801 of the acquired additional data and the function information 901 of the host application 400A are the same as those shown in Fig. 8(a) and Fig. 9(a). Also, the contents of the output destination candidate list registered in S2104 become the contents of the output destination candidate list 2250 shown in Fig. 22(f).

[0232] That is, after the third execution of S2104, "Plug-in C" which is the caller of the additional data is additionally registered as a plug-in identifier in the output destination candidate list 2250.

[0233] In S2105, the layout application 600 executes the output destination determination process (third time) shown in Fig. 23. In the third output destination determination process, the process proceeds in the order of S2301 -> S2302 -> S2303 -> S2304 (YES) -> S2305, and the output destination determination process ends.

[0234] In S2302 for the third time, the layout application 600 determines whether output is possible for the combinations of Label 1 and Plug-in C, Label 2 and Plug-in C, Label 3 and Plug-in A, Label 3 and Plug-in B, and Label 3 and Plug-in C, which are undetermined portions of the output destination candidate list 2210. The output destination candidate list 2260 after the determination is shown in FIG. 22(g).

[0235] As shown in FIG. 22(g), the following combinations can be output: Label 1 and Plug-in A, Label 2 and Plug-in B, Label 2 and Plug-in C, Label 3 and Plug-in A, Label 3 and Plug-in B, and Label 3 and Plug-in C.

[0236] In the determination in S2303, the layout application 600 determines that there is a plug-in that can output the combination of additional data (Label 1, Label 2, and Label 3). As a result, it is determined that there is no plug-in that can output the combination of "Label 1, Label 2, and Label 3", that Plug-in A can output the combination of "Label 1 and Label 3", and that Plug-ins B and C can output the combination of "Label 2 and Label 3".

[0237] For the combination of "Label 2 and Label 3," it is determined that two plug-ins, B and C, which are compatible with the attribute information of both labels, are capable of output, so YES is determined in S2304 and the process proceeds to S2305. In S2305, plug-in C, which is the latest version, is determined as the output destination for the combination of "Label 2 and Label 3." For the combination of "Label 1 and Label 3," plug-in A, which is compatible with the attribute information of both labels, is set as the output destination. Also, when outputting label 1 (single), plug-in A is used, when outputting label 2 (single), plug-in B is used, and when outputting label 3 (single), plug-in A (latest version) is used.

[0238] After that, the layout application 600 proceeds to S2106 in Fig. 21. In S2106, since the edit screen has already been displayed, the result is determined to be YES (S2106; YES), and the process proceeds to S2108. In S2108, the layout application 600 adds the label data 720, which is the edit data, to the displayed edit screen (FIG. 24 or FIG. 26).

[0239] FIG. 27 is a diagram showing an example of the edit screen 2701 of the layout application 600 after execution of S2108 of the label data addition process, which is executed when the third label data 720 is added.

[0240] In S2109, the layout application 600 determines whether there is a combination of additional data that cannot be output. As a result of the output destination determination process, the combination of label 1 and label 2, and the combination of label 1, label 2, and label 3 cannot be output (S2109; YES). Therefore, the layout application 600 proceeds to the prohibition process of S2110 to prohibit operations on these combinations.

[0241] It should be noted that since the combination of label 1 and label 3, or the combination of label 2 and label 3, can be output, the prohibition process is not performed for these combinations in S2110.

[0242] 28 shows an example of an editing screen 2801 in which label data 720 for label 3 has been placed in the label placement area by a drag-and-drop operation. In the preview area 1203 of the editing screen 2801, the vertical column of label 2 (label data 710) that was placed in the state of FIG. 27 has been replaced with newly added label data 720, resulting in a combination of labels 2 and 3. If the save button 1217 is operated in this state, the edited data is output to the host application of plug-in B, which is the output destination for the "combination of label 2 and label 3" determined in the output destination determination process of FIG. 23.

[0243] As described above, in the fourth embodiment, the layout application 600 does not associate the edit screen with a plug-in, but determines the output destination based on the combination of additional data. For additional data that cannot be output in combination with the label data being displayed, the layout application 600 prohibits editing operations on the edit screen, or notifies the user by displaying a warning screen.

[0244] As a result, when data created in multiple apps is combined and edited in another app, and the edited data is output again to the calling app, if there is no host app that can combine and output the data, operations on the editing screen are prohibited. Therefore, the edited data can be output accurately when output to the host app.

[0245] <Fifth embodiment> Next, a fifth embodiment of the present disclosure will be described with reference to Figures 29 to 33. In the fifth embodiment, a process will be described in which the save button 1217 is operated after multiple label data have been added to the edit screen and editing operations such as layout operations and print job settings have been performed.

[0246] The basic configuration of the fifth embodiment is the same as that of the fourth embodiment, so the following description will focus on the characteristic configuration. The three types of label data 700, 710, and 720 handled in the fifth embodiment are the label data 700, 710, and 720 added by the label data addition process of the fourth embodiment. Note that in the fifth embodiment, an editing screen that is not associated with a plug-in, like the editing screen of the fourth embodiment, will be described as an example. However, the fifth embodiment can also be applied to an editing screen associated with a plug-in, as shown in the first to third embodiments.

[0247] 29 shows an edit screen 2901 in which label data 700, 710, and 720 have been added, the label data 710 and the label data 720 have been combined and arranged, and editing operations such as print job settings have been performed in the layout application 600. The number of layouts vertically 1213 is set to "500." When the save button 1217 is operated on the edit screen 2901, the layout application 600 starts the post-edit data save process shown in FIG.

[0248] FIG. 30 is a flowchart showing the flow of the post-edit data saving process. In S3001, the layout application 600 acquires attribute information of the edited data. The edited data is a combination of label data 710 and label data 720 (hereinafter referred to as combined data or edited data) as displayed in the preview area 1203 in Fig. 29. The attribute information of the edited data includes attribute information 802, 803 of the label data 710, 720 that are the source of the combined data, print job settings (device width, number of layouts horizontal, number of layouts vertical, label spacing horizontal, label spacing vertical), and output settings (destination hot folder).

[0249] The layout application 600 acquires attribute information 802 and 803 of the label data 710 and the label data 720, as well as the setting information in the print job settings and output settings described above, as attribute information of the combined data. The attribute information 802 and 803 are acquired by the process of S2101 when adding the label data, and are stored in RAM.

[0250] 31 is a diagram showing a schematic diagram of post-edit data 3100. The post-edit data 3100 is data of 500 pages, each of which includes one page of data 3101. The one page of data 3101 includes label data 710 and label data 720.

[0251] The width 3102 of one page of data 3101 is 200.0 mm, which is set in the substrate width 1211. The height 3103 of one page of data 3101 is 90.0 mm, which is the label data finished size of 70.0 mm, calculated by subtracting the top and bottom bleed width total of 6.0 mm from the data height of 76.0 mm of the label data 710 and label data 720, plus 20.0 mm (the sum of spacing 3104 and spacing 3105), which is set in the label spacing vertical 1215. Furthermore, the label data 710 and label data 720 maintain a spacing 3106 of 30.0 mm, which is set in the label spacing horizontal 1214, and are positioned in the center of the page.

[0252] Furthermore, since the layout number vertical 1213 is set to "500", the number of output pages of the edited data 3100 is set to "500." That is, a request is made to the design application 400 to output 500 pages of one page of data 3101.

[0253] 32A is a diagram showing attribute information 3200 acquired in S3001 of the post-edit data storage process. Here, the layout application 600 acquires an attribute 3201 as attribute information of the post-edit data 3100.

[0254] In S3002, the layout application 600 obtains function information of the host application that created the edited data 3100. The host applications that created the label data 710 and 720 included in the edited data 3100 are the design application 400B of version 2 and the design application 400C of version 1. Therefore, this function information is obtained from plug-ins B and C.

[0255] 32B shows function information 3210 acquired in S3002 by the layout application 600. Function information 3211 of the design application 400B of version 2 and function information 3212 of the design application 400C of version 1 are acquired.

[0256] In S3003, the layout application 600 determines output destination candidates. The layout application 600 determines, as output destination candidates, plug-ins that host applications that can support the attributes of the edited data 3100. Specifically, the layout application 600 compares the attribute information 3200 acquired in S3001 with the function information 3210 acquired in S3002, and determines an output destination that can support the attributes of the edited data 3100.

[0257] 32(a) and (b), when the maximum number of pages that can be outputted items in the function information 3211 and 3212 are referenced, the maximum number of pages for either application is "300", and therefore the number of pages "500" set in the attribute information 3201 of the edited data cannot be handled. Therefore, in S3003, it is determined that there is no output destination candidate.

[0258] In S3004, the layout application 600 determines whether it was determined in S3003 that there are output destination candidates. In the above example, since it was determined that there are no output destination candidates, the result is NO and the process proceeds to S3005. If there are output destination candidates (S3004; YES), the process proceeds to S3008.

[0259] In S3005, the layout application 600 determines whether the edited data 3100 can be reprocessed. Here, reprocessing means processing data so that the final output result of the output data (edited data) can be maintained. For example, reprocessing is possible by splitting data with a total page count of "500" that is attribute information of the edited data 3100 into two pieces of data with a total page count of "250". The layout application 600 determines that the edited data 3100 can be reprocessed (S3005; YES), and proceeds to S3006. If the edited data 3100 cannot be reprocessed (S3005; NO), the process proceeds to S3007.

[0260] In S3007, the layout application 600 identifies and displays attributes that affect the output of the edited data, and accepts the user's selection of an output destination from among the host applications that created the label data included in the edited data 3100. The process of S3007 is similar to the process of S1605 of the output destination determination process (FIG. 16) in the second embodiment. That is, the layout application 600 displays a selection screen similar to the selection screen 1701 shown in FIG. 17, and accepts the selection of the host application to be the output destination.

[0261] In S3006, the layout application 600 reprocesses the edited data 3100, and then returns to S3001. Here, as described in the explanation of S3005, the layout application 600 reprocesses the edited data 3100 by dividing the total number of pages "500" into two pieces of data with a total number of pages "250."

[0262] 33 is a diagram showing the post-edit data after reprocessing. It shows that the data has been split into two post-edit data 3300 and 3301, each with a total page count set to "250" as a result of reprocessing. Note that no changes have been made to the original data 3101 other than the number of pages.

[0263] In S3001 after reprocessing, the layout application 600 acquires attribute information of the post-reprocessing edited data 3300, 3301. As in attribute information 3220 shown in Fig. 32(c), attribute information 3221, 3222 is acquired for the post-reprocessing data 3101, 3102 with a total page count of "250", respectively. Note that the attribute information 3221, 3222 after reprocessing is the same as the attribute information 3201 before reprocessing shown in Fig. 32(a) except for the page count.

[0264] In S3002 after reprocessing, the layout application 600 acquires function information of the host application that created the reprocessed edited data 3300 and 3301. As in the previous case, the function information 3211 and 3212 shown in Fig. 32(b) is acquired.

[0265] In S3003 after reprocessing, the layout application 600 determines output destination candidates for the reprocessed edited data 3300, 3301. The layout application 600 compares the attribute information 3220 and function information 3210 acquired in S3001 and S3002 after reprocessing, and determines an output destination compatible with the attribute information 3220. From the contents of Fig. 32(b) and (c), either of the host applications of plug-ins B and C can output the reprocessed edited data. Therefore, the layout application 600 determines plug-ins B and C as output destination candidates.

[0266] In S3004 after reprocessing, the layout application 600 judges whether there are any output destination candidates determined in S3003. Here, since there are two output destination candidates, plug-in B and plug-in C, the answer is YES and the process proceeds to S3008. If there are no output destination candidates (S3004; NO), the process proceeds to S3005.

[0267] In S3008, the layout application 600 determines whether there are multiple output destination candidates. In this example, since there are two plug-ins, plug-in B and plug-in C, the result is YES and the process proceeds to S3009. If there is only one output destination candidate (S3008; NO), the process proceeds to S3010.

[0268] In S3009, the layout application 600 determines the host application with the latest version as the output destination from among the multiple output destination candidates determined in S3003, and proceeds to S3011. In this case, the host application of plug-in B is "version 2" and the host application of plug-in C is "version 1", so the layout application 600 determines plug-in B, which is the newer version, as the output destination.

[0269] In S3010, the layout application 600 determines the output destination candidate determined in S3003 as the output destination, and proceeds to S3011.

[0270] In S3011, the layout application 600 requests the plug-in determined as the output destination in S3007, S3009, or S3010 to save the edited data. In this example, the layout application 600 requests the plug-in B to output the label data defined by the reprocessed edited data 3300, 3301 in the form of a PDF file. The output destination is the hot folder 220 specified in the hot folder list selection 1216. Then, this flowchart ends.

[0271] As described above, in the fifth embodiment, label data created by multiple applications is combined and edited by another application, and the edited data is output again to the calling application. At this time, the layout application 600 determines an output destination for the edited data based on attribute information and function information of the host application. If it is found that the desired result cannot be output, the layout application 600 reprocesses the edited data if possible so that the final output result is maintained, and executes the output destination determination process again for the reprocessed edited data.

[0272] As a result, the edited data is reprocessed so that it can be handled by the design application 400, and when the reprocessed edited data is output again to the calling application, it can be output with the desired result.

[0273] In the fifth embodiment, the case where the save button is operated on the edit screen of the fourth embodiment has been described, but the process of the fifth embodiment may be implemented in combination with the first to third embodiments. That is, as shown in the first to third embodiments, the output destination is determined when adding label data, and even when the save button is operated on the edit screen to which the output destination is linked, the edited data save process shown in the fifth embodiment may be implemented and the output destination may be re-determined. This makes it possible to handle cases where, for example, a number of pages that cannot be handled by the app linked to the edit screen is set in the print job settings on the edit screen in the first to third embodiments.

[0274] Although the embodiments of the present disclosure have been described above with reference to the accompanying drawings, the present disclosure is not limited to such examples. It is clear that a person skilled in the art can come up with various modified or altered examples within the scope of the technical idea of ​​the present disclosure, and it is understood that these also naturally belong to the technical scope of the present disclosure.

[0275] <Other embodiments> The present disclosure can also be realized by a process in which a program for implementing one or more functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that implements one or more functions.

[0276] Examples of storage media that can be used include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, DVDs, and the like.

[0277] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing the program code it has read, but also include cases where an Operating System (OS) running on the computer performs some or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized through that processing.

[0278] Furthermore, it goes without saying that this also includes cases where the program code read from the storage medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then a CPU or the like provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.

[0279] The disclosure of the above-described embodiment includes the following configurations.

[0280] (Configuration 1) a second application is installed, which is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first applications via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first applications via any one of the plug-in modules; The second application comprises: an acquisition means for acquiring attribute information of the processed data when returning the processed data to the first application, and acquiring function information of the first application that has created the data to be processed and that is included in the processed data; a determination means for determining the first application to which the processed data is to be returned based on the attribute information and the function information acquired by the acquisition means, and determining the plug-in module hosted by the determined first application as an output destination of the processed data; An information processing device comprising:

[0281] (Configuration 2) The information processing device according to configuration 1, characterized in that the determination means determines, as a candidate for the output destination, the plug-in module that hosts the first application whose function information includes a function compatible with the attribute information acquired by the acquisition means.

[0282] (Configuration 3) the attribute information and the function information include version information of the host application; 3. The information processing apparatus according to configuration 2, wherein the determining means determines the candidates for the output destination based on version information included in the attribute information and version information included in the function information.

[0283] (Configuration 4) When there are a plurality of candidates for the output destination, the determining means 3. The information processing apparatus according to configuration 2, wherein the plug-in module having the first application, which is the latest version, as the output destination is determined from among the candidates.

[0284] (Configuration 5) When there is no candidate for the output destination, the determining means A reprocessing means for reprocessing the processed data so as to maintain a final output result; and a reacquisition unit for reacquiring the attribute information of the data after the reprocessing unit has reprocessed the data. The information processing device according to configuration 2 or 3, characterized in that the first application to return the reprocessed data is determined based on the attribute information reacquired by the reacquisition means and the function information acquired by the acquisition means.

[0285] (Configuration 6) When there is no candidate for the output destination, the determining means a receiving unit for receiving a selection of the first application to which the processed data is to be returned, 4. The information processing apparatus according to configuration 2 or 3, wherein the plug-in module hosted by the first application accepted by the accepting means is determined as the output destination of the processed data.

[0286] (Configuration 7) The information processing device according to configuration 6, further comprising a notification means for identifying attributes that cannot be handled by the functions included in the function information from the attribute information of the processed data acquired by the acquisition means, and notifying the identified attributes.

[0287] (Configuration 8) The information processing device according to any one of configurations 1 to 7, further comprising a display control means for displaying an operation screen of the second application and additionally displaying the processing target data on the operation screen each time the processing target data is acquired.

[0288] (Configuration 9) If there is no first application capable of combining and outputting second processing target data different from the processing target data, which is acquired while the processing target data is displayed on the operation screen, with the processing target data being displayed on the operation screen, 9. The information processing apparatus according to configuration 8, further comprising a prohibition unit that prohibits an operation on the second processing target data on the operation screen.

[0289] (Configuration 10) The process in the second application includes: At least one of the layout of the processing target data, the setting of the print job, and the setting of the storage destination is included; An information processing device as described in any one of configurations 1 to 9, characterized in that the processed data includes at least one of information regarding the arrangement, information regarding the settings of the print job, and information regarding the settings of the storage destination.

[0290] (Configuration 11) An information processing method, which is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first applications via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first application via any one of the plug-in modules, The computer acquiring attribute information of the processed data when returning the processed data to the first application, and acquiring function information of the first application that has created the data to be processed, the function information being included in the processed data; determining the first application that returns the processed data based on the attribute information and the function information, and determining the plug-in module that hosts the determined first application as an output destination of the processed data; 13. An information processing method comprising:

[0291] (Configuration 12) A program that is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first applications via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first application via any one of the plug-in modules, comprising: an acquisition means for acquiring attribute information of the processed data when returning the processed data to the first application, and acquiring function information of the first application that has created the data to be processed and that is included in the processed data; a determination means for determining the first application to which the processed data is to be returned based on the attribute information and the function information acquired by the acquisition means, and determining the plug-in module hosted by the determined first application as an output destination of the processed data; A program to function as a

Claims

1. a second application is installed, which is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first applications via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first applications via any one of the plug-in modules; The second application includes: an acquisition means for acquiring attribute information of the processed data when returning the processed data to the first application, and acquiring function information of the first application that has created the data to be processed and that is included in the processed data; a determination means for determining the first application to which the processed data is to be returned based on the attribute information and the function information acquired by the acquisition means, and determining the plug-in module that hosts the determined first application as an output destination of the processed data; An information processing device comprising:

2. The information processing device according to claim 1, characterized in that the determination means determines, as a candidate for the output destination, the plug-in module that hosts the first application whose function information includes a function compatible with the attribute information acquired by the acquisition means.

3. the attribute information and the function information include version information of the host application; 3. The information processing apparatus according to claim 2, wherein the determining means determines the candidates for the output destination based on version information included in the attribute information and version information included in the function information.

4. When there are a plurality of candidates for the output destination, the determining means 3 . The information processing apparatus according to claim 2 , wherein the plug-in module having the first application, which is the latest version among the candidates, is determined as the output destination.

5. When there is no candidate for the output destination, the determining means A reprocessing means for reprocessing the processed data so as to maintain a final output result; and a reacquisition unit for reacquiring the attribute information of the data after the reprocessing unit has reprocessed the data.

3. The information processing apparatus according to claim 2, wherein the first application to which the reprocessed data is to be returned is determined based on the attribute information reacquired by the reacquisition means and the function information acquired by the acquisition means.

6. When there is no candidate for the output destination, the determining means a receiving unit configured to receive a selection of the first application to which the processed data is to be returned; 3. The information processing apparatus according to claim 2, wherein the plug-in module hosted by the first application accepted by the accepting unit is determined as the output destination of the processed data.

7. 7. The information processing apparatus according to claim 6, further comprising a notification unit that identifies, from the attribute information of the processed data acquired by the acquisition unit, an attribute that cannot be handled by a function included in the function information, and notifies the user of the identified attribute.

8. 8. The information processing apparatus according to claim 1, further comprising a display control unit that displays an operation screen of the second application and additionally displays the processing target data on the operation screen every time the processing target data is acquired.

9. If there is no first application capable of combining and outputting second processing target data different from the processing target data, which is acquired while the processing target data is displayed on the operation screen, with the processing target data being displayed on the operation screen, 9. The information processing apparatus according to claim 8, further comprising a prohibition unit for prohibiting an operation on the second processing target data on the operation screen.

10. The process in the second application includes: At least one of the layout of the processing target data, the setting of the print job, and the setting of the storage destination is included; 2 . The information processing apparatus according to claim 1 , wherein the processed data includes at least one of information regarding the arrangement, information regarding settings of the print job, and information regarding settings of the storage destination.

11. 1. An information processing method, comprising: an information processing apparatus that is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first applications via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first application via any one of the plug-in modules, The computer acquiring attribute information of the processed data when returning the processed data to the first application, and acquiring function information of the first application that has created the data to be processed and that is included in the processed data; determining the first application that returns the processed data based on the attribute information and the function information, and determining the plug-in module that hosts the determined first application as an output destination of the processed data; 13. An information processing method comprising:

12. A program that is called via a plug-in module incorporated in one or more first applications that are host applications, acquires data created by the first applications via the plug-in module, processes the acquired data as data to be processed, and returns the processed data to the first application via any one of the plug-in modules, the program comprising: an acquisition means for acquiring attribute information of the processed data when returning the processed data to the first application, and acquiring function information of the first application that has created the data to be processed and that is included in the processed data; a determination means for determining the first application to which the processed data is to be returned based on the attribute information and the function information acquired by the acquisition means, and determining the plug-in module that hosts the determined first application as an output destination of the processed data; A program to function as a

Citation Information

Patent Citations

  • Information processing device, control method, and program

    JP2013030141A