Information processing device, control method, and program

JP2025039307A5Pending Publication Date: 2026-09-14CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023146301
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-08
Publication Date
2026-09-14

AI Technical Summary

Technical Problem

Existing information processing devices face challenges in improving the convenience of the dragging and dropping operation for file icons across different application programs.

Method used

A computer program that allows dragging a file icon from one application and dropping it onto an icon of another application, executing specific processes for sharing files based on pre-defined methods, ensuring compatibility and proper processing.

Benefits of technology

Enhances the convenience of file sharing operations by ensuring that files are properly processed and shared between applications, even if the receiving application does not support the initial sharing method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a program which improves the convenience of such a configuration that an information processing device receives operation of dragging and dropping a file icon.SOLUTION: A program executes an execution step of executing processing for: receiving operation of dragging a file icon which is included in a screen displayed by a first application program and of dropping the dragged file icon on an application icon corresponding to a third application program; and sharing a file corresponding to the dropped file icon with the third application program by a second method on the basis of noncompliance of the third application program with a first method.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, a control method, and a program. [Background technology]

[0002] Patent Document 1 describes that an information processing device accepts a drag-and-drop operation of a file icon. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2020-154525 Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, as the format in which information processing devices accept a drag-and-drop operation of a file icon becomes widespread, there is a demand for improving the convenience of this format.

[0005] SUMMARY OF THE PRESENT DISCLOSURE In view of the above, an object of the present invention is to improve the convenience of a manner in which an information processing device accepts a drag-and-drop operation of a file icon. [Means for solving the problem]

[0006] The present invention is characterized in that it is a predetermined program that causes a computer of an information processing device to execute an execution step of: receiving an operation of dragging a file icon included in a screen displayed by a first application program and an operation of dropping the dragged file icon onto an application icon corresponding to a second application program, and, based on the fact that the second application program supports a first method, executing a process for sharing a file corresponding to the dropped file icon with the second application program by the first method; and receiving an operation of dragging a file icon included in a screen displayed by the first application program and an operation of dropping the dragged file icon onto an application icon corresponding to a third application program, and, based on the fact that the third application program does not support the first method, executing a process for sharing a file corresponding to the dropped file icon with the third application program by the second method. Effect of the Invention

[0007] According to the present invention, it is possible to improve the convenience of the manner in which an information processing device accepts a drag-and-drop operation of a file icon. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 illustrates an example of a communication system. [Diagram 2] FIG. 2 is a diagram illustrating an example of a configuration of a terminal device and a communication device. [Diagram 3] 4 is a flowchart showing a process executed by the terminal device using an OS. [Figure 4] 4 is a flowchart showing a process executed by the terminal device using an OS. [Diagram 5] 13 is a flowchart showing a process executed by the terminal device using a first printing application. [Figure 6] 13 is a flowchart showing a process executed by the terminal device using a second printing application. [Figure 7] 13 is an example of a screen displayed by a terminal device. [Figure 8] 13 is an example of a screen displayed by a terminal device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] First Embodiment An information processing device and a communication device included in the communication system of the present embodiment will be described. In the present embodiment, a smartphone is exemplified as the information processing device, but is not limited thereto, and various devices such as a terminal device, a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), and a digital camera can be applied. In addition, in the present embodiment, a printer is exemplified as the communication device, but is not limited thereto, and various devices that can perform wireless communication with the information processing device can be applied. For example, if it is a printer, it can be applied to an inkjet printer, a full-color laser beam printer, a monochrome printer, and the like. In addition to printers, it can also be applied to copiers, facsimile machines, terminal devices, smartphones, notebook PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, and the like. In addition, it can also be applied to a multifunction machine having multiple functions such as a copy function, a FAX function, and a print function.

[0010] First, a system configuration for implementing this embodiment will be described.

[0011] 1 is a diagram showing an example of the configuration of a communication system according to the present embodiment. This system includes a communication device 151, a terminal device 101, an access point (AP) 131, and an external server 171.

[0012] The terminal device 101 is an information processing device of this embodiment. The communication device 151 is a communication device of this embodiment. The AP 131 is an external device that exists outside the terminal device 101 and outside the communication device 151. The external server 171 is a server that can provide services to devices connected to the AP 131 via the Internet.

[0013] A LAN (Local Area Network) formed by the AP 131 includes the AP 131, a communication device 151, and a terminal device 101. On the other hand, a WAN (Wide Area Network) includes the AP 131 and an external server 171.

[0014] In this embodiment, when an infrastructure connection, which will be described later, is established, the terminal device 101 can communicate with the communication device 151 via the AP 131. Furthermore, when a direct connection, which will be described later, is established, the terminal device 101 can communicate directly with the communication device 151 without going through the AP 131. Note that in the following, a connection with an AP corresponds to a connection with a network formed by the AP. Note that the AP may be capable of simultaneously forming multiple networks, and in this case, a connection with an AP may be a connection with any one of the multiple networks formed by the AP.

[0015] In this embodiment, the connection 141 between the terminal device 101 and the AP 131 and the connection 142 between the communication device 151 and the AP 131 are connections by a communication method based on the IEEE802.11 series of standards. Specifically, the communication method based on the IEEE802.11 series of standards is Wi-Fi (Wireless Fidelity) (registered trademark). In addition, the connection 143 between the terminal device 101 and the communication device 151 is Wi-Fi or Bluetooth (registered trademark) Low Energy (BLE). Note that the communication method used for each connection is not limited to this form, and may be, for example, Bluetooth Classic, Wi-Fi Aware, Near Field Communication (NFC), etc. The AP 131 and the external server 171 can communicate with each other via the Internet, and when the AP 131 is connected to the Internet, the devices connected to the AP 131 (the terminal device 101 and the communication device 151) can also use the Internet. The connection 141 between the terminal device 101 and the AP 131 and the connection 142 between the communication device 151 and the AP 131 may be a connection by a wired LAN.

[0016] Next, the configuration of the information processing device of this embodiment and the communication device capable of communicating with the information processing device of this embodiment will be described with reference to the block diagram of Fig. 2. In addition, the following configuration will be described as an example in this embodiment, but this embodiment is applicable to devices capable of communicating with the communication device, and the functions are not particularly limited to those shown in this figure.

[0017] The terminal device 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, a display unit 108, a wireless communication unit 109, a short-range wireless communication unit 110, an image capture device 111, a wired communication unit 112, etc. The CPU 103, the ROM 104, the RAM 105, etc. form a computer of the terminal device 101. The terminal device 101 is assumed to be a device such as a smartphone, but is not limited to a smartphone.

[0018] The input interface 102 is an interface for receiving data input and operational instructions from a user, and is composed of a physical keyboard, buttons, a touch panel, etc. Note that the output interface 107 described below and the input interface 102 may be configured in the same manner, so that the screen output and the reception of operations from the user are performed by the same configuration.

[0019] The CPU 103 is a system control unit, and controls the entire terminal device 101 .

[0020] The ROM 104 stores fixed data such as a control program executed by the CPU 103, a data table, and an operating system (hereinafter, referred to as OS) program. In this embodiment, each control program stored in the ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of an embedded OS stored in the ROM 104. In this embodiment, the OS of the terminal device 101 is iOS (registered trademark) 17. However, the present invention is not limited to this form, and any OS that supports a file sharing function by drag and drop, which will be described later, may be used. Specifically, for example, the OS may be iPadOS (registered trademark) 17, or a version of iOS later than iOS 17. In this embodiment, the ROM 104 stores a printing application program (hereinafter, a printing app). The printing app is installed in the terminal device 101 from the outside by, for example, a store application program. The printing app is an app provided by a vendor of the communication device 151. The printing app may have other functions than the function of transmitting a print job to cause the communication device 151 to execute printing. Specifically, the other functions include, for example, a function for performing network setup of communication device 151 and a function for sending a scan job for causing communication device 151 to execute a scan. Note that in this embodiment, the processes described as processes executed by the OS are, more precisely, processes executed by CPU 103 in accordance with a program in the OS. Similarly, the processes described as processes executed by a printing application are, more precisely, processes executed by CPU 103 in accordance with the printing application.

[0021] The RAM 105 is composed of a static random access memory (SRAM) that requires a backup power source. Since the RAM 105 holds data using a primary battery (not shown) for data backup, it can store important data such as program control variables without volatilizing the data. The RAM 105 also has a memory area for storing setting information for the terminal device 101, management data for the terminal device 101, and the like. The RAM 105 is also used as the main memory and work memory for the CPU 103.

[0022] The external storage device 106 includes various programs such as a print information generation program that generates print information that can be interpreted by the communication device 151, and an information transmission / reception control program that transmits and receives information to and from the communication device 151 connected via the wireless communication unit 109. The external storage device 106 also stores various information used by these programs, as well as image data obtained from other information processing devices and the Internet.

[0023] The output interface 107 is an interface that controls the display unit 108 to display data and to notify the status of the terminal device 101 .

[0024] Display unit 108 is composed of an LED (light emitting diode) and an LCD (liquid crystal display), and displays data and notifies the status of terminal device 101. Note that a soft keyboard equipped with keys such as numeric input keys, mode setting keys, a decision key, a cancel key, and a power key may be provided on display unit 108 to accept input from the user via display unit 108. In this embodiment, display unit 108 is a touch panel and is capable of accepting operations from the user using an operator such as a finger or a pen.

[0025] The wireless communication unit 109 is configured to wirelessly connect to devices such as the communication device 151 and the AP 131 to perform data communication. For example, the wireless communication unit 109 may directly communicate with the communication device 151 by wireless communication, or may communicate via the AP 131 that exists outside the terminal device 101 or the communication device 151. In this embodiment, the wireless communication method of the wireless communication unit 109 is assumed to be Wi-Fi, which is a communication method based on the IEEE802.11 standard, but Bluetooth Classic or the like may also be used. In this embodiment, the wireless LAN is assumed to be a network using Wi-Fi. In addition, the AP 131 may be, for example, a device such as a wireless LAN router. In this embodiment, a method in which the terminal device 101 and the communication device 151 are directly connected to each other without going through an external AP is called a direct connection method. In addition, a method in which the terminal device 101 and the communication device 151 are connected to each other via an external AP is called an infrastructure connection method.

[0026] The short-range wireless communication unit 110 is a component for executing data communication with devices such as the communication device 151 by a short-range wireless communication method, and performs communication by a communication method different from that of the wireless communication unit 109. The short-range wireless communication unit 110 is connectable to a short-range wireless communication unit 157 in the communication device 151. Note that examples of the communication method of the short-range wireless communication unit 110 include BLE, Bluetooth Classic, Wi-Fi Aware, and NFC.

[0027] The photographing device 111 is a device that converts an image photographed by a photographing element into digital data. The digital data is temporarily stored in the RAM 105. After that, the digital data is converted into a predetermined image format by a program executed by the CPU 103, and is stored in the external storage device 106 as image data.

[0028] The wired communication unit 112 is configured to connect to devices such as the communication device 151 and the AP 131 via a wire to perform data communication. For example, the wired communication unit 112 communicates via a wired LAN. In this embodiment, the wired LAN communicates according to the Ethernet standard. However, the present invention is not limited to this form, and the wired communication unit 112 may communicate, for example, via a Universal Serial Bus (USB) cable.

[0029] The communication device 151 includes a ROM 152, a RAM 153, a CPU 154, a print engine 155, a wireless communication unit 156, a short-range wireless communication unit 157, an input interface 158, an output interface 159, a function control unit 160, a display unit 161, and a wired communication unit 162. The ROM 152, the RAM 153, the CPU 154, etc. form a computer of the communication device 151.

[0030] The wireless communication unit 156 is configured to wirelessly connect to devices such as the terminal device 101 and the AP 131 to perform data communication. In this embodiment, Wi-Fi is used as the wireless communication method of the wireless communication unit 156, but Bluetooth Classic or the like may also be used. The wireless communication unit 156 has an AP 156-a for connecting to devices such as the terminal device 101 as an AP inside the communication device 151. The AP can be connected to the wireless communication unit 109 of the terminal device 101. The wireless communication unit 156 may directly communicate with the terminal device 101 via the AP 156-a, or may communicate with the terminal device 101 via the AP 131. The AP 156-a may be hardware that functions as an AP, or the wireless communication unit 156 may operate as the AP 156-a by software that functions as an AP. The AP inside the communication device 151 may be configured of multiple APs with different SSIDs (Service Set Identifiers) and passwords.

[0031] The RAM 153 is composed of a DRAM or the like that requires a backup power source. Since the RAM 153 holds data by being supplied with a data backup power source (not shown), it can store important data such as program control variables without volatilizing the data. The RAM 153 is also used as the main memory and work memory of the CPU 154, and stores a receiving buffer for temporarily storing print information received from the terminal device 101, etc., and various other information.

[0032] ROM 152 stores fixed data such as control programs, data tables, and OS programs executed by CPU 154. In this embodiment, each control program stored in ROM 152 performs software execution control such as scheduling, task switching, and interrupt processing under the management of an embedded OS stored in ROM 152. ROM 152 also has a memory area for storing data that needs to be held even when power is not supplied, such as setting information for communication device 151 and management data for communication device 151.

[0033] The CPU 154 is a system control unit, and controls the entire communication device 151 .

[0034] Based on information stored in the print engine 155 and the RAM 153 and a print job received from the terminal device 101, etc., an image is formed on a recording medium such as paper using a recording agent such as ink, and the print result is output. At this time, the print job sent from the terminal device 101, etc., has a large amount of transmission data and requires high-speed communication, so it is received via the wireless communication unit 156, which is capable of communication at a higher speed than the short-range wireless communication unit 157.

[0035] The short-range wireless communication unit 157 is configured to communicate with devices such as the terminal device 101 by a short-range wireless communication method. Note that examples of the communication method of the short-range wireless communication unit 157 include BLE, Bluetooth Classic, and Wi-Fi Aware.

[0036] The input interface 158 is an interface for receiving data input and operation instructions from the user, and is composed of a physical keyboard, buttons, a touch panel, etc. Note that the output interface 159 described below and the input interface 158 may have the same configuration, and may output the screen and receive operations from the user with the same configuration. The output interface 159 is an interface that controls the display unit 161 to display data and notify the status of the communication device 151.

[0037] The function control unit 160 manages the function operations of the communication device 151, determining whether or not the functions are to be operated simultaneously.

[0038] Display unit 161 is composed of an LED (light emitting diode) and an LCD (liquid crystal display), and displays data and notifies the state of communication device 151. Note that a soft keyboard equipped with keys such as numeric input keys, a mode setting key, a decision key, a cancel key, and a power key may be provided on display unit 161 to accept input from a user via display unit 161.

[0039] The wired communication unit 162 is configured to perform data communication by connecting to devices such as the terminal device 101 and the AP 131 via a wire. For example, the wired communication unit 162 communicates via a wired LAN. However, the communication is not limited to this form, and may be performed via a USB cable, for example.

[0040] <About the drag-and-drop file sharing function> In this embodiment, the terminal device 101 can display a home screen of the OS. On the home screen of the OS, icons (hereinafter, application icons or app icons) corresponding to apps installed in the terminal device 101 are displayed. When an app icon is tapped by a user, the app corresponding to the operated app icon is started. In this embodiment, it is assumed that a file management app is installed on the terminal device 101. The file management app is an app that can manage various files held by the terminal device 101 and various files accessible by the terminal device 101, and can display a list screen showing a list of these files. For example, each file is displayed on the list screen as an icon (file icon) corresponding to the file. In this embodiment, the file management app displays, for example, file icons corresponding to PDF format files, JPEG format files, HEIF format files, and PNG format files on the list screen. Note that, for example, file icons corresponding to other formats of files such as BMP format files, TIFF format files, GIF format files, MP3 format files, and MP4 format files may be displayed on the list screen. In the present embodiment, the user can select a file icon displayed by the file management app by tapping the operator, and then drag the operator without releasing it from the display unit 108. At this time, multiple file icons may be selected, or multiple file icons may be dragged in a state where multiple file icons are selected. In addition, when the user performs a separate operation to display a home screen of the OS while the selected file icon is being dragged, the screen displayed by the display unit 108 is switched from the list screen to the home screen of the OS. The operation to display the home screen of the OS is, for example, an operation to press a home button, which is a physical button provided on the terminal device 101.For example, if the terminal device 101 is a device (such as a tablet terminal) having a relatively large display unit, and a screen displayed by the file management app and a home screen of the OS are displayed in parallel on the display unit 108, there is no need to perform a separate operation to display the home screen of the OS while the selected file icon is being dragged. In this embodiment, the user can input a file corresponding to the selected file icon to the app corresponding to the app icon by operating the operator while dragging the file icon onto an app icon displayed on the home screen of the OS, and then releasing the operator from the display unit 108 on the app icon to drop the file icon. That is, in this embodiment, the user can input a file corresponding to the file icon to the app by dragging and dropping the file icon displayed by the file management app onto the app icon.

[0041] Specifically, when a file icon is dropped on an application icon, the OS of the terminal device 101 starts saving the file corresponding to the dropped file icon in a predetermined storage area accessible to the application corresponding to the application icon on which the file icon is dropped. After that, the OS of the terminal device 101 instructs the application corresponding to the application icon on which the file is dropped to execute a predetermined method called scene(_:openURLContexts:) defined in a protocol called UISceneDelegate. In this embodiment, the process of the OS instructing the application to execute a method corresponds to the process of the OS calling a method implemented in the application. At this time, the OS of the terminal device 101 notifies the application of the file path by executing an instruction using a file path indicating an area in which the file corresponding to the dropped file icon is saved as an argument. Then, when the application executes the predetermined method based on the instruction, the application starts up and acquires the file by accessing the area indicated by the file path acquired from the OS. Then, the application executes a process corresponding to the acquired file. In this manner, it is possible to share a file from a file management application to another application.

[0042] However, even if a file icon is dropped onto an application icon, if the application corresponding to the application icon cannot execute processing corresponding to a file sharing function by drag and drop, the application cannot properly process the file corresponding to the dragged and dropped file icon. Specifically, for example, if the application does not have a program for executing the above-mentioned predetermined method, the application cannot execute the above-mentioned predetermined method even if the application is instructed to execute the above-mentioned predetermined method by the OS of the terminal device 101, and therefore cannot properly process the file. In addition, if an application that does not have a program for executing the predetermined method is instructed to execute the predetermined method by the OS of the terminal device 101, the application may crash immediately after launching.

[0043] In this embodiment, therefore, a form will be described in which the OS controls the processing so that the application can appropriately process the dragged and dropped data.

[0044] 3 is a flowchart showing processing executed by the OS of the terminal device 101. This flowchart is realized by the CPU 103 reading a program (specifically, the OS) stored in the ROM 104 into the RAM 105 and executing it. This flowchart is also assumed to be started when a file icon is dropped onto an application icon corresponding to a printing application by drag and drop.

[0045] In S301, the CPU 103 acquires information about the printing application from the printing application. Note that in S301, the CPU 103 may acquire information about the printing application from information managed by the OS. Specifically, for example, the information about the printing application includes format information indicating a file format supported by the application corresponding to the application icon on which the file icon is dropped in a function of accepting file sharing from other applications. Note that the format information may indicate an extension corresponding to a file format supported by the application corresponding to the application icon on which the file is dropped. In this embodiment, the printing application is assumed to be compatible with PDF format, JPEG format, HEIF format, and PNG format in a function of accepting file sharing from other applications. In other words, the format information of the printing application is assumed to indicate PDF format, JPEG format, HEIF format, and PNG format. Note that the printing application may be compatible with files in formats other than the above formats in a function of processing a file selected on a selection screen displayed on the printing application. Specifically, for example, on a selection screen displayed on the printing application, files in other formats such as BMP format, TIFF format, and GIF format may also be selectable. When a file in another format is selected, the printing application may be capable of generating print data for printing the file in the other format and transmitting the print data to the communication device 151. In this embodiment, the information related to the printing application specifically includes, for example, method information indicating whether the printing application can execute a first method, which is a predetermined method. In other words, the method information is information indicating whether the printing application has a program for executing the first method.

[0046] In S302, the CPU 103 determines whether the data format of the file corresponding to the file icon dropped on the application icon corresponding to the print application matches the format indicated by the format information acquired in S301. If the CPU 103 determines that the data format of the file corresponding to the file icon dropped on the application icon does not match, the process ends without instructing the print application to execute the method. In other words, if the CPU 103 determines that the data format of the file corresponding to the file icon dropped on the application icon does not match, the process ends without the print application being started or the file corresponding to the file icon dropped on the application icon being acquired by the print application. On the other hand, if the CPU 103 determines that the data format of the file corresponding to the file icon dropped on the application icon corresponding to the print application matches the format indicated by the format information acquired in S301, the process proceeds to S303. Information on the format of the file corresponding to the file icon dropped on the application icon corresponding to the print application is acquired by the OS from, for example, a file management application. Note that, if multiple file icons are dropped on the application icon corresponding to the print application at once, if at least one of the multiple files corresponding to the multiple dropped file icons matches the format indicated by the format information acquired in S301, the process is determined as YES. That is, when multiple file icons are dropped on an application icon corresponding to a print application at once, if all of the multiple files corresponding to the dropped multiple file icons do not match the format indicated by the format information acquired in S301, this process is determined to be NO. In S303, CPU 103 determines whether or not the print application is running. Note that the process of this flowchart is executed in a state in which the OS home screen is displayed. Therefore, the state in which the print application is running at the timing when this determination is executed corresponds to the state in which the print application is running in a background process. If CPU 103 determines that the print application is not running, the process proceeds to S304, and if CPU 103 determines that the print application is running, the process proceeds to S305.

[0047] In S304, CPU 103 instructs the print application to execute a method for starting the print application, which starts the print application and switches the screen displayed on display unit 108 from the OS home screen to a screen displayed by the print application.

[0048] In S305, CPU 103 determines whether the print application can execute the first method based on the method information acquired in S301. Specifically, CPU 103 determines whether the print application supports a protocol called UISceneDelegate. If CPU 103 determines that the print application can execute the first method, it proceeds to S306, and if CPU 103 determines that the print application cannot execute the first method, it proceeds to S308.

[0049] In S306, CPU 103 instructs the print application to execute a first method. Specifically, CPU 103 executes an API (Application Programming Interface) for causing the print application to execute the first method, by using the OS. By executing this API, the print application executes the first method. As described above, the first method is a predetermined method called scene(_:openURLContexts:) defined in a protocol called UISceneDelegate. If CPU 103 determines NO in S303, it may instruct to execute a method called scene(_:willConnectTo:options:) defined in a protocol called UISceneDelegate as the predetermined method, and if CPU 103 determines YES in S303, it may instruct to execute a method called scene(_:openURLContexts:) defined in a protocol called UISceneDelegate as the predetermined method. At this time, CPU 103 executes the instruction using as arguments the file path indicating the area where the dropped file is saved and the identification information of the application (here, the file management application) that displayed the dropped file, and the like, to cause the print application to acquire the information used as the argument. In the process of instructing to execute the first method, CPU 103 can use multiple file paths as arguments. In other words, in the process of instructing to execute the first method, when multiple file icons are dropped on the application icon corresponding to the print application, CPU 103 can cause the print application to acquire multiple file paths corresponding to multiple files corresponding to the dropped file icons. In addition, when multiple file icons are dropped on the application icon corresponding to the print application, the print application can acquire multiple files corresponding to the dropped file icons.However, without being limited to this form, in the process executed based on the operation of a specific button (i.e., the process of this flowchart), the process of instructing the execution of a first method may also be in a form that does not allow multiple file paths to be used as arguments, just like the process of instructing the execution of a second method.

[0050] In S307, the CPU 103 starts to save the file corresponding to the file icon dropped on the application icon corresponding to the print application in a predetermined storage area accessible by the print application. If the file corresponding to the dropped file icon exists on the Internet outside the terminal device 101, the CPU 103 starts to receive the file from the Internet and starts to save the file in a predetermined storage area. In other words, a file on the Internet outside the terminal device 101 is a file held by a server outside the terminal device 101 and is a file that the terminal device 101 can obtain via the Internet. The CPU 103 may save only files in a data format supported by the print application among the files corresponding to the dropped file icons in a predetermined storage area, and not save files in a data format not supported by the print application. If multiple file icons are dropped on the application icon corresponding to the print application, the CPU 103 starts to save multiple files corresponding to the multiple file icons in a predetermined storage area. The order of the process of S307 and the process of S306 is not limited. That is, for example, after the saving of the file corresponding to the file icon dropped on the application icon corresponding to the print application is started, a process of instructing to execute the first method may be executed and the file path may be acquired by the print application. Also, if any of the files corresponding to the file icons dropped on the application icon corresponding to the print application are already saved in a predetermined storage area, the process of saving the file in the predetermined storage area may be omitted. An example of a file that is already saved in a predetermined storage area is a file corresponding to a file icon that has been dropped on the application icon corresponding to the print application in the past. The process of this flowchart then ends.

[0051] In S308, CPU 103 instructs the print application to execute the second method. Specifically, CPU 103 executes an API for causing the print application to execute the second method by the OS. By executing this API, the print application executes the second method. The second method is a method called application(_:open:options:) defined in a protocol called UIApplicationDelegate. At this time, CPU 103 executes the instruction using as arguments a file path indicating the area where the dropped file is saved and identification information of the application (here, a file management application) that displayed the dropped file, thereby causing the print application to acquire information used as arguments. Note that in the process of instructing to execute the second method, CPU 103 cannot use multiple file paths as arguments. In other words, in the process of instructing to execute the second method, even if multiple file icons are dropped on an application icon corresponding to the print application, CPU 103 can only cause the print application to acquire one file path corresponding to one file corresponding to one file icon among the multiple file icons dropped. Furthermore, even if multiple file icons are dropped onto an application icon corresponding to a printing application, the printing application can only obtain one file corresponding to one of the dropped file icons.

[0052] In S309, the CPU 103 starts to save the file corresponding to the file icon dropped on the application icon corresponding to the print application in a predetermined storage area accessible by the print application. If the file corresponding to the dropped file icon exists on the Internet outside the terminal device 101, the CPU 103 starts to receive the file from the Internet and starts to save the file in a predetermined storage area. The CPU 103 may also save only the file in a data format supported by the print application among the files corresponding to the dropped file icons in a predetermined storage area, and not save the file in a data format not supported by the print application. If multiple file icons are dropped on the application icon corresponding to the print application, the CPU 103 starts to save only one file among the multiple files corresponding to the multiple file icons in a predetermined storage area. The order of the process of S309 and the process of S308 is not limited. That is, for example, after the saving of the file corresponding to the file icon dropped on the application icon corresponding to the print application is started, a process of instructing to execute the second method may be executed and the file path may be acquired by the print application. Furthermore, if any of the files corresponding to the file icon dropped onto the application icon corresponding to the printing application is already stored in a predetermined storage area, the process of storing that file in the predetermined storage area may be omitted. After that, the process of this flowchart ends.

[0053] In this embodiment, as described above, the OS switches the method to be executed based on whether the application corresponding to the application icon on which the file icon is dropped is an application corresponding to the first method. By adopting such a form, when a file icon is dropped on an application icon, the OS can execute a process suitable for the characteristics of the application corresponding to the application icon. As described above, the first method is superior to the second method in that the print application can obtain multiple files when multiple file icons are dropped on an application icon corresponding to a print application. Therefore, a better file sharing function can be executed by executing a better method for an application corresponding to the first method. On the other hand, when an application does not correspond to the first method, the second method can be executed, and the file sharing function can be realized without causing the application to crash.

[0054] The file sharing function of the OS may be executed by an operation other than dropping a file icon on an application icon corresponding to a print application. Specifically, for example, when a user selects one of the file icons displayed by the file management application, the file management application displays a screen displaying an image shown by the file corresponding to the selected file icon. The screen includes a predetermined button for executing the file sharing function and displayed by the file management application. When the predetermined button is operated by the user, the file management application executes an API for executing the file sharing function of the OS. When the API is executed, the OS executes the file sharing function described below. At this time, the file that is the target of the file sharing function of the OS is one file corresponding to the selected file icon. More specifically, for example, when a file icon is pressed and held down in a state where one or more file icons displayed by the file management application are selected by the user, the file management application displays a menu for specifying a process to be executed on the file corresponding to the selected one or more file icons. The menu includes a predetermined button for executing the file sharing function and displayed by the file management application. When the predetermined button is operated by the user, the file management application executes an API for executing the file sharing function of the OS. When this API is executed, the OS executes the file sharing function described below. At this time, the files that are the target of the file sharing function of the OS are one or more files that correspond to the selected file icon or icons. Note that the file sharing function of the OS may be executable in a manner other than the method exemplified above, and the operation for executing the file sharing function of the OS may differ depending on the file management app.

[0055] 4 is a flowchart showing the process executed by the OS of the terminal device 101. This flowchart is realized by the CPU 103 reading a program (specifically, the OS) stored in the ROM 104 into the RAM 105 and executing it. This flowchart is started based on the operation of the above-mentioned predetermined button displayed by the file management application.

[0056] In S401, the CPU 103 identifies one or more applications that are compatible with the file sharing function of the OS and that are compatible with the data format of the file that is the target of the file sharing function of the OS, from among all applications installed in the terminal device 101. Note that, when there are multiple files that are the target of the file sharing function of the OS, it is assumed that one or more applications that are compatible with the data format of the first file in the file order among the multiple files that are the target of the file sharing function of the OS are identified.

[0057] In S402, the CPU 103 displays an area including one or more application icons corresponding to the identified one or more applications. Note that the area may be displayed so as to overlap with the screen displayed by the file management application.

[0058] In S403, CPU 103 determines whether one or more application icons displayed have been selected by the user. If CPU 103 determines YES, it proceeds to S404, and if CPU 103 determines NO, it repeats this process and waits for one of the application icons to be selected by the user. In the following description, it is assumed that the application corresponding to the application icon selected in S403 is a printing application.

[0059] In S404, the CPU 103 acquires information about the printing application from the printing application. This process is the same as the process in S301.

[0060] In S405, CPU 103 determines whether or not a print application is running. Note that the process of this flowchart is executed while the file management application is displayed. Therefore, the state in which the print application is running at the timing when this determination is executed corresponds to the state in which the print application is running as a background process. If CPU 103 determines that the print application is not running, the process proceeds to S406, and if CPU 103 determines that the print application is running, the process proceeds to S407.

[0061] In S406, CPU 103 instructs the print application to execute a method for starting the print application, which starts the print application and switches the screen displayed on display unit 108 from the screen displayed by the file management application to the screen displayed by the print application.

[0062] In S407, CPU 103 determines whether the print application can execute the first method based on the method information acquired in S404. Determining whether the print application can execute the first method is, in other words, determining whether the print application supports the first method. In this process, specifically, CPU 103 determines whether the print application supports a protocol called UISceneDelegate. If CPU 103 determines that the print application can execute the first method, the process proceeds to S408, and if CPU 103 determines that the print application cannot execute the first method, the process proceeds to S410.

[0063] In S408, CPU 103 instructs the print application to execute a first method. This process is the same as S306. In the process of instructing to execute the first method, when a predetermined button is operated with a plurality of file icons selected, CPU 103 can cause the print application to obtain a plurality of file paths corresponding to a plurality of files corresponding to the plurality of selected file icons. In addition, when a predetermined button is operated with a plurality of file icons selected, the print application can obtain a plurality of files corresponding to the plurality of selected file icons.

[0064] In S409, the CPU 103 starts saving the file targeted by the file sharing function of the OS in a predetermined storage area accessible by the print application. If the file targeted by the file sharing function of the OS exists on the Internet outside the terminal device 101, the CPU 103 starts receiving the file from the Internet and starts saving the file in a predetermined storage area. The CPU 103 may also save only files in a data format supported by the print application among the files targeted by the file sharing function of the OS in a predetermined storage area, and not save files in a data format not supported by the print application. If a predetermined button is operated with multiple file icons selected, the CPU 103 starts saving multiple files that are targeted by the file sharing function of the OS and correspond to the multiple file icons in a predetermined storage area. The order of the process of S408 and the process of S409 is not limited. That is, for example, after saving of the file corresponding to the selected file icon is started, a process of instructing to execute the first method may be executed and the file path may be acquired by the print application. In addition, if any of the files that are the target of the file sharing function of the OS are already stored in a specified storage area, the process of storing the file in the specified storage area may be omitted. For example, a file that is already stored in a specified storage area is a file that has been the target of the file sharing function of the OS in the past by operating a specified button. After that, the process of this flowchart ends.

[0065] In S410, CPU 103 instructs the print application to execute the second method. This process is the same as S308. In the process of instructing to execute the second method, CPU 103 can only cause the print application to obtain one file path corresponding to one file corresponding to one file icon among the selected file icons, even if a predetermined button is operated with multiple file icons selected. In other words, even if a predetermined button is operated with multiple file icons selected, the print application can only obtain one file corresponding to one file icon among the selected file icons.

[0066] In S411, the CPU 103 starts saving a file that is the target of the file sharing function of the OS in a predetermined storage area accessible by the print application. If a file that is the target of the file sharing function of the OS exists on the Internet outside the terminal device 101, the CPU 103 starts receiving the file from the Internet and starts saving the file in a predetermined storage area. The CPU 103 may also be configured to save only files in a data format supported by the print application among the files that are the target of the file sharing function of the OS in a predetermined storage area, and not save files in a data format that is not supported by the print application. If a predetermined button is operated with multiple file icons selected, the CPU 103 starts saving only one file among the multiple files corresponding to the multiple file icons in a predetermined storage area. The order of the process of S410 and the process of S411 is not limited. That is, for example, after saving of the file corresponding to the selected file icon is started, a process of instructing to execute the second method may be executed and the file path may be acquired by the print application. In addition, if any of the files that are the target of the file sharing function of the OS are already stored in a specified storage area, the process of storing the file in the specified storage area may be omitted. For example, a file that is already stored in a specified storage area is a file that has been the target of the file sharing function of the OS in the past by operating a specified button. After that, the process of this flowchart ends.

[0067] Next, a process executed by the printing application based on an instruction from the OS to execute the first method or the second method will be described.

[0068] FIG. 5 is a flowchart showing a process executed by the terminal device 101 using a print application (hereinafter, the first print application) compatible with the first method. This flowchart is realized by the CPU 103 reading a program (specifically, the first print application) stored in the ROM 104 into the RAM 105 and executing it. This flowchart is started based on a file being dropped onto an application icon corresponding to the first print application by drag and drop. This flowchart is started based on an application icon corresponding to the first print application being selected from one or more application icons displayed by the OS as a result of a predetermined button being operated. More specifically, this flowchart is started based on an instruction from the OS to the first print application to execute the first method. In the following description of this flowchart, the print application refers to the first print application.

[0069] In S501, CPU 103 determines whether communication device 151 is registered in the printing application. In this embodiment, the printing application can register communication device 151 on the printing application by acquiring capability information of communication device 151 from communication device 151 connected to terminal device 101 via a network. In other words, a state in which communication device 151 is not registered in the printing application corresponds to a state in which the printing application has not acquired capability information of communication device 151 from communication device 151 connected to terminal device 101 via a network. Note that if communication device 151 is registered on the printing application, the printing application can transmit a print job or a scan job to communication device 151. If CPU 103 determines NO, the process proceeds to S502, and if CPU 103 determines YES, the process proceeds to S504.

[0070] In S502, the CPU 103 displays a dialog including a message for instructing the user to register the communication device 151 in the printing application. An example of the dialog displayed here is shown in Fig. 7(a). The dialog includes an OK button, and when the OK button is tapped, the process proceeds to S503.

[0071] In S503, the CPU 103 displays a registration screen for registering the communication device 151 in the print application. An example of the registration screen displayed here is shown in FIG. 7B. In this process, the CPU 103 searches for a communication device 151 that exists on the network to which the terminal device 101 is connected and that corresponds to the print application. A list of the communication devices 151 found by this search is displayed on the registration screen. The communication device 151 that corresponds to the print application is a communication device 151 provided by the same vendor as the vendor of the print application. When any communication device 151 is selected from the list, the CPU 103 starts communication with the selected communication device 151 and acquires capability information of the selected communication device 151. As a result, the selected communication device 151 is registered in the print application. When the registration is completed, a home screen of the print application as shown in FIG. 7C is displayed, and the process of this flowchart ends. An icon indicating the communication device 151 registered in the print application is displayed on the home screen of the print application. In addition, the home screen of the print application displays buttons for executing various functions that can be executed by the print application. Note that after registration is complete, instead of displaying the home screen of the print application, the process may proceed to S506 to proceed to a flow for printing a file dropped onto the application icon corresponding to the print application.

[0072] In S504, which is executed if the result of the determination in S501 is YES, the CPU 103 displays a confirmation dialog for confirming with the user whether or not to execute printing using the communication device 151 currently registered in the print application. An example of the dialog displayed here is shown in FIG. 7(d). The confirmation dialog displays the name and model number of the communication device 151 currently registered in the print application. The confirmation dialog also includes a "Yes" button and a "No" button, and if either button is tapped, the process proceeds to S505.

[0073] In S505, CPU 103 determines whether or not the "YES" button has been tapped. If CPU 103 determines NO because the "NO" button has been tapped, it proceeds to S503, thereby executing a process for registering another communication device 151 in the print application. On the other hand, if CPU 103 determines YES because the "YES" button has been tapped, it proceeds to S506.

[0074] In S506, the CPU 103 judges whether the ith file in the file sequence among the files that are the target of the file sharing function of the OS is a PDF file. The files that are the target of the file sharing function of the OS are files that correspond to a file icon dropped on an application icon that corresponds to a print application, or files that correspond to a file icon that is selected when a predetermined button is operated. The file sequence is an sequence that corresponds to an order input from the OS to the print application by the first method or the second method. The file sequence may be a form that corresponds to a sorting order of files sorted on a list screen displayed by a file management application. That is, for example, if the files are sorted by name on the list screen, the file sequence may be in the order of name, and if the files are sorted by data size on the list screen, the file sequence may be in the order of data size. The initial value of i is 1. If the CPU 103 judges YES, the process proceeds to S507, and if the CPU 103 judges NO, the process proceeds to S513. Specifically, the case where the ith file in the file sequence is any one of a JPEG file, a HEIF file, and a PNG file is judged NO. Note that JPEG, HEIF, and PNG files are image files. Note that while a single PDF file may contain images for multiple pages, an image file only contains an image for one page.

[0075] In S507, the CPU 103 identifies only the first file in the file order among the files that are the target of the file sharing function of the OS and are in PDF format. Among the files that are the target of the file sharing function of the OS, only the file identified here is displayed on the preview screen. Specifically, for example, if the file that is the target of the file sharing function of the OS is only one PDF file, only that one file is identified. Also, for example, if the files that are the target of the file sharing function of the OS are multiple PDF files, only the first file in the file order among the multiple PDF files is identified. Also, for example, if the files dropped on the application icon corresponding to the printing application include a file in a format that does not match the format indicated by the format information and a file in PDF format, even if the file in the format that does not match the format indicated by the format information is earlier in the file order, the file in the format that does not match the format indicated by the format information is not identified, and only the first file in the file order among the PDF files is identified.

[0076] In S508, the CPU 103 uses the file path received from the OS to attempt to acquire the file identified in S507, which is a file stored in the area indicated by the file path. As described above, the area indicated by the file path is an area within the above-mentioned predetermined storage area.

[0077] In S509, the CPU 103 judges whether the acquisition of the file specified in S507 by the attempt in S508 is completed. If the CPU 103 judges YES, the process proceeds to S510, and if the CPU 103 judges NO, the process returns to S508. For example, if a file targeted by the file sharing function of the OS exists on the Internet outside the terminal device 101, the terminal device 101 must acquire the file from the Internet, and it takes time to complete the saving of the file. That is, at the timing when the attempt in S508 is made (i.e., the attempt in S508 is started), the OS may not have yet completed saving the file in a predetermined storage area. Therefore, in this embodiment, by performing this judgment process or repeating the process by this judgment process, if a file targeted by the file sharing function of the OS exists on the Internet outside the terminal device 101, the attempt to acquire the file is repeated until the acquisition of the file from the Internet and the saving of the file in a predetermined storage area are completed. It may take a long time to complete saving of the file when the data size of the file corresponding to the dropped file icon is large or when the performance of CPU 103 is low. This determination process or repetition of the process based on this determination process is also effective in such cases. CPU 103 may wait a predetermined time before attempting to acquire the file again.

[0078] In S510, CPU 103 uses the file acquired by the attempt in S508 to display a PDF format preview screen for previewing an image shown by the file. An example of the PDF format preview screen displayed here is shown in FIG. 8(a). If the acquired file is composed of data for multiple pages, the PDF format preview screen can display images for multiple pages, and the images displayed in the PDF format preview screen are switched by performing a scroll operation on the PDF format preview screen. The PDF format preview screen includes a "Next" button, and when the "Next" button is tapped, the process proceeds to S511.

[0079] In S511, CPU 103 displays a print setting screen for inputting print settings used to print the image previewed in S510. An example of the print setting screen displayed here is shown in FIG. 8B. The print setting screen displays the contents of the print settings currently set. The print setting screen also includes a "Change Settings" button, and when this button is tapped, a change screen for changing the contents of the print settings is displayed. When the contents of the print settings are changed on the change screen, the contents displayed by the print setting screen are also changed. The print setting screen also includes a "Print" button, and when this button is tapped, the process proceeds to S512.

[0080] In S512, CPU 103 generates print data for printing the image indicated by the file acquired in the attempt in S508 based on the print settings set in S511. Then, CPU 103 transmits a print job including the print data to communication device 151 registered in the printing application. Communication device 151 that receives the print job executes printing based on the print job, thereby printing the image indicated by the file acquired in the attempt in S508. Then, the processing of this flowchart ends.

[0081] In S513, which is executed when the result of the determination in S506 is NO, the CPU 103 determines whether or not the ith file in the file sequence among the files targeted by the file sharing function of the OS is an image file. As described above, an image file is a file whose format matches the format indicated by the format information, and is any one of a JPEG format file, a HEIF format file, and a PNG format file. If the CPU 103 determines YES, the process proceeds to S515, and if the CPU 103 determines NO, the process proceeds to S514. Specifically, the case where the ith file in the file sequence is determined to be NO is when the ith file is not any one of a PDF format file, a JPEG format file, a HEIF format file, and a PNG format file. In other words, the case where the ith file in the file sequence is a file whose format does not match the format indicated by the format information.

[0082] In S514, CPU 103 increments the value of i. That is, CPU 103 adds 1 to the current value of i and sets the new value of i. CPU 103 then returns to the process of S506. As a result, in the processes from S506 onwards, the file in the file order of the incremented value is referenced.

[0083] In S515, the CPU 103 identifies all image files among the files that are the target of the file sharing function of the OS. Among the files that are the target of the file sharing function of the OS, the files identified here are displayed on the preview screen. Specifically, for example, if the file that is the target of the file sharing function of the OS is only one image file, only that one file is identified. Also, for example, if the files that are the target of the file sharing function of the OS are multiple image files, all the image files are identified. Also, for example, if the files that are the target of the file sharing function of the OS include a file whose format does not match the format indicated by the format information and an image file, even if the file whose format does not match the format indicated by the format information is earlier in the file order, the file whose format does not match the format indicated by the format information is not identified, and all the image files are identified.

[0084] In S516, the CPU 103 uses the file path received from the OS to attempt to acquire the file specified in S515, which is a file stored in the area indicated by the file path.

[0085] In S517, the CPU 103 judges whether the attempt in S516 has completed the acquisition of the file specified in S515. If the CPU 103 judges YES, the process proceeds to S518, and if the CPU 103 judges NO, the process returns to S516. As described above, when a file that is the target of the file sharing function of the OS exists on the Internet outside the terminal device 101, the attempt to acquire the file is repeated until the acquisition of the file from the Internet and the storage of the file are completed.

[0086] In S518, the CPU 103 uses the file acquired by the attempt in S516 to display a preview screen for an image file for previewing an image represented by the file. An example of the preview screen for an image file displayed here is shown in FIG. 8(c). The preview screen for an image file includes a preview area for displaying an image represented by the acquired image file. When there are multiple acquired image files, a scroll operation is performed on the preview screen for an image file, and the image displayed in the preview area is switched from an image represented by a first image file among the multiple image files to an image represented by a second image file among the multiple image files. The preview screen for an image file displays a print setting screen for inputting print settings used to print the file acquired by the attempt in S516. The print setting screen displays the contents of the print settings currently set. The print setting screen also includes a "change settings" button, and when the button is tapped, a change screen for changing the contents of the print settings is displayed. When the contents of the print settings are changed on the change screen, the contents displayed by the print setting screen are also changed. The image file preview screen includes a "Print" button, and when the "Print" button is tapped, the process proceeds to S519.

[0087] In S519, CPU 103 generates print data for printing an image indicated by the file acquired in the attempt in S516 based on the print settings set in S518. Then, CPU 103 transmits a print job including the print data to communication device 151 registered in the printing application. If multiple files have been acquired in the attempt in S516, a print job including print data for printing multiple images indicated by the multiple files is transmitted. Communication device 151 that has received the print job executes printing based on the print job, thereby printing the image indicated by the file acquired in the attempt in S516. Then, the processing of this flowchart ends.

[0088] In this embodiment, as described above, by programming the processing to be performed when a specified method is executed by the OS into the printing application, it becomes possible for the printing application to process the file corresponding to the dropped file icon.

[0089] In addition, in this embodiment, it is possible to execute appropriate processing according to the file format of the file corresponding to the dropped file icon. As described above, a single PDF file may contain images for multiple pages. Therefore, when multiple file icons corresponding to multiple PDF files are dropped on an application icon corresponding to a printing application, if a preview screen for printing the multiple PDF files is displayed, a large number of pages must be previewed, which may increase the processing load of the printing application. On the other hand, a single image file contains only images for one page. Therefore, when multiple file icons corresponding to multiple image files are dropped on an application icon corresponding to a printing application, even if a preview screen for printing the multiple image files is displayed, the processing load of the printing application is unlikely to be high. Therefore, as in this embodiment, when multiple file icons corresponding to multiple files are dropped, only one PDF file is specified and previewed, and multiple image files are specified and previewed, so that the processing load of the printing application is controlled not to be high, and many images can be printed at once if possible.

[0090] In addition, in this embodiment, even if multiple file icons corresponding to multiple files are dropped and the multiple files include both files that are not supported by the printing application and files that are supported by the printing application, file-based processing such as preview display, print job transmission, etc. In such a case, in this embodiment, only files that are supported by the printing application are extracted and file-based processing can be executed, improving user convenience.

[0091] In addition, in this embodiment, even in a situation where a file corresponding to the dropped file icon exists on the Internet and it takes a long time for the OS to acquire and save the file, the file-based process is not canceled. In such a case, in this embodiment, the print application can wait until the OS has completed acquiring and saving the file before executing the file-based process, improving user convenience.

[0092] In addition, in this embodiment, when a file icon is dropped onto an icon corresponding to a printing app in a state where a printer is not registered in the printing app, a process for registering the printer in the printing app is executed, which makes it possible to prevent situations such as being unable to send a print job due to a printer not being registered in the printing app from occurring.

[0093] FIG. 6 is a flowchart showing a process executed by the terminal device 101 using a print application (hereinafter, second print application) that does not support the first method but supports the second method. This flowchart is realized by the CPU 103 reading a program (specifically, the second print application) stored in the ROM 104 into the RAM 105 and executing it. This flowchart is started based on a file being dropped onto an application icon corresponding to the second print application by drag and drop. This flowchart is started based on an application icon corresponding to the second print application being selected from one or more application icons displayed by the OS by operating a predetermined button. More specifically, this flowchart is started based on an instruction from the OS to the second print application to execute the second method. The vendor providing the first print application and the vendor providing the second print application may be different. In the following description of this flowchart, the print application refers to the second print application.

[0094] The processes in S601 to S605 are similar to those in S501 to S505.

[0095] In S606, CPU 103 judges whether the file targeted by the file sharing function of the OS is a PDF file. As described above, in the second method, only one file is shared, so only one file can be referenced in S606. If CPU 103 judges YES, it proceeds to S607, and if CPU 103 judges NO, it proceeds to S613.

[0096] In S607, the CPU 103 identifies a PDF file that is a target of the file sharing function of the OS. The identified file is to be displayed on the preview screen.

[0097] S608 to S612 are the same as S508 to S512.

[0098] In S613, which is executed when the result of the determination in S606 is NO, the CPU 103 determines whether the file targeted by the file sharing function of the OS is an image file. As described above, in the second method, only one file is shared, so only one file can be referenced in S613. If the result of the determination in S606 is YES, the CPU 103 proceeds to S614, and if the result of the determination in S606 is NO, the CPU 103 ends the processing of this flowchart. Note that if the result of the determination in S606 is NO, the CPU 103 does not display a preview screen, but may display an error screen or the home screen of the printing application.

[0099] In S614, the CPU 103 identifies an image file that is a target file of the file sharing function of the OS. The identified file is to be displayed on the preview screen.

[0100] S615 to S618 are the same as S515 to S518.

[0101] In the above description, the process executed by the first print application based on an instruction to execute the first method is different from the process executed by the second print application when an instruction to execute the second method is given. However, the present invention is not limited to this embodiment. The process executed by the first print application based on an instruction to execute the first method may be the same as the process executed by the second print application when an instruction to execute the second method is given. As described above, the first method supports sharing of multiple files, but in this embodiment, for example, only one file is shared when an instruction to execute the first method and an instruction to execute the second method are given. Whether or not to accept sharing of multiple files may be controlled by the application executing the first method, so such an embodiment may also be realized.

[0102] In the above, the application that executes the process based on the instruction to execute the first method or the instruction to execute the second method is a print application, but the present invention is not limited to this embodiment. The application that executes the process based on the instruction to execute the first method may be any application that handles files, such as a document file editing application, an image file editing application, a file management application, a camera application, an album creation application, etc. Of course, if the application that executes the process based on the instruction to execute the first method or the instruction to execute the second method is an application other than a print application, a process different from the process shown in FIG. 5 is executed.

[0103] <Other embodiments> In the above-described embodiment, in the process of the flowchart in FIG. 5, depending on whether the file dropped on the application icon corresponding to the print application is a PDF file or an image file, the process switches between identifying only one file or identifying multiple files. However, the process is not limited to this embodiment, and may be in a form in which only one file is identified regardless of the file format. That is, the process of S515 may be in a form in which only the first file in the file order is identified among the multiple files that are image files dropped on the application icon corresponding to the print application. Also, it may be in a form in which only multiple files are identified regardless of the file format. That is, the process of S507 may be in a form in which all PDF files are identified among the multiple files dropped on the application icon corresponding to the print application.

[0104] In the above-described embodiment, when the i-th file is neither a PDF file nor an image file, i is incremented and the file format of the next file number is determined in the process of the flowchart in Fig. 5. However, the embodiment is not limited to this embodiment, and when the first file in the file order is neither a PDF file nor an image file, the preview screen may not be displayed, but an error screen may be displayed, or the home screen of the printing application may be displayed. In other words, when S513 is NO, the process may proceed to a process of displaying an error screen instead of the process of S514.

[0105] Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which the program code of the software for realizing the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of the system or device read and execute the program code stored in the recording medium. In this case, the program code itself read from the recording medium will realize the functions of the above-mentioned embodiments, and the recording medium on which the program code is stored constitutes the present invention.

[0106] Examples of storage media for supplying the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0107] 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 that the functions of the above-mentioned embodiments are realized by an operating system (OS) running on the computer performing some or all of the actual processing based on the instructions of the program code. [Explanation of symbols]

[0108] 101 Terminal Equipment 151 Communication equipment

Claims

1. An information processing device having a predetermined program, A first execution means that accepts a drag operation in which a file icon included in the screen displayed by the first application program is dragged, and a drop operation in which the dragged file icon is dropped onto an application icon corresponding to the second application program, and based on the fact that the second application program is compatible with the first method, executes a first process for sharing the file corresponding to the dropped file icon with the second application program using the first method. A second execution means that accepts an operation to drag a file icon included in the screen displayed by the first application program and an operation to drop the dragged file icon onto an application icon corresponding to the third application program, and based on the fact that the third application program does not support the first method, executes a second process to share the file corresponding to the dropped file icon with the third application program by a second method. An information processing device characterized by having the following features.

2. The information processing apparatus according to claim 1, characterized in that the predetermined program is the operating system of the information processing apparatus.

3. The information processing apparatus according to Claim 1, characterized in that the first method is a method that can share a plurality of files corresponding to the plurality of dropped file icons with the second application program when an operation to drop a plurality of file icons onto an application icon corresponding to the second application program is accepted.

4. The information processing apparatus according to Claim 1, characterized in that even if an operation is accepted to drop a plurality of file icons onto an application icon corresponding to a second application program, only one of the plurality of files corresponding to the dropped plurality of file icons can be shared with the second application program.

5. The first process includes saving the file corresponding to the dropped file icon to a storage area accessible by the second application program, The information processing apparatus according to claim 1, characterized in that the second process includes the process of saving the file corresponding to the dropped file icon to a storage area accessible by the third application program.

6. The information processing apparatus according to claim 1, wherein if the file corresponding to the dropped file icon is a file that exists on the Internet, the first process and the second process include a process of receiving the file corresponding to the dropped file icon from the Internet.

7. The first process includes causing the second application program to obtain a file path indicating the area where the file corresponding to the dropped file icon is stored, and identification information of the application program that was displaying the dropped file icon. The information processing apparatus according to claim 1, characterized in that the second process includes a process to cause the third application program to obtain a file path indicating the area where the file corresponding to the dropped file icon is stored, and identification information of the application program that was displaying the dropped file icon.

8. The first process includes a process for starting the second application program, The information processing apparatus according to claim 1, characterized in that the second process includes a process for starting the third application program.

9. Display means that, after a file icon included in the screen displayed by the first application program is selected, displays a plurality of application icons, including an application icon corresponding to the second application program and an application icon corresponding to the third application program, on the screen displayed by the first application program, based on the fact that a predetermined operation different from the drop operation has been performed, which is different from the drop operation. A third execution means executes a process to share the file corresponding to the selected file icon with the second application program using the first method, based on the fact that the second application program is selected from the plurality of application icons displayed and the second application program corresponds to the first method. A fourth execution means that, based on the fact that a third application program is selected from the displayed plurality of application icons and the third application program does not correspond to the first method, executes a process to share the file corresponding to the selected file icon with the third application program using the second method. The information processing apparatus according to claim 1, further comprising the features.

10. After a file icon included in the screen displayed by the first application program is selected, the information processing device further has a means for identifying a plurality of application programs from among all application programs installed in the information processing device that correspond to the data format of the file corresponding to the selected file icon, based on the fact that the predetermined operation has been performed on the screen displayed by the first application program. The information processing apparatus according to claim 9, characterized in that, after a file icon included in the screen displayed by the first application program is selected, the plurality of application icons corresponding to the specified plurality of application programs are displayed on the screen displayed by the first application program based on the predetermined operation being performed.

11. The information processing apparatus according to claim 10, characterized in that, after a plurality of file icons included in the screen displayed by the first application program are selected, when the predetermined operation is performed on the screen displayed by the first application program, the plurality of application programs corresponding to the data format of the file corresponding to the first of the selected plurality of file icons are identified from among all application programs installed in the information processing apparatus.

12. The information processing device according to claim 1, characterized in that the first method is a method called scene(_:openURLContexts:) defined in a protocol called UISceneDelegate.

13. The information processing device according to claim 1, characterized in that the first method is a method called scene(_:willConnectTo:options:) defined in a protocol called UISceneDelegate.

14. When the application program on which the file icon was dropped is running, the first method is a method called scene(_:openURLContexts:) defined in the protocol called UISceneDelegate, The information processing device according to claim 1, characterized in that, if the application program on which the file icon was dropped is not running, the first method is a method called scene(_:willConnectTo:options:) defined in the protocol called UISceneDelegate.

15. The information processing device according to claim 1, characterized in that the second method is a method called application(_:open:options:) defined in a protocol called UIApplicationDelegate.

16. The information processing apparatus according to claim 1, characterized in that the second application program and the third application program are printing application programs.

17. When the first process is executed, the second application program executes a process to display an image based on the file corresponding to the dropped file icon. The information processing apparatus according to claim 1, characterized in that, when the second process is executed, the third application program executes a process to display an image based on the file corresponding to the dropped file icon.

18. The information processing device according to claim 1, characterized in that the predetermined program is at least one of iOS® 17, iPadOS® 17, or a version of iOS® later than iOS® 17.

19. A control method for an information processing device having a predetermined program, A first execution step is performed to share the file corresponding to the dropped file icon with the second application program by the first method, based on the acceptance of a drag operation in which a file icon included in the screen displayed by the first application program is dragged and a drop operation in which the dragged file icon is dropped onto an application icon corresponding to the second application program, and the second application program is compatible with the first method. A second execution step in which, upon receiving an operation to drag a file icon included in the screen displayed by the first application program and an operation to drop the dragged file icon onto an application icon corresponding to the third application program, and based on the fact that the third application program does not support the first method, a second process is executed to share the file corresponding to the dropped file icon with the third application program by a second method. A control method characterized by having the following features.

20. A predetermined program, In the computer of the information processing device, A first execution step is performed to share the file corresponding to the dropped file icon with the second application program by the first method, based on the acceptance of a drag operation in which a file icon included in the screen displayed by the first application program is dragged and a drop operation in which the dragged file icon is dropped onto an application icon corresponding to the second application program, and the second application program is compatible with the first method. A second execution step in which, upon receiving an operation to drag a file icon included in the screen displayed by the first application program and an operation to drop the dragged file icon onto an application icon corresponding to the third application program, and based on the fact that the third application program does not support the first method, a second process is executed to share the file corresponding to the dropped file icon with the third application program by a second method. A program characterized by causing the execution of [something].