The present disclosure relates to an information processing apparatus and a storage medium.
Conventional application programs for editing content, such as a document, have been known, and technologies for placing a two-dimensional barcode, such as a QR Code® (QR code is a registered trademark of DENSO WAVE CO., LTD.), in a document have been known. In a case were a document including a two-dimensional barcode is edited to reduce a sheet size of the document, the two-dimensional barcode is sometimes reduced to an unreadable size. To address this issue, Japanese Patent No. 4591372 discusses a technology for converting a two-dimensional barcode into text information and placing the text information in a blank space of a document in the case where the two-dimensional barcode may be reduced to an unreadable size.
However, with the technology discussed in Japanese Patent No. 4591372, usability may decrease for a user who wants to use the two-dimensional barcode.
Thus, there are demands for improved usability of a content editing application for users.
According to an aspect of the present disclosure, a non-transitory computer-readable storage medium stores a program for causing a computer of an information processing apparatus to execute reducing a size of content including a first object having a predetermined threshold being a lower limit value of size and a second object different from the first object, and placing the first object so that the first object does not overlap the second object in a case where the first object having reached the predetermined threshold and the second object overlap each other by execution of the reducing.
Further features of the present disclosure will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
The present disclosure will be described in detail below with reference to the drawings. It should be noted that exemplary embodiments described below are not intended to limit the claimed disclosure and that not all combinations of features according to the exemplary embodiments are always essential to a technical solution provided by the present disclosure. Further, components that are identical or similar to each other are given the same reference numeral in the attached drawings, and redundant descriptions thereof are omitted.
A document to be edited by a document editing application according to the present disclosure can be an ordinary office document or can be content for a specific use, such as a poster, a postcard, or presentation data. Further, template data stored in advance in the document editing application is sometimes referred to as a document, or template data to which an object is added and edited by a user is sometimes referred to as a document. Further, the document editing application has various functions for editing documents and can perform resizing processing, moving processing, and rotating processing on objects in the documents and trimming processing on images in the documents. Various information processing apparatuses, such as a personal computer, a smartphone, a mobile terminal, a tablet terminal, and a personal digital assistant (PDA), are applicable as an information processing apparatus according to an exemplary embodiment of the present disclosure.
A CPU 1805 in the form of a microprocessor is placed on the main board 1804. The CPU 1805 runs based on control programs stored in a program memory 1806 in the form of a read-only memory (ROM) and content of a data memory 1807 in the form of a random access memory (RAM). The program memory 1806 and the data memory 1807 are connected to the CPU 1805 via an internal bus 1814.
The CPU 1805 controls a scanner unit 1809, reads a document, and stores the read document in an image memory 1808 in the data memory 1807. Further, the CPU 1805 controls a printing unit 1813 and prints an image in the image memory 1808 in the data memory 1807 on a recording medium. Further, the CPU 1805 can transmit scanned image data to the CPU 202 via the wireless LAN unit 1801 controlled by a wireless LAN control circuit 1810.
The CPU 1805 communicates with the CPU 202 using a wireless LAN by controlling the wireless LAN unit 1801 via the wireless LAN control circuit 1810. The CPU 1805 can display a state of the printing device 205 and a function selection menu on the operation panel 1803 and can receive user operations by controlling an operation unit control circuit 1812. The printing device 205 according to the present exemplary embodiment can receive Joint Photographic Experts Group (JPEG) file format data with printer control commands and can print the received data.
Meanwhile, the document editing application 1102 has a function of performing the sheet size change processing (auto-resizing processing) in a case where a sheet size is changed via the document size selection section 1907. The sheet size change processing is processing of adjusting sizes and positions of objects in a document to appropriate sizes and appropriate positions based on the selected sheet size in changing the sheet size of the document displayed in the editing area 1904. Details of the sheet size change processing will be described below with reference to
A case where, for example, an object with a size adjusted as a result of the sheet size change processing is a two-dimensional barcode (hereinafter, referred to as a “QR Code®”) will be described below.
The QR Code® is read by a reader device having a QR Code® reading function, and the reader device acquires information contained in the QR Code®, decodes the acquired information, and analyzes the decoded information. However, in a case where the QR Code® is smaller in size than a predetermined threshold, the reader device may not be able to read the QR Code®. In this case, the information contained in the QR Code® may not be acquired by the reader device. Thus, the predetermined threshold that is a lower limit value of size that can be read by the reader device is set for QR Codes®, and the document editing application 1102 performs control to prevent the QR Code® from being reduced to and displayed at a size smaller than the predetermined threshold. This makes it possible for the reader device to read the QR Code®. The reader device can be, for example, an external information processing apparatus, such as a smartphone or a tablet terminal, or an apparatus having a camera function.
Considering those described above, the following issue may arise. In a case where the sheet size change processing is performed on a document displaying a plurality of objects including a QR Code® and reduction processing is performed to reduce a size of each object, the size of the QR Code® is reduced only to the predetermined threshold. Thus, the QR Code® may be displayed at a relatively larger size than objects other than the QR Code® in the document. This may cause the QR Code® and another object to overlap each other, and an appropriate document may not be generated due to the overlap of the QR Code® and the other object.
There may be a case where a lower limit value in performing the reduction processing is set for an object other than the QR Code®. In this case, the lower limit value for the object other than the QR Code® is to be a value smaller than the lower limit value for the QR Code® according to the present exemplary embodiment.
According to the present exemplary embodiment, in order to solve the above-described issue, the document editing application 1102 changes a position of a QR Code® from a first position determined as a position for placing the QR Code® by the sheet size change processing to a second position where the QR Code® does not overlap another object in a case where the sheet size change processing is performed on a document including a plurality of objects including the QR Code® and the QR Code® having reached the predetermined threshold overlaps the other object. Specifically, in a case where the sheet size change processing is performed, the processing of moving the QR Code® placed in the document to an appropriate position and displaying the QR Code® at the position.
Thus, even in the case where the sheet size change processing is performed on a document on which a plurality of objects including a QR Code® is displayed and the QR Code® overlaps another object and is displayed on top of the other object, the document editing application 1102 can remove the overlap between the QR Code® and the other object, generate an appropriate document, and display the generated document.
An object having a lower limit value of reduced size in the reduction processing according to the present exemplary embodiment is the QR Code® but can be any other object. For example, a configuration may be employed where an object having a lower limit value of reduced size in the reduction processing can be set, and in this case, the object having the lower limit value of reduced size in the reduction processing can be a set object.
In step S1201, the document editing application 1102 performs the sheet size change processing. Details of the sheet size change processing will be described below with reference to
In step S1202, the document editing application 1102 determines whether the QR Code® in the document is reduced to the lower limit value by the processing performed in step S1201. In a case where the determination result is YES (YES in step S1202), the processing proceeds to step S1203, whereas in a case where the determination result is NO (NO in step S1202), the process in the flowchart is ended. In a case where the document contains no QR Code®, the determination result is NO in step S1202.
In step S1203, the document editing application 1102 performs the QR Code® display adjustment processing, and the process in the flowchart is ended. Details of the QR Code® display adjustment processing will be described below with reference to
In step S101, the document selection unit 1103 selects an editing target document. Various documents for different uses are stored in advance as templates in the storage device 204. For example, the document editing unit 1104 displays a list of document templates corresponding to the templates stored in the storage device 204 on the display device 203 and receives selection of a document by the user. The user selects a document (editing target document) the user wants to use from the list of document templates displayed on the display device 203 via the input device 201. A document can be selected from among the documents prepared in advance as templates as described above or can be selected from among documents generated by the user in the past. The document editing application 1102 according to the present exemplary embodiment has the configuration illustrated in
In step S102, the document editing unit 1104 displays, on the display device 203, the document selected by the user in step S101 from among the documents stored in the storage device 204. The document displayed on the display device 203 is in an editable state via the input device 201.
In step S103, the change reception unit 1105 receives a change in sheet size of the document displayed in step S102. The change reception unit 1105 displays, for example, a list of sheet sizes as illustrated in
In step S104, the change processing unit 1106 changes the sheet size of the document displayed in step S102 based on the sheet size (changed sheet size) received in step S103.
In the present exemplary embodiment, the change processing unit 1106 functions as an adjustment unit that performs adjustment processing to adjust sizes and positions of objects in a document based on information about the objects so as to be suitable for the sheet size of the document after the change as in steps S105 to S117. The information about the objects in the document herein includes at least one of information about types of the objects, information about details of the objects, and information about placement states of the objects in the document. The change processing unit 1106 repeatedly performs processing in steps S106 to S116 as a routine as illustrated in steps S105 and S117 on each object in the document as an adjustment processing target object until all the objects in the document are processed. As described above, in the present exemplary embodiment, a document layout is adjusted automatically based on a change in sheet size of the document so that the user does not have to adjust each object in the document manually.
Details of steps S106 to S116 in the sheet size change processing in
In step S106, the change processing unit 1106 determines whether a type of single object that is a target object in the document is “text”, “shape”, or “image” (the type of target object is determined). According to the present exemplary embodiment, the “shape” includes not only squares and circles but also clipart images including a pictorial pattern and two-dimensional barcodes such as a QR Code®. In a case where the type of target object is “text” (TEXT in step S106), the processing proceeds to step S107. In a case where the type of target object is “shape” (SHAPE in step S106), the processing proceeds to step S108. In a case where the type of target object is “image” (IMAGE in step S106), the processing proceeds to step S109.
In step S107, the change processing unit 1106 determines whether there is another object immediately below the target object (“text”). In the present exemplary embodiment, in a case where the type of target object is “text”, a step to which the processing proceeds depends on whether there is another object immediately below the target object. Whether there is another object is determined based on region information about the target object “text” and region information about an object in a lower layer below the “text”. Specifically, in a case where an object with a region that completely encompasses a region of the “text” is in the lower layer, the change processing unit 1106 determines that there is another object immediately below the target object, and the processing proceeds to step S111. On the other hand, in a case where there is no object with a region that completely encompasses a region of the “text” in the lower layer, the change processing unit 1106 determines that there is no object immediately below the target object, and the processing proceeds to step S112.
In step S112, the change processing unit 1106 performs enlargement/reduction processing and moving processing on the “text” based on the sheet size of the document after the change while maintaining an aspect ratio of the target object “text”.
In the enlargement/reduction processing on the “text”, a font size of the target object “text” is increased/decreased based on a scaling factor of a sheet side with a lower enlargement/reduction ratio. For example, in a case of changing a sheet size with a length of 100 cm and a width of 50 cm to a sheet size with a length of 50 cm and a width of 30 cm, the font size of the “text” is decreased to ½ (=50 cm/100 cm) based on the scaling factor of the side with the lower enlargement/reduction ratio. In this case, while the font size of the “text” is changed, an aspect ratio of the font is unchanged (maintained). This is because changing the aspect ratio of the font in a case where an amount of change in sheet size is large causes distortion of the font, and this often changes the impression of the design of the “text” from that before the sheet size is changed.
In the moving processing on the “text”, the position of the target object “text” is moved based on a change in aspect ratio of the sheet of the document. For example, as illustrated in
In step S111, the change processing unit 1106 performs the enlargement/reduction processing and the moving processing on “text” while maintaining the relative size relationship and the positional relationship between the target object “text” and the other object immediately below the target object “text”.
A case where, for example, a “shape” (black) is in an upper portion of a document and “text” is in a left portion on the “shape” as illustrated in
By performing the enlargement/reduction processing and the moving processing based on the other object positioned immediately below the target object “text” as described above, an imbalance of their positional relationship (placement relationship) is prevented.
In step S108, the change processing unit 1106 determines whether the target object “shape” is in contact with a sheet edge before the sheet size change. Whether the “shape” is in contact with the sheet edge before the sheet size change is determined by defining a rectangle surrounding the “shape” and determining whether at least two vertices of the rectangle are on the sheet edge. Specifically, whether the “shape” is in contact with the sheet edge before the sheet size change is determined based on coordinate values of the vertices of the rectangle surrounding the “shape” and coordinate values of the sheet edge.
However, there may be a case where the target object “shape” is not completely in contact with the sheet edge (without displacement). Thus, a tolerance range (margin) from the sheet edge can be set, and whether the “shape” is in contact with the sheet edge before the sheet size change can be determined. In a case where the “shape” is not in contact with the sheet edge before the sheet size change (NO in step S108), the processing proceeds to step S110. On the other hand, in a case where the “shape” is in contact with the sheet edge before the sheet size change (YES in step S108), the processing proceeds to step S114.
In step S110, as in step S107, the change processing unit 1106 determines whether there is another object immediately below the target object (“shape”). In a case where there is no other object immediately below the target object (“shape”) (NO in step S110), the processing proceeds to step S112. On the other hand, in a case where there is another object immediately below the target object (“shape”) (YES in step S110), the processing proceeds to step S113.
In the case where the target object is “shape”, unless the “shape” is in contact with the sheet edge before the sheet size change, subsequent steps S112 and S113 are basically similar to those in the case where the target object is “text”. Thus, in step S112, the change processing unit 1106 performs the enlargement/reduction processing and the moving processing on the target object “shape” while maintaining an aspect ratio of the target object “shape” based on the sheet size of the document after the change. It should be noted that, in the moving processing on the “shape”, the reference point (the position of the reference point) in moving the “shape” is always the center of the “shape”. In the case where the target object is “shape”, as in the case where the target object is “text”, the aspect ratio of the “shape” is maintained to prevent distortion of a pictorial pattern of a clipart image or a two-dimensional barcode. Further, in step S113, the change processing unit 1106 performs the enlargement/reduction processing and the moving processing on the target object “shape” while maintaining the relative size relationship and the positional relationship between the target object “shape” and the other object immediately below the target object “shape”.
In step S114, the change processing unit 1106 performs the enlargement/reduction processing and the moving processing on the “shape” while maintaining the percentage of the “shape” to the sheet size after the change without maintaining the aspect ratio of the target object “shape”. This is because blank spaces become noticeable in a case where the “shape” (except for two-dimensional barcodes) is in contact with the sheet edge unless the “shape” is enlarged/reduced based on the aspect ratio of the sheet size after the change. Specifically, as illustrated in
In steps S113 and S114, in a case where the target object is a QR Code® and the enlargement/reduction processing is performed, the QR Code® is reduced to the predetermined threshold that is the lower limit value of size that can be read by the reader device.
In step S109, as in steps S107 and S110, the change processing unit 1106 determines whether there is another object immediately below the target object (“image”). In a case where there is no other object immediately below the target object (“image”) (NO in step S109), the processing proceeds to step S115. On the other hand, in a case where there is another object immediately below the target object (“image”) (YES in step S109), the processing proceeds to step S116.
In step S115, the change processing unit 1106 performs the enlargement/reduction processing and the moving processing on the “image” while maintaining the percentage of the target object “image” to the entire sheet as illustrated in
In step S116, the change processing unit 1106 performs the enlargement/reduction processing and the moving processing on the target object “image” while maintaining the relative size relationship and the positional relationship between the target object “image” and the other object immediately below the target object “image”. A case where, for example, there is another object “shape” immediately below an “image” as illustrated in
As described above, in the present exemplary embodiment, whether to maintain an aspect ratio in changing the sheet size of a document is determined for each object in the document based on a type of object, details of the object, and a placement state of the object in changing the sheet size of the document. The determination is performed by the change processing unit 1106 as described above (steps S106 to S110).
Then, the change processing unit 1106 adjusts a size and a position of each object determined as an object to be maintained its aspect ratio among objects in the document while maintaining the aspect ratio of the object. In other words, in adjusting the aspect ratio of the document based on the sheet size of the document after the change, the sizes and positions of the objects in the document are adjusted based on the types, details, and the placement states of the objects. This makes it possible to prevent distortion of each object determined as the object to be maintained its aspect ratio among the objects in the document. Specifically, distortion of a pictorial pattern of a clipart image or a two-dimensional barcode in the document is prevented.
In the present exemplary embodiment, while the cases of maintaining the aspect ratio of a “text” or “shape”, which is an object in the document, are described above, the cases are not limiting cases. For example, a tolerance range can be set for the (rate of change in) aspect ratio of the “text” or “shape” in the document to allow some distortions. In this case, the size of the “text” or “shape” is adjusted to maintain the aspect ratio within the preset tolerance range. For example, the aspect ratio of the “text” or “shape” is adjusted until the preset tolerance range is exceeded, and once the preset tolerance range is exceeded, the aspect ratio of the “text” or “shape” is not adjusted any further.
In the present exemplary embodiment, while the cases of moving the “text” or “shape” in the document based on the aspect ratio of the sheet size of the document are described above, a tolerance range can be set for a movement range. In this case, the “text” or “shape” in the document is moved until the preset movement range is exceeded, and once the preset movement range is exceeded, the “text” or “shape” is not moved any further.
Further, a plurality of candidate documents (layouts) generated using different conditions of the presence or absence of aspect ratio adjustment, the tolerance range (the rate of change in aspect ratio), and the movement range described above can be displayed, and the user can select a desired document (layout) from the plurality of candidate documents. For example, the change processing unit 1106 adjusts the sizes of the objects in the document using each of a plurality of aspect ratios different from each other and generates a plurality of candidate documents including the objects corresponding to the plurality of aspect ratios. The plurality of candidate documents generated as described above is displayed on the display device 203, and the user selects a single candidate document as the document after the sheet size change from the plurality of candidate documents displayed on the display device 203 via the input device 201.
In the present exemplary embodiment, while the cases of adjusting a size and a position of a “shape” in a document without maintaining an aspect ratio of the “shape” in a case where the target object is “shape” and the “shape” is in contact with the sheet edge are described above as examples, the cases are not limiting cases. For example, whether to maintain the aspect ratio of the “shape” can be determined based on details of the “shape”. Specifically, in a case where the “shape” (details of the “shape”) is an object painted in a solid color or an object such as a table, some distortions in the “shape” are considered to be allowable, so that the aspect ratio of the “shape” does not have to be maintained. Further, whether to maintain the aspect ratio of the “shape” can be determined based on the percentage (placement state in the document) of the target object “shape” in contact with the sheet edge, or methods for the enlargement/reduction processing and the moving processing can be changed. The percentage of the “shape” in contact with the sheet edge includes, for example, the number of sides of the “shape” in contact with the sheet edge in addition to the number of vertices of the “shape” in contact with the sheet edge. For example, the aspect ratio of the “shape” can be maintained in a case where the “shape” is hardly in contact with the sheet edge, or the aspect ratio of the “shape” does not have to be maintained in a case where two or more sides of the “shape” are in contact with the sheet edge.
In the present exemplary embodiment, while the cases of maintaining the aspect ratio of the target object “text” regardless of details of the “text” are described above, whether to maintain the aspect ratio of the “text” can be determined based on wording or font type of the “text”. For example, in a case where the “text” consists of alphanumeric characters only or in a case where distortion of the font of the “text” has little effect on design, adjustment of the aspect ratio of the “text” can be allowed.
In the present exemplary embodiment, while the case in which the document editing application 1102 (the change processing unit 1106) automatically determines whether to maintain the aspect ratio of each object in the document is described above, the case is not a limiting case. For example, the user can set an object the aspect ratio of which is to be maintained among objects in the document. Specifically, a setting unit that sets a condition related to an object the aspect ratio of which is to be maintained in changing a sheet size of a document based on a user setting (input) is provided. Then, whether to maintain the aspect ratio in changing the sheet size of the document is determined for each object in the document based on the condition set by the setting unit.
Next, the QR Code® display adjustment processing performed in step S1203 in
In step S1301, the QR Code® display adjustment processing unit 1108 performs processing of displaying a QR Code® contained in the document in the foreground. The processing is for displaying the QR Code® in the foreground with priority because the reader device cannot read the QR Code® if a part of the QR Code® is missing.
In step S1302, the QR Code® display adjustment processing unit 1108 performs movement necessity determination processing on an object that overlaps the QR Code® in the document to determine whether it is necessary to move the QR Code®. Details of the movement necessity determination processing will be described below with reference to
In step S1303, the QR Code® display adjustment processing unit 1108 determines whether it is necessary to move the QR Code® based on a result of the movement necessity determination processing in step S1302. Specifically, in a case where a QR Code® movement flag is turned on in the movement necessity determination processing in step S1302, the QR Code® display adjustment processing unit 1108 determines that it is necessary to move the QR Code®.
In a case where a determination result in step S1303 is YES (YES in step S1303), the processing proceeds to step S1304, whereas in a case where the determination result in step S1303 is NO (NO in step S1303), the processing proceeds to step S1308. QR Code® moving processing is processing of moving a QR Code® from a position of the QR Code® that is determined through the sheet size change processing by the document editing application 1102 to a position in a region where the QR Code® does not overlap objects other than the QR Code® in the document.
In step S1304, the QR Code® display adjustment processing unit 1108 calculates a position of the QR Code® (hereinafter, the position will be referred to as a QR Code® movement destination position) in a predetermined region where the QR Code® does not overlap an object other than the QR Code® in the document in a case where the QR Code® in the document is moved, and the QR Code® display adjustment processing unit 1108 identifies the position. Specifically, the QR Code® display adjustment processing unit 1108 determines whether there is a region where an object other than the QR Code® in the document is not placed and that has a size greater than (or greater than or equal to) a region having a size corresponding to a lower limit size of the QR Code® (a region with vertical sides each having a length corresponding to a lower limit length and horizontal sides each having a length corresponding to a lower limit length). In a case where the QR Code® display adjustment processing unit 1108 determines that there is such a region, coordinates of a position in the region are identified. For example, coordinates of an intersection of the left side and the upper side of the QR Code® so that the QR Code® fits within the region are identified. In a case where there is a plurality of predetermined regions, a position having coordinates closer to coordinates of a position determined through the sheet size change processing is identified as a QR Code® movement destination position. This is not a limiting case, and a position of a region having a wider region can be identified as a QR Code® movement destination position.
In step S1305, the QR Code® display adjustment processing unit 1108 determines whether a QR Code® movement destination position in the document is identified based on a calculation result in step S1304. In a case where a determination result in step S1305 is YES (YES in step S1305), the processing proceeds to step S1306, whereas in a case where the determination result in step S1305 is NO (NO in step S1305), the processing proceeds to step S1307.
In step S1306, the QR Code® display adjustment processing unit 1108 moves the QR Code® in the document from the position of the QR Code® that is determined through the sheet size change processing to the movement destination position identified in step S1304. For example, the position of the QR Code® is moved as illustrated in
In step S1307, the QR Code® display adjustment processing unit 1108 does not move the QR Code® and displays a screen including an error message indicating that the QR Code® may be placed at an inappropriate position in the document (content with the QR Code® placed at an inappropriate position in the document may be displayed) as illustrated in
In step S1308, the QR Code® display adjustment processing unit 1108 displays a screen of the document editing application 1102 with the generated document displayed in the editing area 1904 on the display device 203, and the process in the flowchart is ended. Thus, even in a case where the sheet size change processing is performed on a document on which a plurality of objects including a QR Code® is displayed and the QR Code® overlaps another object and is displayed over the other object, the document editing application 1102 can remove the overlap between the QR Code® and the other object, so that an appropriate document is generated and displayed.
Next, the movement necessity determination processing performed in step S1302 in
In step S1401, the QR Code® display adjustment processing unit 1108 acquires QR Code® overlay placement permission setting information. The QR Code® overlay placement permission setting information processing unit 1107 manages overlay placement permission setting information, and the QR Code® overlay placement permission setting information is setting information applied to an object other than the QR Code® in the editing area 1904. Specifically, the QR Code® overlay placement permission setting information is setting information indicating whether an object with which a QR Code® in a document overlaps in a case where the sheet size change processing is performed is an object permitted to be displayed with a QR Code® overlaying the object.
In a state where the auto setting checkbox 1701 is checked (state where movement necessity determination processing (auto) is on), the movement necessity determination processing (auto) described below is applied. In this state, settings of the object setting checkboxes in the custom setting region 1702 are not enabled. Specifically, information indicating whether an object is permitted to be displayed with a QR Code® overlaying the object is automatically set in advance for each object type. Then, in a case where the sheet size change processing is performed and a QR Code® in a document overlaps another object, whether it is necessary to move the QR Code® is determined based on the automatically-set information. In a case where it is determined that it is necessary to move the QR Code®, the QR Code® movement flag is turned on. Details of the automatically-set information will be described below with reference to
On the other hand, in a state where the auto setting checkbox 1701 is not checked (state where movement necessity determination processing (custom) is on), the movement necessity determination processing (custom) described below is applied, and the settings of the object setting checkboxes in the custom setting region 1702 are enabled. Specifically, the user can set, for objects corresponding to the object setting checkboxes 1703 to 1705 in the custom setting region 1702, whether to permit the object to be displayed with a QR Code® overlaying the object. Then, in a case where the sheet size change processing is performed and a QR Code® in a document overlaps another object, whether it is necessary to move the QR Code® is determined based on the user settings. An object corresponding to an object setting checkbox that is checked in the custom setting region 1702 is an object permitted to be displayed with a QR Code® overlaying the object, so that the QR Code® movement flag is not turned on. On the other hand, an object corresponding to an object setting checkbox that is not checked is an object not permitted to be displayed with a QR Code® overlaying the object, so that the QR Code® movement flag is turned on. For example, in a case where the text object setting checkbox 1703 is checked, a text object is an object permitted to be displayed with a QR Code® overlaying the object, so that the QR Code® movement flag is not turned on. Specifically, a QR Code® is displayed on top of a text object. Further, for example, in a case where the image object setting checkbox 1704 is not checked, an image object is an object not permitted to be displayed with a QR Code® overlaying the object, so that the QR Code® movement flag is turned on.
Specifically, in a case where it is determined that there is a movement destination position in step S1305 in
The QR Code® overlay placement permission setting information processing unit 1107 stores the setting information in the QR Code® overlay placement permission setting dialog 1700 in the storage device 204.
Further, at a press of the QR Code® overlay placement permission setting button 1908 for displaying a setting screen of the document editing application 1102, the QR Code® overlay placement permission setting dialog 1700 illustrated in
In step S1402, the QR Code® display adjustment processing unit 1108 determines whether a QR Code® overlay placement permission setting is an auto setting based on the QR Code® overlay placement permission setting information acquired in step S1401. In a case where a determination result in step S1402 is YES (YES in step S1402), the processing proceeds to step S1403 in which the movement necessity determination processing (auto) is performed, whereas in a case where the determination result in step S1402 is NO (NO in step S1402), the processing proceeds to step S1404 in which the movement necessity determination processing (custom) is performed.
In step S1403, the QR Code® display adjustment processing unit 1108 performs the movement necessity determination processing (auto), and the process in the flowchart is ended. The movement necessity determination processing (auto) will be described below with reference to
In step S1404, the QR Code® display adjustment processing unit 1108 performs the movement necessity determination processing (custom), and the process in the flowchart is ended. Details of the movement necessity determination processing (custom) will be described below with reference to
Next, the movement necessity determination processing (auto) performed in step S1403 in
For example, in a case where the object category information is the text object information, the QR Code® is displayed on top of the text object, so that part of the text may be hidden by the QR Code®. The importance of visibility of the text object is considered to be high because it often becomes difficult for the user to understand content of the text object if a part of the text is missing. Thus, the QR Code® display adjustment processing unit 1108 moves the QR Code® in a case where the object category information is the text object information.
Further, in a case where the object category information is the shape object information, the QR Code® is displayed on top of a shape object, so that part of the shape may be hidden by the QR Code®. The importance of visibility of the shape object is considered to be low because it is often not difficult for the user to understand content of the shape object even if a part of the shape is missing. Thus, the QR Code® display adjustment processing unit 1108 does not move the QR Code® in a case where the object category information is the shape object information.
Further, in a case where the object category information is the image object information, the QR Code® is displayed on top of an image object, so that part of the image may be hidden by the QR Code®. The image object herein may contain a subject (or a specific object). The subject can be, for example, a person, an animal other than persons, or a specific background. Thus, the importance of visibility of the subject in the image is considered to be high because it often becomes difficult for the user to recognize the subject in the image if a part of the subject in the image is missing. Thus, the QR Code® display adjustment processing unit 1108 moves the QR Code® in a case where the object category information is the image object information and it is determined that the QR Code® overlaps the subject in the image object.
Specifically, in a case where there is a plurality of objects overlapping the QR Code®, the QR Code® display adjustment processing unit 1108 moves the QR Code® based on the importance of visibility of the objects so that the QR Code® does not overlap at least a predetermined object with high importance of visibility. Specifically, in a case where the object overlapping the QR Code® is a predetermined object with low importance of visibility, the QR Code® display adjustment processing unit 1108 permits the QR Code® to be displayed on top of the predetermined object. Instead of displaying a QR Code® on top of a predetermined object in all cases where the importance of visibility of the predetermined object is low, the QR Code® can be moved to not overlap the object with low importance of visibility in a case where content does not include any object with high importance of visibility. For example, in a case where image objects 1 and 2 overlap a QR Code®, the position of the QR Code® can be moved to not overlap the image objects 1 and 2. Further, priority can be given to objects with low importance of visibility, and an object with high priority among the objects with low importance of visibility can be controlled preferentially to not overlap the QR Code®.
Next, the movement necessity determination processing (auto) performed in step S1403 in
In step S1501, the QR Code® display adjustment processing unit 1108 determines whether there is an object overlapping the QR Code® in target document data. Specifically, whether the QR Code® overlaps another object is determined based on coordinates information about the document. The processing is performed on all objects contained in the document data. In a case where the determination result in step S1501 is YES (YES in step S1501), the processing proceeds to step S1502, whereas in a case where the determination result in step S1501 is NO (NO in step S1501), the process in the flowchart is ended. In step S1501, the determination of whether an object in the document overlaps the QR Code® is performed. Thus, in a case where the determination on all objects in the document is finished, the process in the flowchart is ended.
In step S1502, the QR Code® display adjustment processing unit 1108 acquires category information (hereinafter, “object category information”) about the object overlapping the QR Code®.
In step S1503, the QR Code® display adjustment processing unit 1108 determines whether the object category information about the object overlapping the QR Code® indicates a text object based on the object category information acquired in step S1502. In a case where the determination result in step S1503 is YES (YES in step S1503), the processing proceeds to step S1508, whereas in a case where the determination result in step S1503 is NO (NO in step S1503), the processing proceeds to step S1504.
In step S1504, the QR Code® display adjustment processing unit 1108 determines whether the object category information about the object overlapping the QR Code® indicates a shape object based on the object category information acquired in step S1502. In a case where the determination result in step S1504 is YES (YES in step S1504), the processing returns to step S1501, whereas in a case where the determination result in step S1504 is NO (NO in step S1504), the processing proceeds to step S1505.
In step S1505, the QR Code® display adjustment processing unit 1108 determines whether the object category information about the object overlapping the QR Code® indicates an image object based on the object category information acquired in step S1502. In a case where the determination result in step S1505 is YES (YES in step S1505), the processing proceeds to step S1506, whereas in a case where the determination result in step S1505 is NO (NO in step S1505), the processing returns to step S1501.
In step S1506, the QR Code® display adjustment processing unit 1108 identifies a subject position (coordinates) in the image. Identification of a subject in an image can be achieved using, for example, deep learning technologies. Further, in a case where it is determined that there is no subject in the image, the determination result in step S1507 is NO, and the processing returns to step S1501.
In step S1507, the QR Code® display adjustment processing unit 1108 determines, based on the subject position acquired in step S1506, whether the QR Code® and the subject in the image overlap each other. In a case where the determination result in step S1507 is YES (YES in step S1507), the processing proceeds to step S1508, whereas in a case where the determination result in step S1507 is NO (NO in step S1507), the processing returns to step S1501.
In step S1508, the QR Code® display adjustment processing unit 1108 turns on the movement flag of the object that is currently being processed, and the processing returns to step S1501.
Next, the movement necessity determination processing (custom) performed in step S1404 in
Steps S1601 and S1602 respectively correspond to steps S1501 and S1502 in
In step S1603, the QR Code® display adjustment processing unit 1108 determines whether the object is an object on which the QR Code® can be overlaid based on the object category information acquired in step S1602 by referring to the QR Code® overlay placement permission setting information about the object corresponding to object category information. In a case where the determination result in step S1603 is YES (YES in step S1603), the processing returns to step S1601, whereas in a case where the determination result in step S1603 is NO (NO in step S1603), the processing proceeds to step S1604.
Step S1604 corresponds to step S1508 in
While the text object, the shape object, and the image object are described above as objects that can overlap the QR Code® and are used in determining whether to move the QR Code® in the movement necessity determination processing (auto or custom) according to the present exemplary embodiment, this is not a limiting case. For example, the shape object can be divided further to include text object, shape (background) object, shape (clipart) object, shape (clipart on which a QR Code® cannot be overlaid) object, and image object in the object type. For example, in the movement necessity determination processing (auto), in a case where the object overlapping the QR Code® is the shape (background) object or the shape (clipart) object, the QR Code® movement flag is not turned on, whereas in a case where the object overlapping the QR Code® is the shape (clipart on which a QR Code® cannot be overlaid) object, the QR Code® movement flag is turned on.
Embodiment(s) of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the disclosure is 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.
This application claims the benefit of Japanese Patent Application No. 2023-025857, filed Feb. 22, 2023, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2023-025857 | Feb 2023 | JP | national |