Information processing apparatus, control method, storage medium, and computer program product
By implementing file sharing processing methods for different applications in the operating system of the information processing device, the problems of inconvenient file sharing operation and application crash in the prior art are solved, and the convenience and stability of operation are improved.
Patent Information
- Application Number
- CN202411202052.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-08
- Filing Date
- 2024-08-29
- Publication Date
- 2025-03-11
AI Technical Summary
The prior art has shortcomings in improving the operational convenience of receiving drag-and-drop file icons by the information processing device, especially when handling file sharing between different applications, there is a risk of method mismatch and application crashes.
By implementing a control method in the operating system of the information processing device, an appropriate processing method is selected to share the file associated with the file icon according to the received drag and drop operation and the support of the target application. Specifically, if the target application supports the first method (such as the scene(_:openURLContexts:) method defined in the UISceneDelegate protocol), the first process is executed; if not supported, the second process is executed (such as the application(_:open:options:) method defined in the UIApplicationDelegate protocol).
It improves the operation convenience of the information processing device to receive drag-and-drop file icons, ensures smooth file sharing between different applications, and avoids application crashes.
Smart Images

Figure CN119597191A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing device, a control method, a storage medium, and a computer program product. Background Art
[0002] Japanese Patent Laid-Open No. 2020-154525 describes that an information processing device receives an operation of dragging and dropping a file icon.
[0003] As the form in which information processing apparatuses receive operations of dragging and dropping file icons becomes more and more widespread, it is desired to improve the convenience of this form. Summary of the invention
[0004] An embodiment of the present disclosure provides a technology that improves the convenience of a form in which an information processing apparatus receives an operation of dragging and dropping a file icon.
[0005] According to some embodiments of the present disclosure, a method for controlling an information processing device having a predetermined program includes the following:
[0006] performing a first process for sharing a file associated with the dropped file icon with the second application by the first method based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with the second application, and based on the fact that the second application supports the first method; and
[0007] Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with a third application, and based on the fact that the third application does not support the first method, a second process is performed for sharing a file associated with the dropped file icon with the third application through a second method.
[0008] Further features of various embodiments of the present disclosure will become apparent from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a diagram illustrating an example of a communication system.
[0010] Figure 2 is a diagram illustrating an example of the configuration of a terminal device and a communication device.
[0011] Figure 3 This is a flowchart illustrating a process executed by the terminal device using the OS.
[0012] Figure 4This is a flowchart illustrating a process executed by the terminal device using the OS.
[0013] Figure 5 is a flowchart illustrating processing executed by the terminal device using the first print application.
[0014] Figure 6 is a flowchart illustrating processing executed by the terminal device using the second print application.
[0015] FIG. 7A to FIG. 7D The figure illustrates an example of a screen displayed by a terminal device.
[0016] FIG. 8A to FIG. 8C The figure illustrates an example of a screen displayed by a terminal device. DETAILED DESCRIPTION
[0017] First embodiment
[0018] The information processing device and the communication device included in the communication system according to the present embodiment will be described. In the present embodiment, as the information processing device, a smart phone is taken as an example. However, the information processing device is not limited to this. As the information processing device, various devices such as terminal devices, laptop PCs, tablet terminals, personal digital assistants (PDAs), and digital cameras can be used. In addition, in the present embodiment, as the communication device, a printer is taken as an example. However, the communication device is not limited to this. Various devices can be used as communication devices as long as the device can communicate wirelessly with the information processing device. For example, in the case where the communication device is a printer, an inkjet printer, a full-color laser beam printer, a monochrome printer, etc. can be used. In addition, in addition to the printer, a copier, a fax machine, a terminal device, a smart phone, a laptop PC, a tablet terminal, a PDA, a digital camera, a music playback device, a television, an intelligent speaker, etc. can also be used as a communication device. In addition, a multi-function peripheral device with multiple functions including a copy function, a fax function, and a printing function can be used as a communication device.
[0019] First, a system configuration for realizing the present embodiment will be described.
[0020] Figure 1 1 is a diagram illustrating an example of a configuration of a communication system according to the present embodiment. The communication system includes a communication device 151 , a terminal device 101 , an access point (AP) 131 , and an external server 171 .
[0021] The terminal device 101 is an information processing device according to the present embodiment. The communication device 151 is a communication device according to the present embodiment. The AP 131 is an external device existing outside the terminal device 101 and the communication device 151. The external server 171 can provide services to devices connected to the AP 131 through the Internet.
[0022] The AP 131, the communication device 151, and the terminal device 101 are included in a local area network (LAN) formed by the AP 131. The AP 131 and the external server 171 are included in a wide area network (WAN).
[0023] In this embodiment, when the infrastructure connection described later is established, the terminal device 101 can communicate with the communication device 151 via the AP 131. When the direct connection described later is established, the terminal device 101 can communicate directly with the communication device 151 without using the AP 131. In the following description, the connection with the AP corresponds to the connection with the network formed by the AP. The AP can form multiple networks at the same time. In this case, the connection with the AP can be a connection with any one of the networks formed by the AP.
[0024] In this embodiment, it is assumed that 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 using a communication method based on the IEEE 802.11 series of standards. Specifically, the communication method based on the IEEE 802.11 series of standards is Wireless Fidelity. In this embodiment, it is assumed that the connection 143 between the terminal device 101 and the communication device 151 is a connection via Wi-Fi or Low Energy (BLE) connection.
[0025] The communication method used for each connection is not limited thereto, and may be Bluetooth Classic, Wi-Fi Aware, near field communication (NFC), etc. The AP 131 and the external server 171 may communicate with each other via the Internet. In a state where the AP 131 is connected to the Internet, the devices (the terminal device 101 and the communication device 151) connected to the AP 131 may use the Internet. Each of 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 through a wired LAN.
[0026] Next, we will refer to Figure 2 The block diagram of FIG. 1 describes the configuration of the information processing device according to the present embodiment and the configuration of the communication device that can communicate with the information processing device according to the present embodiment. In the present embodiment, the following configuration is described as an example. However, the present embodiment does not particularly limit the functions to the reference Figure 2 The functions described herein may be used as long as a device that can communicate with the communication device can be used as the information processing device according to the present embodiment.
[0027] 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 capturing device 111, and a wired communication unit 112. The CPU 103, the ROM 104, the RAM 105, and the like 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.
[0028] The input interface 102 receives data input and operation instructions from the user, and includes a physical keyboard, buttons, a touch panel, etc. The output interface 107 described later may be included in the same configuration as the input interface 102, and may perform output of a screen and reception of an operation from the user in the same configuration.
[0029] The CPU 103 is a system control unit and controls the entire terminal device 101 .
[0030] The ROM 104 stores fixed data such as a control program to be executed by the CPU 103, a data table, and an operating system (hereinafter referred to as an OS) program. In the present embodiment, the control program stored in the ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 104. In the present embodiment, it is assumed that the OS included in the terminal device 101 is 17. However, the OS is not limited thereto, and may be an OS that supports a function of sharing files by dragging and dropping described later. Specifically, for example, the OS may be 17. The OS may be an iOS version after iOS17. In the present embodiment, ROM 104 stores a print application (hereinafter referred to as the print application). The print application is installed in the terminal device 101 from the outside through, for example, a store application. The print application is an application provided by a supplier of the communication device 151. In addition to the function of transmitting a print job so that the communication device 151 performs printing, the print application may also have other functions. Specifically, for example, the other functions are a function of executing network settings for the communication device 151, and a function of transmitting a scan job so that the communication device 151 performs scanning. In the present embodiment, the processing described as the processing performed by the OS is precisely the processing performed by the CPU 103 according to the program within the OS. Similarly, the processing described as the processing performed by the print application is precisely the processing performed by the CPU 103 according to the print application.
[0031] The RAM 105 includes a static random access memory (SRAM) that requires a backup power supply. Since data is retained in a primary battery (not shown) for data backup, important data such as program control variables can be stored in the RAM 105 without volatility. In addition, a memory area for storing setting information of the terminal device 101, management data of the terminal device 101, etc. is provided in the RAM 105. The RAM 105 is also used as a main memory and a working memory of the CPU 103.
[0032] The external storage device 106 includes various programs including a print information generation program for generating print information interpretable by the communication device 151 and an information transmission and reception control program for transmitting and receiving information to and from the communication device 151 connected to the terminal device 101 via the wireless communication unit 109. The external storage device 106 stores various types of information used by these programs. The external storage device 106 also stores image data acquired from another information processing device and the Internet.
[0033] The output interface 107 controls display of data by the display unit 108 and notification of the status of the terminal device 101 by the display unit 108 .
[0034] The display unit 108 includes a light emitting diode (LED) and a liquid crystal display (LCD). The display unit 108 displays data and notifies the status of the terminal device 101. A software keyboard including keys including a numeric input key, a mode setting key, an OK key, a cancel key, and a power key may be provided on the display unit 108, and the terminal device 101 may receive input from the user via the display unit 108. In the present embodiment, it is assumed that the display unit 108 is a touch panel, and an operation by the user using an operator such as a finger or a pen may be received.
[0035] The wireless communication unit 109 is wirelessly connected to devices such as the communication device 151 and the AP 131, and is configured to perform data communication with devices such as the communication device 151 and the AP 131. For example, the wireless communication unit 109 can directly perform wireless communication with the communication device 151, or can communicate with the communication device 151 via the AP 131 that exists outside the terminal device 101 and the communication device 151. In the present embodiment, it is assumed that, as a wireless communication method of the wireless communication unit 109, Wi-Fi, which is a communication method based on the IEEE802.11 series standard, is used, but Bluetooth Classic or the like can also be used. In addition, in the present embodiment, it is assumed that the wireless LAN is a network through Wi-Fi. An example of the AP 131 is a device such as a wireless LAN router. In the present embodiment, a method in which the terminal device 101 and the communication device 151 are directly connected to each other without an external AP is referred to as a direct connection method. In the present embodiment, a method in which the terminal device 101 and the communication device 151 are connected to each other via an external AP is referred to as an infrastructure connection method.
[0036] The short-range wireless communication unit 110 performs data communication with a device such as the communication device 151 using a short-range wireless communication method, and communicates using a communication method different from the communication method of the wireless communication unit 109. The short-range wireless communication unit 110 may be connected to a short-range wireless communication unit 157 within the communication device 151. Examples of the communication method of the short-range wireless communication unit 110 are BLE, Bluetooth Classic, Wi-Fi Aware, and NFC.
[0037] The image capturing device 111 converts an image captured by an image capturing element into digital data.
[0038] The digital data is temporarily stored in the RAM 105. Thereafter, the program executed by the CPU 103 converts the digital data into data in a predetermined image format and stores the converted data into the external storage device 106 as image data.
[0039] The wired communication unit 112 is connected to devices such as the communication device 151 and the AP 131 via a cable or the like, and performs data communication with devices such as the communication device 151 and the AP 131 via a cable or the like. For example, the wired communication unit 112 performs communication through a wired LAN. In the present embodiment, it is assumed that in the wired LAN, communication is performed according to the Ethernet standard. The wired communication unit 112 is not limited thereto. For example, the wired communication unit 112 can perform communication via a universal serial bus (USB) cable.
[0040] 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 , a wired communication unit 162 , and the like.
[0041] The ROM 152 , the RAM 153 , the CPU 154 , and the like constitute a computer of the communication device 151 .
[0042] The wireless communication unit 156 is wirelessly connected to devices such as the terminal device 101 and the AP 131, and performs data communication with devices such as the terminal device 101 and the AP 131. In the present embodiment, it is assumed that Wi-Fi is used as the wireless communication method of the wireless communication unit 156. However, Bluetooth Classic or the like may be used as the wireless communication method of the wireless communication unit 156. The wireless communication unit 156 includes an AP 156-a for connecting to a device such as the terminal device 101 as an AP within the communication device 151. The AP 156-a may be connected to the wireless communication unit 109 of the terminal device 101. The wireless communication unit 156 may communicate directly 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 used as an AP. Alternatively, the wireless communication unit 156 may operate as the AP 156-a by software used as an AP. In addition, the AP within the communication device 151 may include a plurality of APs having different service set identifiers (SSIDs) and different passwords.
[0043] The RAM 153 includes a DRAM or the like that requires a backup power supply. By supplying power (not shown) for data backup, data is retained in the RAM 153. Therefore, important data such as program control variables can be stored in the RAM 153 without being volatile. In addition, the RAM 153 is used as a main memory and a working memory of the CPU 154, and as a receiving buffer for temporarily storing print information received from the terminal device 101 or the like to store various types of information.
[0044] The ROM 152 stores fixed data such as a control program, a data table, and an OS program to be executed by the CPU 154. In the present embodiment, the control program stored in the ROM 152 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 152. In addition, the ROM 152 includes a memory area for storing data that is setting information of the communication device 151, management data of the communication device 151, and the like and that is required to be retained even when power is not supplied.
[0045] The CPU 154 is a system control unit and controls the entire communication device 151 .
[0046] The print engine 155 forms an image on a recording medium such as paper using a recording material such as ink, and outputs a print result based on the information stored in the RAM 153 and the print job received from the terminal device 101 etc. In this case, the print job transmitted from the terminal device 101 etc. has a large amount of transmission data, requiring high-speed communication, and therefore the print job is received via the wireless communication unit 156 capable of performing communication at a higher speed than the short-range wireless communication unit 157.
[0047] The short-range wireless communication unit 157 communicates with a device such as the terminal device 101 using a short-range wireless communication method. Examples of the communication method of the short-range wireless communication unit 157 are BLE, Bluetooth Classic, and Wi-Fi Aware.
[0048] The input interface 158 receives data input and operation instructions from the user, and includes a physical keyboard, buttons, a touch panel, etc. The output interface 159 described later may be included in the same configuration as the input interface 158, and may perform output of a screen and reception of an operation from the user in the same configuration. The output interface 159 controls the display of data by the display unit 161 and the notification of the state of the communication device 151 by the display unit 161.
[0049] The function control unit 160 manages a function operation of determining whether functions included in the communication device 151 are to be operated simultaneously.
[0050] The display unit 161 includes a light emitting diode (LED) and a liquid crystal display (LCD). The display unit 161 displays data and notifies the state of the communication device 151. A software keyboard including keys including a number input key, a mode setting key, an OK key, a cancel key, and a power key may be provided on the display unit 161, and the communication device 151 may receive input from a user via the display unit 161.
[0051] The wired communication unit 162 is connected to devices such as the terminal device 101 and the AP 131 via a cable or the like, and performs data communication with devices such as the terminal device 101 and the AP 131 via a cable or the like. For example, the wired communication unit 162 performs communication through a wired LAN. The wired communication unit 162 is not limited thereto, and may perform communication, for example, via a USB cable.
[0052] About the function of sharing files by dragging and dropping
[0053] In the present embodiment, the terminal device 101 may display a home screen for the OS. On the home screen for the OS, icons (hereinafter referred to as application icons) associated with applications installed in the terminal device 101 are displayed. When the user clicks the application icon, the application associated with the clicked application icon is activated. In the present embodiment, it is assumed that a file management application is installed in the terminal device 101. The file management application can manage various files maintained in the terminal device 101 and various files accessible to the terminal device 101. The file management application can display a list screen indicating a list of these files. On the list screen, for example, the file is displayed as an icon (file icon) associated with the file. In the present embodiment, it is assumed that the file management application displays file icons associated with PDF format files, JPEG format files, HEIF format files, and PNG format files on the list screen. On the list screen, for example, file icons associated with other format files (such as BMP format files, TIFF format files, GIF format files, MP3 format files, and MP4 format files) can be displayed. In the present embodiment, after the user selects a file icon displayed by the file management application by clicking the file icon using the operator, the user can drag the file icon without separating the operator from the display unit 108. In this case, multiple file icons can be selected, and multiple file icons can be dragged in a state where multiple file icons are selected. In addition, when the user performs an operation for displaying the home screen for the OS separately in a state where the selected icon is dragged, the screen displayed by the display unit 108 switches from the list screen to the home screen for the OS. The operation for displaying the home screen for the OS is, for example, an operation of pressing a home button that is a physical button included in the terminal device 101. For example, in a case where the terminal device 101 is a device (a tablet terminal, etc.) having a relatively large display unit and the screen displayed by the file management application and the home screen for the OS are displayed at the same time, there is no need to perform an operation for displaying the home screen for the OS separately in a state where the file icon is dragged. In the present embodiment, when the user moves the operator being used to drag the file icon to the application icon displayed on the home screen for the OS and drops the file icon by separating the operator on the application icon from the display unit 108, the file associated with the selected file icon can be input to the application associated with the application icon. That is, in the present embodiment, when the user drags the file icon displayed by the file management application to the application icon and drops the file icon on the application icon, the file associated with the file icon can be input to the application associated with the application icon.
[0054] Specifically, when a file icon is placed on an application icon, the OS of the terminal device 101 begins to store the file associated with the dragged file icon to a predetermined storage area accessible to the application associated with the application icon on which the file icon has been placed. Thereafter, the OS of the terminal device 101 instructs the application associated with the application icon on which the file icon has been placed to execute a predetermined method, which is scene(_:openURLContexts:) defined in the UISceneDelegate protocol. In this embodiment, the processing of the OS instructing the application to execute the method corresponds to the processing of the OS calling the method implemented in the application. In this case, the OS of the terminal device 101 uses the file path indicating the area in which the file associated with the dragged file icon is stored as an argument to execute the instruction, and notifies the application of the file path. When the application executes the predetermined method based on the above instruction, the application is activated and accesses the area indicated by the file path obtained from the OS to obtain the file. Then, the application performs processing on the acquired file. In this way, files from the file management application can be shared with other applications.
[0055] However, in the case where a file icon is dragged and dropped onto an application icon and the application associated with the application icon cannot perform processing of a function of sharing a file by dragging and dropping, the application cannot properly process the file associated with the dragged and dropped file icon. Specifically, for example, even in the case where the application does not include a program for executing a predetermined method and the application is instructed to execute the predetermined method from the OS of the terminal device 101, the application cannot execute the predetermined method and cannot properly process the file. In addition, in the case where the OS of the terminal device 101 instructs the application that does not include a program for executing the predetermined method to execute the predetermined method, the application may crash immediately after being activated.
[0056] In the present embodiment, a form of controlling the processing performed by the OS so that an application can appropriately process dragged and dropped data will be described.
[0057] Figure 3 It is a flowchart illustrating the processing executed by the terminal device 101 using the OS. Figure 3 The flowchart in FIG. 1 is implemented by CPU 103 reading a program (specifically, OS) stored in ROM 104 into RAM 105 and executing the read program. Figure 3 The flowchart in is based on starting with dragging and dropping a file icon onto an application icon associated with a print application.
[0058] In S301, CPU 103 obtains information about the printing application from the printing application. In S301, CPU 103 can obtain information about the printing application from the information managed by the OS. Specifically, for example, the information about the printing application includes format information indicating the file format supported by the application associated with the application icon on which the file icon has been placed in the function of accepting the sharing of files from another application. The format information may indicate the extension corresponding to the file format supported by the application associated with the application icon on which the file icon has been placed. In this embodiment, it is assumed that the printing application supports PDF format, JPEG format, HEIF format and PNG format in the function of accepting the sharing of files from another application. In other words, it is assumed that the format information of the printing application indicates PDF format, JPEG format, HEIF format and PNG format. The printing application may be able to support files in formats other than the above formats in the function of processing the file selected on the selection screen displayed on the printing application. Specifically, for example, on the selection screen displayed on the printing application, files in other formats such as BMP format, TIFF format and GIF format may be selected. In the case where a file of another format is selected, the printing application may be able to generate print data for printing the file of the other format and transmit the print data to the communication device 151. In the present embodiment, specifically, for example, the information about the printing application includes method information indicating whether the printing application can execute the first method as a predetermined method. In other words, the method information is information indicating whether the printing application includes a program for executing the first method.
[0059] In S302, the CPU 103 determines whether the data format of the file associated with the file icon placed on the print icon associated with the print application matches the format indicated by the format information acquired in S301. In the case where the data format does not match the format indicated by the format information, the CPU 103 ends the process without instructing the print application to execute the method. That is, in the case where the CPU 103 determines that the data format does not match the format indicated by the format information, the process ends, the print application is not activated, and the print application does not acquire the file associated with the file icon placed on the print icon. On the other hand, in the case where the CPU 103 determines that the data format matches the format indicated by the format information, the process proceeds to S303. The OS acquires information indicating in which format the file associated with the file icon placed on the print icon associated with the print application is from the file management application. Assume that, in the case where a plurality of file icons are placed on the application icon associated with the print application at the same time, and at least one of the plurality of files associated with the placed plurality of file icons matches the format indicated by the format information acquired in S301, the CPU 103 determines "yes" in S302. That is, it is assumed that, in a case where a plurality of file icons are simultaneously dropped on an application icon associated with a print application, and all of the plurality of files associated with the dropped plurality of file icons do not match the format indicated by the format information acquired in S301, the CPU 103 determines "No" in S302. In S303, the CPU 103 determines whether the print application is being activated. Execution in a state where the home screen for the OS is displayed Figure 3 . Therefore, the state in which the print application is activated when the determination is made in S303 corresponds to the state in which the print application is executed in the background processing. In the case where the CPU 103 determines that the print application is not activated, the process proceeds to S304. In the case where the CPU 103 determines that the print application is activated, the process proceeds to S305.
[0060] In S304, the CPU 103 instructs the print application to execute a method for activating the print application. Thus, the print application is activated, and the screen displayed on the display unit 108 is switched from the home screen for the OS to the screen displayed by the print application.
[0061] In S305, the CPU 103 determines whether the first method is executable by the printing application based on the method information acquired in S301. Specifically, the CPU 103 determines whether the printing application supports the UISceneDelegate protocol. In the case where the CPU 103 determines that the first method is executable by the printing application, the process proceeds to S306. In the case where the CPU 103 determines that the first method is not executable by the printing application, the process proceeds to S308.
[0062] In S306, CPU 103 instructs the printing application to execute the first method. Specifically, CPU 103 uses the OS to execute an application programming interface (API) for causing the printing application to execute the first method. When the API is executed, the printing application executes the first method. As described above, the first method is a predetermined method of scene(_:openURLContexts:) defined in the UISceneDelegate protocol. In the case where CPU 103 determines "No" in S303, CPU 103 may instruct the printing application to execute a method of scene(_:willConnectTo:options:) defined in the UISceneDelegate protocol. In the case where CPU 103 determines "Yes" in S303, CPU 103 may instruct the printing application to execute a method of scene(_:openURLContexts:) defined in the UISceneDelegate protocol.
[0063] In this case, the CPU 103 executes the instruction using the file path indicating the area in which the placed file is stored, the identification information of the application (in this case, the file management application) that displays the placed file, and the like as arguments, and causes the printing application to acquire the information used as the argument. In the process of instructing the printing application to execute the first method, the CPU 103 can use multiple file paths as arguments. In other words, in the process of instructing the printing application to execute the first method, in the case where multiple file icons are placed on the application icon associated with the printing application, the CPU 103 can cause the printing application to acquire multiple file paths associated with the multiple files associated with the placed multiple file icons. In the case where multiple file icons are placed on the application icon associated with the printing application, the printing application can acquire multiple files associated with the placed multiple file icons.
[0064] However, the present embodiment is not limited thereto. In the processing performed based on the operation of a predetermined button (ie, Figure 3 In the process of instructing the print application to execute the first method), similar to the process of instructing execution of the second method, multiple file paths cannot be used as arguments.
[0065] In S307, CPU 103 starts to store the files associated with the file icon placed on the application icon associated with the print application to a predetermined storage area accessible to the print application. In the case where the file associated with the placed file icon exists on the Internet outside the terminal device 101, CPU 103 starts to receive the file from the Internet and starts to store the file in a predetermined storage area. In other words, the file on the Internet outside the terminal device 101 is a file that is kept in a server outside the terminal device 101 and can be obtained by the terminal device 101 via the Internet. CPU 103 can only store the files in the data format supported by the print application among the files associated with the placed file icon to the predetermined storage area, and may not store the files in the data format not supported by the print application. In addition, in the case where multiple file icons are placed on the application icon associated with the print application, CPU 103 starts to store multiple files associated with the multiple file icons to the predetermined storage area. The order of executing the processing in S307 and the processing in S306 is not limited. That is, for example, after starting to store files associated with the file icon placed on the application icon associated with the printing application, a process of instructing the printing application to execute the first method can be performed, and the file path can be obtained by the printing application. In addition, in the case where there are files that are already stored in the predetermined storage area among the files associated with the file icon placed on the application icon associated with the printing application, the process of storing the files in the predetermined storage area can be omitted. The files that are already stored in the predetermined area are, for example, files that were associated with the file icon that was placed on the application icon associated with the printing application in the past. After S307, Figure 3 The processing of the flowchart in is completed.
[0066] In S308, CPU 103 instructs the printing application to execute the second method. Specifically, CPU 103 uses OS to execute an API for causing the printing application to execute the second method. When the API is executed, the printing application executes the second method. The second method is a method of application(_:open:options:) defined in the UIApplicationDelegate protocol. In this case, CPU 103 uses the file path indicating the area in which the placed files are stored, the identification information of the application (file management application in this case) that displays the placed files, etc. as arguments to execute the instruction, and causes the printing application to obtain the information used as the argument. In the process of instructing the printing application to execute the second method, CPU 103 cannot use multiple file paths as arguments. In other words, in the process of instructing the printing application to execute the second method, even if multiple file icons are placed on the application icon associated with the printing application, CPU 103 can only cause the printing application to obtain a single file path associated with a single file icon among the multiple file icons placed. In the case where a plurality of file icons are placed on the application icon associated with the print application, the print application can only acquire a single file associated with a single file icon among the placed plurality of file icons.
[0067] In S309, the CPU 103 starts to store the file associated with the file icon placed on the application icon associated with the printing application to a predetermined storage area accessible to the printing application. In the case where the file associated with the placed 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 store the file in the predetermined storage area. In addition, the CPU 103 can only store the files in the data format supported by the printing application among the files associated with the placed file icon to the predetermined storage area, and may not store the files in the data format not supported by the printing application. In the case where multiple file icons are placed on the application icon associated with the printing application, the CPU 103 starts to store only a single file among the multiple files associated with the multiple file icons to the predetermined storage area. The order of executing the processing in S309 and the processing in S308 is not limited. That is, for example, after starting to store the file associated with the file icon placed on the application icon associated with the printing application, the processing of instructing the printing application to execute the second method can be performed, and the file path can be obtained by the printing application. Furthermore, if there is a file already stored in a predetermined storage area among the files associated with the file icon placed on the application icon associated with the print application, the process of storing the file in the predetermined storage area may be omitted. Figure 3 The processing of the flowchart in is completed.
[0068] In the present embodiment, as described above, the method to be executed by the OS is switched based on whether the application associated with the application icon on which the file icon has been placed supports the first method. In this form, in the case where the file icon is placed on the application icon, the OS can perform processing suitable for the characteristics of the application associated with the application icon. As described above, in the case where multiple file icons are placed on the application icon associated with the printing application, the first method is superior to the second method because the printing application can obtain multiple files associated with the multiple file icons placed. Therefore, by causing the application that supports the first method to execute the superior method, a superior file sharing function can be executed. At the same time, by causing the application that does not support the first method to execute the second method, the file sharing function can be implemented without crashing the application.
[0069] The file sharing function of the OS can be executed by an operation other than placing a file icon on an application icon associated with a print application. Specifically, for example, in the case where a user selects any one of the file icons displayed by the file management application, a screen on which an image indicated by a file associated with the selected file icon is displayed is displayed by the file management application. The screen includes a predetermined button displayed by the file management application. The predetermined button is a button for executing the file sharing function. When the user operates the predetermined button, 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. In this case, the file that is the target of the file sharing function of the OS is a single file associated with the selected file icon. Specifically, for example, in the case where the file icon is long pressed in a state where the user selects one or more file icons displayed by the file management application, the file management application displays a menu for specifying a process to be performed on one or more files associated with the selected one or more file icons. The menu includes a predetermined button displayed by the file management application. The predetermined button is a button for executing the file sharing function. When the user operates the predetermined button, 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. In this case, the file that is the target of the file sharing function of the OS is one or more files associated with the selected one or more file icons. The file sharing function of the OS can be executed by a method other than the method illustrated above. The operation for executing the file sharing function of the OS may vary for each file management application.
[0070] Figure 4 It is a flowchart illustrating the processing executed by the terminal device 101 using the OS. Figure 4The flowchart in FIG. 1 is implemented by CPU 103 reading a program (specifically, OS) stored in ROM 104 into RAM 105 and executing the read program. Figure 4 The flowchart in FIG. 1 is started based on operating the above-mentioned predetermined button displayed by the file management application.
[0071] In S401, the CPU 103 specifies one or more applications that support the file sharing function of the OS and the data format of the file that is the target of the file sharing function of the OS among all applications installed in the terminal device 101. Assume that, in the case where there are multiple files as the target of the file sharing function, the CPU 103 specifies one or more applications that support the data format of the first file in order of the multiple files that are the targets of the file sharing function of the OS.
[0072] In S402, the CPU 103 displays an area including one or more application icons associated with the specified one or more applications. This area may be displayed overlapping with the screen displayed by the file management application.
[0073] In S403, the CPU 103 determines whether the user has selected any one of the one or more application icons displayed. In the case where the CPU 103 determines "yes" in S403, the process proceeds to S404. In the case where the CPU 103 determines "no" in S403, this process in S403 is repeated, and the CPU 103 stands by until the user selects any one of the one or more application icons. The description will be made based on the assumption that the application associated with the application icon selected in S403 is a printing application.
[0074] In S404, the CPU 103 acquires information about the print application from the print application. This process in S404 is the same as or similar to the process in S301.
[0075] In S405 , the CPU 103 determines whether the print application is being activated. Figure 4 The processing of the flowchart in is performed in the state where the file management application is displayed. Therefore, the state in which the print application is activated when the determination is made in S405 corresponds to the state in which the print application is executed in the background processing. In the case where the CPU 103 determines that the print application is not activated, the processing proceeds to S406. In the case where the CPU 103 determines that the print application is activated, the processing proceeds to S407.
[0076] In S406, the CPU 103 instructs the print application to execute a method for activating the print application. Thus, the print application is activated, and the screen displayed on the display unit 108 is switched from the screen displayed by the file management application to the screen displayed by the print application.
[0077] In S407, the CPU 103 determines whether the first method is executable by the printing application based on the method information acquired in S404. Determining whether the first method is executable by the printing application is to determine whether the printing application supports the first method. In S407, specifically, the CPU 103 determines whether the printing application supports the UISceneDelegate protocol. In the case where the CPU 103 determines that the first method is executable by the printing application, the process proceeds to S408. In the case where the CPU 103 determines that the first method is not executable by the printing application, the process proceeds to S410.
[0078] In S408, the CPU 103 instructs the printing application to execute the first method. The processing in S408 is the same as or similar to the processing in S306. In the processing of instructing the printing application to execute the first method, when a predetermined button is operated in a state where multiple file icons are selected, the CPU 103 can cause the printing application to acquire multiple file paths associated with multiple files associated with the selected multiple file icons. When a predetermined button is operated in a state where multiple file icons are selected, the printing application can acquire multiple files associated with the selected multiple file icons.
[0079] In S409, the CPU 103 starts to store the file that is the target of the file sharing function of the OS in a predetermined storage area accessible to the printing application. In the case where the 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 to receive the file from the Internet and starts to store the file in the predetermined storage area. In addition, the CPU 103 can store only the files in the data format supported by the printing application among the files that are the targets of the file sharing function of the OS in the predetermined storage area, and may not store the files in the data format not supported by the printing application. In the case where a predetermined button is operated in a state where multiple file icons are selected, the CPU 103 starts to store multiple files that are the targets of the file sharing function of the OS and are associated with multiple file icons in the predetermined storage area. The order of executing the processing in S408 and the processing in S409 is not limited. That is, for example, after starting to store the file associated with the selected file icon, the processing of instructing the printing application to execute the first method can be performed, and the file path can be obtained by the printing application. In the case where there is a file that has been stored in the predetermined storage area among the files that are the targets of the file sharing function of the OS, the processing of storing the file in the predetermined storage area can be omitted. For example, the file stored in the predetermined storage area is a file that was set as a target of the file sharing function of the OS by operating a predetermined button in the past. Figure 4 The processing of the flowchart in is completed.
[0080] In S410, the CPU 103 instructs the printing application to execute the second method. The processing in S410 is the same as or similar to the processing in S308. In the processing of instructing the printing application to execute the second method, even if a predetermined button is operated in a state where multiple file icons are selected, the CPU 103 can cause the printing application to acquire only a single file path associated with a single file icon associated with a single file icon among the selected multiple file icons. Even if a predetermined button is operated in a state where multiple file icons are selected, the printing application can cause the printing application to acquire only a single file associated with a single file icon among the selected multiple file icons.
[0081] In S411, the CPU 103 starts to store the file that is the target of the file sharing function of the OS in a predetermined storage area accessible to the printing application. In the case where the 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 to receive the file from the Internet and starts to store the file in the predetermined storage area. The CPU 103 can store only the files in the data format supported by the printing application among the files that are the targets of the file sharing function of the OS in the predetermined storage area, and may not store the files in the data format that is not supported by the printing application. In the case where a predetermined button is operated in a state where multiple file icons are selected, the CPU 103 starts to store only a single file among the multiple files associated with the multiple file icons in the predetermined storage area. The order of executing the processing in S410 and the processing in S411 is not limited. That is, for example, after starting to store the file associated with the selected file icon, the processing of instructing the printing application to execute the second method can be performed, and the file path can be acquired by the printing application. In the case where there is a file that has been stored in the predetermined storage area among the files that are the targets of the file sharing function of the OS, the processing of storing the file in the predetermined storage area can be omitted. For example, the file stored in the predetermined storage area is a file that was set as a target of the file sharing function of the OS by the operation of a predetermined button in the past. Figure 4 The processing of the flowchart in is completed.
[0082] Next, a description will be given of a process in which a printing application executed by the printing application based on an instruction from the OS executes the first method and the second method.
[0083] Figure 5 1 is a flowchart illustrating processing executed by the terminal device 101 using a print application supporting the first method (hereinafter referred to as a first print application). Figure 5 The flowchart in FIG. 1 is implemented by the CPU 103 reading a program (specifically, a first print application) stored in the ROM 104 into the RAM 105 and executing the read program. Figure 5 The flowchart in FIG. 1 is based on dragging and dropping a file icon onto an application icon associated with a first printing application. In addition, assuming that Figure 5 The flowchart in FIG. 1 is based on starting with selecting an application icon associated with a first printing application from among one or more application icons displayed by the OS when a predetermined button is operated. More specifically, assuming that Figure 5 The flowchart in FIG. 1 is based on instructions from the OS to the first printing application for executing the first method. Figure 5 In the description of the flowchart in , the printing application is the first printing application.
[0084] In S501, the CPU 103 determines whether the communication device 151 has been registered in the printing application. In the present embodiment, the communication device 151 can be registered in the printing application by the printing application acquiring the capability information of the communication device 151 from the communication device 151 connected to the terminal device 101 via the network. That is, the state in which the communication device 151 is not registered in the printing application corresponds to the state in which the printing application has not registered the capability information of the communication device 151 from the communication device 151 connected to the terminal device 101 via the network. In the case where the communication device 151 is registered in the printing application, the printing application can transmit the print job and the scan job to the communication device 151. In the case where the CPU 103 determines "No" in S501, the processing proceeds to S502. In the case where the CPU 103 determines "Yes" in S501, the processing proceeds to S504.
[0085] In S502 , the CPU 103 displays a dialog box including a message prompting the user to register the communication device 151 in the print application. Fig. 7A An example of a dialog box displayed in this case is illustrated. The dialog box includes an OK button. When the OK button is clicked, the process proceeds to S503.
[0086] In S503 , the CPU 103 displays a registration screen for registering the communication device 151 in the print application. Figure 7BAn example of a registration screen displayed in this case is illustrated. In the processing in S503, the CPU 103 searches for one or more communication devices 151 that exist on the network to which the terminal device 101 is connected and that support the print application. Then, a list of the communication devices 151 found in the search is displayed on the registration screen. The one or more communication devices 151 that support the print application are provided by the same vendor as the print application. When any one of the one or more communication devices 151 is selected from the list, the CPU 103 starts communicating with the selected communication device 151 and acquires capability information of the selected communication device 151. Thus, the selected communication device 151 is registered in the print application. When the registration is completed, as shown in FIG. Figure 7C As shown in , the home screen for the print application is displayed, and Figure 5 The processing of the flowchart in ends. On the home screen for the printing application, an icon indicating the communication device 151 registered in the printing application is displayed. In addition, on the home screen for the printing application, buttons for executing various functions executable by the printing application are displayed. After the registration is completed, the process can proceed to S506 without displaying the home screen for the printing application, so as to print the file placed on the application icon associated with the printing application.
[0087] In S504 executed if the determination result in S501 is YES, the CPU 103 displays a confirmation dialog for confirming to the user whether to execute printing using the communication device 151 currently registered in the print application. Fig.7D An example of a dialog box displayed in this case is illustrated. In the confirmation dialog box, the name or model of the communication device 151 currently registered in the print application is displayed. In addition, the confirmation dialog box includes a "Yes" button and a "No" button. When any one of the "Yes" button and the "No" button is clicked, the process proceeds to S505.
[0088] In S505, the CPU 103 determines whether the "Yes" button has been clicked. In the case where the CPU 103 determines "No" in S505 based on the "No" button being clicked, the process proceeds to S503, and the CPU 103 performs a process of registering another communication device 151 in the print application. On the other hand, in the case where the CPU 103 determines "Yes" in S505 based on the "Yes" button being clicked, the process proceeds to S506.
[0089] In S506, the CPU 103 determines whether the i-th file in order of the files that are the target of the file sharing function of the OS is a PDF format file. The files that are the target of the file sharing function of the OS include files associated with the file icon placed on the application icon associated with the print application and files associated with the file icon selected when the predetermined button is operated. The order of the files is the order in which the files are input from the OS to the print application by the first method or the second method. In addition, the order of the files may be the order of the files sorted in the list screen displayed by the file management application. That is, for example, in the case where the names of the files are sorted in the list screen, the order of the files may be the order of the names. In the case where the data sizes of the files are sorted in the list screen, the order of the files may be the order of the data sizes. The initial value of i is 1. In the case where the CPU 103 determines "yes" in S506, the process proceeds to S507. In the case where the CPU 103 determines "no" in S506, the process proceeds to S513. The case where the CPU 103 determines "No" in S506 specifically refers to the case where the i-th file in the file order is any one of a JPEG format file, a HEIF format file, and a PNG format file. JPEG format files, HEIF format files, and PNG format files are image files. Each image file includes only a single page of image, while a single PDF format file can include multiple pages of images.
[0090] In S507, the CPU 103 specifies only the first file in order of the PDF format files as the target of the file sharing function of the OS. Among the files that are the targets of the file sharing function of the OS, only the files specified in S507 are displayed on the preview screen. Specifically, for example, in the case where only a single PDF format file is the file that is the target of the file sharing function of the OS, only the single file is specified. In addition, for example, in the case where there are multiple PDF format files that are the files that are the targets of the file sharing function of the OS, the first file in order of the multiple PDF format files is specified. In addition, for example, in the case where the files placed on the application icon associated with the printing application include a file in a format that does not match the format indicated by the format information and a PDF format file, and the file in a format that does not match the format indicated by the format information is input into the printing application earlier than the PDF format file in the order of the files, the file in a format that does not match the format indicated by the format information is not specified, but the first file in order of the PDF format files is specified.
[0091] In S508, the CPU 103 uses the file path received from the OS to attempt to acquire the file held in the area indicated by the received file path and specified in S507. As described above, the area indicated by the file path is within the above-described predetermined storage area.
[0092] In S509, the CPU 103 determines whether the acquisition of the file specified in S507 has been completed by the attempt in S508. In the case where the CPU 103 determines "yes" in S509, the process proceeds to S510. In the case where the CPU 103 determines "no" in S509, the process returns to S508. For example, in the case where a file that is the target of the file sharing function of the OS exists on the Internet outside the terminal device 101, the terminal device 101 needs to obtain the file from the Internet, and it takes time to complete the storage of the file. That is, when the attempt is made in S508 (that is, when the attempt in S508 starts), the storage of the file in the predetermined storage area by the OS may not be completed. Therefore, in the present embodiment, in the case where the file that is the target of the file sharing function of the OS exists on the Internet outside the terminal device 101, the determination process in S509 and the processing performed due to the determination process in S509 are repeatedly performed to repeat the attempt to obtain the file until the acquisition of the file from the Internet and the storage of the file in the predetermined storage area are completed.
[0093] In the case where the data size of the file associated with the placed file icon is large or the performance of the CPU 103 is low, it may take time to complete the storage of the file. In this case, it is effective to repeat the determination process and the process performed due to the determination process. The CPU 103 may stand by for a predetermined period of time until trying to obtain the file again.
[0094] In S510 , the CPU 103 displays a PDF format preview screen using the file acquired by the attempt in S508 to preview an image indicated by the file. Fig. 8A An example of a PDF format preview screen displayed in this case is illustrated. In the case where the acquired file includes data for multiple pages, images for multiple pages can be displayed on the PDF format preview screen, and the images displayed on the PDF format preview screen can be switched by performing a scroll operation on the PDF format preview screen. The PDF format preview screen includes a "Next" button. When the "Next" button is clicked, the process proceeds to S511.
[0095] In S511 , the CPU 103 displays a print setting screen for entering print settings to be used for printing the image previewed in S510 . Figure 8BAn example of a print setting screen displayed in this case is illustrated. The content of the currently set print setting is displayed on the print setting screen. The print setting screen includes a "Change Settings" button. When the "Change Settings" button is clicked, a change screen for changing the content of the print setting is displayed. When the content of the print setting is changed on the change screen, the content displayed on the print setting screen is also changed. The print setting screen also includes a "Print" button. When the "Print" button is clicked, the process proceeds to S512.
[0096] In S512, the CPU 103 generates print data for printing the image indicated by the file acquired by the attempt in S508 based on the print setting set in S511. Then, the CPU 103 transmits the print job including the print data to the communication device 151 registered in the print application. The communication device 151 that has received the print job executes printing based on the print job to print the image indicated by the file acquired by the attempt in S508. After S512, Figure 5 The processing of the flowchart in is completed.
[0097] In S513, which is executed when the result of the determination in S506 is "No", the CPU 103 determines whether the i-th file in order of the file that is the target of the file sharing function of the OS is an image file. As described above, the image file is a file in a format that 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. In the case where the CPU 103 determines "Yes" in S513, the process proceeds to S515. In the case where the CPU 103 determines "No" in S513, the process proceeds to S514. The case where the CPU 103 determines "No" in S513 is specifically the case where the i-th file in the order of the 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 CPU 103 determines "No" in S513 is the case where the i-th file in the order of the file is in a format that does not match the format indicated by the format information.
[0098] In S514, the CPU 103 increments the value of i by 1. That is, the CPU 103 sets the value obtained by adding 1 to the current value of i as the new value of i. Then, the CPU 103 returns the process to the process in S506. Therefore, in the process in S506 and subsequent processes, the file with the incremented file order value is referenced.
[0099] In S515, the CPU 103 specifies all one or more image files among the files as targets of the file sharing function of the OS. The CPU 103 displays one or more files among the files specified in S515 as targets of the file sharing function of the OS on the preview screen. Specifically, for example, in the case where only a single image file is a file that is a target of the file sharing function of the OS, only the single file is specified. In addition, for example, in the case where there are multiple image files that are files that are targets of the file sharing function of the OS, all image files are specified. In addition, for example, in the case where the files that are targets of the file sharing function of the OS include files and image files in a format that does not match the format indicated by the format information, and the files in a format that does not match the format indicated by the format information are input into the printing application earlier than the image files in the order of the files, the files in a format that does not match the format indicated by the format information are not specified and all image files are specified.
[0100] In S516 , the CPU 103 uses the file path received from the OS to attempt to acquire one or more files stored in the area indicated by the file path and that have been specified in S515 .
[0101] In S517, the CPU 103 determines whether the acquisition of the one or more files specified in S515 has been completed by the attempt in S516. In the case where the CPU 103 determines "yes" in S517, the process proceeds to S518. In the case where the CPU 103 determines "no" in S517, the process returns to S516. As described above, in the case where a file that is a target of the file sharing function of the OS exists on the Internet outside the terminal device 101, attempts to acquire the file are repeated until the acquisition of the file from the Internet and the storage of the file are completed.
[0102] In S518, the CPU 103 uses the one or more files acquired by the attempt in S516 to display an image file preview screen for previewing one or more images indicated by the one or more files. Figure 8CAn example of an image file preview screen displayed in this case is illustrated. The image file preview screen includes a preview area for displaying an image indicated by the acquired image file. In the case where there are multiple acquired image files, by performing a scroll operation on the image file preview screen, the image displayed in the preview area is switched from an image indicated by a first image file among the multiple image files to an image indicated by a second image file among the multiple image files. On the image file preview screen, a print setting screen is displayed, which is used to enter print settings for printing one or more files acquired by the attempt in S516. On the print setting screen, the content of the currently set print settings is displayed. The print setting screen includes a "Change Settings" button. When the "Change Settings" button is clicked, a change screen for changing the content of the print settings is displayed. When the content of the print settings is changed on the change screen, the content displayed on the print setting screen is also changed. The image file preview screen includes a "Print" button. When the "Print" button is clicked, the process proceeds to S519.
[0103] In S519, the CPU 103 generates print data for printing one or more images indicated by the one or more files acquired through the attempt in S516 based on the print settings set in S518. The CPU 103 transmits the print job including the print data to the communication device 151 registered in the print application. In the case where multiple files are acquired through the attempt in S516, the CPU 103 transmits the print job including the print data for printing multiple images indicated by the multiple files to the communication device 151 registered in the print application. The communication device 151 that has received the print job executes printing based on the print job to print the one or more images indicated by the one or more files acquired through the attempt in S516. After S519, Figure 5 The processing of the flowchart in is completed.
[0104] In the present embodiment, as described above, the process to be performed when a predetermined method is executed by the OS is programmed in the print application, and thus the print application can process the file associated with the dropped file icon.
[0105] In the present embodiment, processing suitable for the file format of the file associated with the placed file icon can be performed. As described above, a single PDF format file can include images for multiple pages. Therefore, in the case where multiple file icons associated with multiple PDF format files are placed on an application icon associated with a printing application and a preview screen for printing multiple PDF format files is displayed, many pages need to be displayed for preview, and the processing load of the printing application may be high. At the same time, a single image file only includes images for a single page. Therefore, in the case where multiple file icons associated with multiple image files are placed on an application icon associated with a printing application and a preview screen for printing multiple image files is displayed, the processing load of the printing application is unlikely to be high. In the present embodiment, in the case where multiple file icons associated with multiple files are placed, only a single PDF format file is specified and displayed for preview, multiple image files are specified and displayed for preview, and control can be performed to print multiple images at a time while controlling the processing load of the printing application so that the processing load of the printing application is not high.
[0106] In the present embodiment, even in the case where a plurality of file icons associated with a plurality of files are placed and the plurality of files include both files not supported by the printing application and files supported by the printing application, file-based processing such as display for preview and transmission of the print job is not canceled. In the present embodiment, in this case, only the file supported by the printing application can be extracted and processing based on the file can be performed, thereby improving user convenience.
[0107] In this embodiment, in the case where the file associated with the dropped file icon exists on the Internet and the OS needs time to acquire and store the file, the processing based on the file is not canceled. In this embodiment, in this case, the print application can perform the processing based on the file after the OS completes the acquisition and storage of the file, thereby improving the convenience of the user.
[0108] In this embodiment, when a file icon is placed on an application icon associated with a printing application while the printer is not registered in the printing application, a process of registering the printer in the printing application is performed. Therefore, it is possible to suppress the occurrence of a situation where a print job cannot be transmitted due to the fact that the printer is not registered in the printing application.
[0109] Figure 6 1 is a flowchart illustrating processing performed by the terminal apparatus 101 using a print application that does not support the first method but supports the second method (hereinafter referred to as a second print application). Figure 6The flowchart in FIG. 1 is implemented by CPU 103 reading a program (specifically, a second print application) stored in ROM 104 into RAM 105 and executing the read program. Figure 6 The flowchart in FIG. 1 is started based on dragging and dropping a file icon onto an application icon associated with a second print application.
[0110] In addition, assuming Figure 6 The flowchart in is started based on selecting an application icon associated with the second printing application from among one or more application icons displayed by the OS when a predetermined button is operated. More specifically, assuming Figure 6 The flowchart in FIG. 1 is based on an instruction issued from the OS to the second printing application to execute the second method. The supplier providing the second printing application may be different from the supplier providing the first printing application. Figure 6 In the description of the flowchart in , the printing application is the second printing application.
[0111] The processing in S601 to S605 is the same as or similar to the processing in S501 to S505.
[0112] In S606, the CPU 103 determines whether the file that is the target of the file sharing function of the OS is a PDF format file. As described above, in the second method, only a single file is shared, so only a single file is referenced in S606.
[0113] In a case where the CPU 103 determines "YES" in S606, the process proceeds to S607. In a case where the CPU 103 determines "NO" in S606, the process proceeds to S613.
[0114] In S607, the CPU 103 specifies a PDF format file as a target of the file sharing function of the OS. The file specified in S607 is displayed on the preview screen.
[0115] The processing in S608 to S612 is the same as or similar to the processing in S508 to S512.
[0116] In S613 executed in the case where the result of the determination in S606 is "No", the CPU 103 determines whether the file that is the target of the file sharing function of the OS is an image file. As described above, in the second method, only a single file is shared, so only a single file is referenced in S613. In the case where the CPU 103 determines "Yes" in S613, the process proceeds to S614. In the case where the CPU 103 determines "No" in S613, Figure 6The processing of the flowchart in ends. In a case where the CPU 103 determines NO in S613, the CPU 103 may display an error screen and display a home screen for the print application without displaying a preview screen.
[0117] In S614, the CPU 103 specifies the image file as a target of the file sharing function of the OS. The file specified in S614 is displayed on the preview screen.
[0118] The processing in S615 to S618 is the same as or similar to the processing in S515 to S518.
[0119] The above describes a form in which the processing performed by the first printing application based on the instruction to execute the first method is different from the processing performed by the second printing application when the instruction to execute the second method is provided. The present embodiment is not limited to this. The content of the processing performed by the first printing application based on the instruction to execute the first method can be the same as the content of the processing performed by the second printing application when the instruction to execute the second method is provided.
[0120] As described above, the first method supports sharing of multiple files. In this form, for example, whether in the case of providing instructions to execute the first method or in the case of providing instructions to execute the second method, only a single file is shared. Whether to accept the sharing of multiple files can be controlled on the application side executing the first method, and this form can be implemented.
[0121] The above describes a form in which the printing application performs processing based on instructions for executing the first method and instructions for executing the second method. However, the present embodiment is not limited thereto. The application that performs processing based on instructions for executing the first method may be any one of the applications that handle files, such as an application for editing document files, an application for editing image files, a file management application, a camera application, and an application for creating photo albums. In the case where an application other than the printing application performs processing based on instructions for executing the first method and instructions for executing the second method, the execution is the same as the reference. Figure 5 The treatment described is handled differently.
[0122] Other embodiments
[0123] In the above form, Figure 5In the processing of the flowchart in , the specification of only a single file and the specification of multiple files are switched based on whether the file associated with the file icon placed on the application icon associated with the print application is a PDF format file or an image file. However, the processing is not limited to this. Regardless of whether the file is a PDF format file or an image file, only a single file can be specified. That is, in the processing in S515, only the first file in order of multiple files that are associated with the file icon placed on the application icon associated with the print application and are image files can be specified. In addition, regardless of whether the file associated with the file icon placed on the application icon associated with the print application is a PDF format file or an image file, only multiple files can be specified. That is, in the processing in S507, all PDF format files can be specified among the multiple files associated with the file icon placed on the application icon associated with the print application.
[0124] In the above form, Figure 5 In the process of the flowchart in , in the case where the i-th file is neither a PDF format file nor an image file, i is incremented and the file format is determined for the next number of files. However, the process is not limited to this. In the case where the first file in the file order is neither a PDF format file nor an image file, an error display or a home screen for a printing application may be displayed instead of displaying a preview screen. That is, in the case where the CPU 103 determines "No" in S513, the process may proceed to a process of displaying an error screen instead of proceeding to the process in S514.
[0125] The purpose of various embodiments of the present disclosure can be achieved by supplying a storage medium (storing the program code of the software) for implementing the above-mentioned example functions to a system or device, and a computer (e.g., a CPU or an MPU) of the system or device reads and executes the program code stored in the storage medium. In such cases, the program code read from the storage medium implements the above-mentioned functions when executed, and the storage medium storing the program code is included in the scope of the present disclosure.
[0126] As a storage medium for storing the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, a DVD, etc. can be used.
[0127] The computer reads and executes the program code to not only implement the functions described in the above description of the embodiment, but also executes some or all of the processing performed by an operating system (OS) or the like on the computer, thereby implementing the above functions through these processing.
[0128] According to various embodiments of the present invention, the convenience of a form in which an information processing apparatus receives an operation of dragging and dropping a file icon can be improved.
[0129] The (one or more) embodiments of the present disclosure may also be implemented by a computer of a system or device that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more completely referred to as a "non-transitory computer-readable storage medium") to perform the functions of one or more of the above (one or more) embodiments and / or includes one or more circuits (e.g., application specific integrated circuits (ASICs)) for performing the functions of one or more of the above (one or more) embodiments, and by a method performed by a computer of the system or device, for example, by reading out and executing computer executable instructions from a storage medium to perform the functions of one or more of the above (one or more) embodiments and / or controlling one or more circuits to perform the functions of one or more of the above (one or more) embodiments. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessing unit (MPU)), and may include a network of separate computers or separate processors to read out and execute computer executable instructions. Computer executable instructions may be provided to the computer, for example, from a network or a storage medium. The storage medium may include, for example, a hard disk, a random access memory (RAM), a read-only memory (ROM), a storage device of a distributed computing system, an optical disk (such as a compact disk (CD), a digital versatile disk (DVD), or a Blu-ray disk (BD)) TM ), one or more of flash memory devices, memory cards, etc.
[0130] The embodiments of the present invention may also be implemented by providing software (program) for performing the functions of the above-described embodiments to a system or device via a network or various storage media, and a computer or a central processing unit (CPU) or a microprocessing unit (MPU) of the system or device reads and executes the program.
[0131] Although exemplary embodiments of the present disclosure have been described, it is to be understood that some embodiments are not limited to the disclosed exemplary embodiments.The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims
1. A method for controlling an information processing device having a predetermined program, the method comprising: Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with the second application, and based on the fact that the second application supports the first method, performing a first process for sharing a file associated with the dropped file icon with the second application by the first method; as well as Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with a third application, and based on the fact that the third application does not support the first method, a second process is performed for sharing a file associated with the dropped file icon with the third application through a second method.
2. The control method according to claim 1, wherein the predetermined program is an operating system of the information processing device.
3. The control method according to claim 1, wherein in the first method, when an operation of placing a plurality of file icons included in a screen displayed by a first application on an application icon associated with a second application is received, a plurality of files associated with the placed plurality of file icons are enabled to be shared with the second application.
4. The control method according to claim 1, wherein in the second method, when an operation of placing a plurality of file icons included in a screen displayed by a first application on an application icon associated with a second application is received, only any one of the plurality of files associated with the placed plurality of file icons is shared with the second application.
5. The control method according to claim 1, wherein The first process includes a process of storing a file associated with the dropped file icon in a storage area accessible by the second application program, and The second process includes a process of storing the file associated with the dropped file icon in a storage area accessible by the third application.
6. The control method according to claim 1, wherein In a case where the file associated with the dropped file icon exists on the Internet, the first process and the second process include a process of receiving the file associated with the dropped file icon from the Internet.
7. The control method according to claim 1, wherein The first process includes a process of causing the second application to acquire a file path indicating an area in which a file associated with the dropped file icon is stored and identification information of the first application that displays the dropped file icon, and The second process includes a process of causing the third application to acquire a file path indicating an area in which a file associated with the dropped file icon is stored and identification information of the first application that displays the dropped file icon.
8. The control method according to claim 1, wherein The first process includes a process of activating a second application, and The second process includes a process of activating a third application.
9. The control method according to claim 1, further comprising: After a file icon included in a screen displayed by the first application is selected, a plurality of application icons are displayed based on performing a predetermined operation on the screen displayed by the first application, the plurality of application icons including an application icon associated with the second application and an application icon associated with the third application, the predetermined operation being different from a drag operation and a drop operation; performing a process for sharing a file associated with the selected file icon with the second application through the first method based on the fact that the second application is selected from among the displayed plurality of application icons and the second application supports the first method; as well as Based on the fact that a third application is selected from among the displayed plurality of application icons and the third application does not support the first method, a process for sharing a file associated with the selected file icon with the third application through a second method is performed.
10. The control method according to claim 9, further comprising After a file icon included in a screen displayed by a first application is selected, based on performing a predetermined operation on the screen displayed by the first application, a plurality of applications that support a data format of a file associated with the selected file icon are specified among all the applications installed in the information processing device, wherein After a file icon included in a screen displayed by a first application is selected, a plurality of application icons associated with the designated plurality of applications are displayed based on performing a predetermined operation on the screen displayed by the first application.
11. The control method according to claim 10, wherein In a case where a predetermined operation is performed on a screen displayed by a first application after multiple file icons included in the screen displayed by the first application are selected, multiple applications that support the data format of a file associated with a first icon among the selected multiple file icons are specified among all applications installed in the information processing device.
12. The control method according to claim 1, wherein The first method is scene(_:openURLContexts:) defined in the UISceneDelegate protocol.
13. The control method according to claim 1, wherein The first method is scene(_:willConnectTo:options:) defined in the UISceneDelegate protocol.
14. The control method according to claim 1, wherein In the case where a second application is activated that is associated with an application icon on which a file icon has been placed, the first method is scene(_openURLContexts:) defined in the UISceneDelegate protocol, and In the case where the second application associated with the application icon on which the file icon has been placed is not activated, the first method is scene(_:willConnectTo:options:) defined in the UISceneDelegate protocol.
15. The control method according to claim 1, wherein The second method is application(_:open:options:) defined in the UIApplicationDelegate protocol.
16. The control method according to claim 1, wherein The second application and the third application are printing applications.
17. The control method according to claim 1, wherein In the case where the first process is executed, a process of displaying an image based on a file associated with the dropped file icon is executed by the second application program, and In the case where the second process is executed, a process of displaying an image based on a file associated with the dropped file icon is executed by the third application.
18. The control method according to any one of claims 1 to 17, wherein The scheduled program is at least one of iOS17, iPadOS17, and iOS17 or later versions of iOS.
19. An information processing device, the information processing device comprising: at least one memory storing instructions; as well as at least one processor in communication with the at least one memory and cooperating with the at least one memory in executing instructions to: Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with the second application, and based on the fact that the second application supports the first method, performing a first process for sharing a file associated with the dropped file icon with the second application by the first method; as well as Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with a third application, and based on the fact that the third application does not support the first method, a second process is performed for sharing a file associated with the dropped file icon with the third application through a second method.
20. A non-transitory computer-readable storage medium storing computer-executable instructions, which, when executed by a computer of an information processing device, causes the information processing device to: performing a first process for sharing a file associated with the dropped file icon with the second application by the first method based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with the second application, and based on the fact that the second application supports the first method; and Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with a third application, and based on the fact that the third application does not support the first method, a second process is performed for sharing a file associated with the dropped file icon with the third application through a second method.
21. A computer program product comprising computer executable instructions, which, when executed by a computer of an information processing device, causes the information processing device to: performing a first process for sharing a file associated with the dropped file icon with the second application by the first method based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with the second application, and based on the fact that the second application supports the first method; and Based on receiving a drag operation of dragging a file icon included in a screen displayed by the first application and a drop operation of dropping the dragged file icon on an application icon associated with a third application, and based on the fact that the third application does not support the first method, a second process is performed for sharing a file associated with the dropped file icon with the third application through a second method.
Citation Information
Patent Citations
Memory system and information processing system
JP2020154525A