Abstract:
A computer-readable recording medium that stores a program for causing a computer to edit an electronic document including a plurality of hierarchically arranged objects. The program makes a computer execute extracting an object from the electronic document including the hierarchically arranged objects representing one of a text, an image, a drawing and a table; determining whether the extracted object is superimposed by a user specified area serving as a masking area of a target document input by a user; and converting, into different information, information included in an area of the object determined to be superimposed by the user specified area.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based upon and claims the benefits of priority of the Japanese Patent Application No. 2008-92972, filed on Mar. 31, 2008, the entire contents of which are incorporated herein by reference. 
       FIELD 
       [0002]    The present invention relates to a document editing program for preventing secret information from being leaked by masking an area of the secret information in a document of electronic data including hierarchically arranged objects such as a text, an image, a drawing, and a table. The present invention also relates to a recording medium storing the document editing program, and a method and apparatus for editing documents. 
       BACKGROUND 
       [0003]    A document is typically edited on a computer and then distributed in the form of electronic data. In the case of a hardcopy document, a portion including secret information such as private information may be blackened out to prevent the secret information from being leaked. 
         [0004]    An electronic data document may be typically distributed in a data format that does not permit the document to be edited, with a secret information portion thereof masked. The leakage of secret information is thus controlled. Also to prevent information leakage, an electronic data document may be distributed with the masked secret information portion password-locked in an uneditable state. 
         [0005]    However, the distribution of a document in an uneditable data format presents a disadvantage that a user having received the document cannot reuse the document even if the portion of the information the user wishes to use is a non-secret portion of the document. 
         [0006]    The distribution of a document in an uneditable data format in a password-locked state presents another disadvantage that, although the document can be reused by unlocking the password, only a limited number of users who know the password can edit the document. 
         [0007]    Japanese Patent Laid-Open No. 3-209577 discloses a technique in which a secret information portion of an electronic data document is converted into information different from the original information in order to prevent the secret information from being leaked in the course of distribution of the document. 
       SUMMARY 
       [0008]    According to an aspect of the invention, a computer-readable recording medium stores a program for causing a computer to edit an electronic document including a plurality of hierarchically arranged objects. The program causes a computer to extract an object from the electronic document including the hierarchically arranged objects representing one of a text, an image, a drawing and a table; determine whether the extracted object is superimposed by a user specified area serving as a masking area of a target document input by a user; and convert, into different information, information included in an area of the object determined to be superimposed by the user specified area. 
         [0009]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]      FIG. 1  depicts a document masking process according to an example of a first embodiment of the present invention; 
           [0011]      FIG. 2  depicts a document masking apparatus according to an example of a first embodiment of the present invention; 
           [0012]      FIG. 3  depicts an object property management table of a document file according to an example of a first embodiment of the present invention; 
           [0013]      FIG. 4  depicts a flowchart illustrating a document masking process according to an example of a first embodiment of the present invention; 
           [0014]      FIG. 5  depicts a document masking process according to an example of a second embodiment of the present invention; and 
           [0015]      FIG. 6  depicts a flowchart illustrating the document masking process according to an example of a second embodiment of the present invention. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0016]    In accordance with technique disclosed previously, the electronic data document is based on the assumption that all the information including images and tables are represented by characters or character strings. The current electronic data document is created by combining elements called “objects”. Each object may include a variety of information such as characters, character strings, illustrations, marks, and symbols. 
         [0017]    Since such an object is a completely different type of data from characters, the known technique of converting the character or the character string into different information cannot mask the secret information of the object. 
         [0018]    Since objects can be freely organized by superimposing one on another, secret information included in one object may happen to be superimposed on and thus hiding another object, and a document editor may fail to mask all the desired objects. 
         [0019]    In accordance with embodiments of the present invention, as described in detail below, a document editing apparatus, a document editing method, and a recording medium storing a document editing program reliably mask without omission a secret information portion of an electronic data document created by combining text and objects, and assure both reusability and information secrecy of the masked electronic data document. 
         [0020]    In accordance with embodiments of the present invention, the secret information is masked with editability of the document maintained. Since it is sufficient to specify a masking area covering a secret information portion of the document, the number of processes is substantially reduced. 
         [0021]    The embodiments of the present invention are described with reference to the accompanying drawings. The document editing apparatus, the document editing method, and the recording medium storing the document editing program in accordance with embodiments of the present invention are based on the premise that an application software installed on the document editing apparatus is executed by a computer. 
         [0022]    The present invention is not limited to the above arrangement. The document editing program stored on the recording medium may be read into the computer, and the computer may then execute a document editing process. 
         [0023]    The term “document” in the context of this specification means an electronic document created on a computer. In the discussion that follows, the term “element” and the term “object” are interchangeable. 
         [0024]    Referring to  FIGS. 1 through 4 , a first embodiment of the present invention is described below. A document masking process of the first embodiment of the present invention is summarized first.  FIG. 1  illustrates the document masking process of the first embodiment of the present invention. 
         [0025]    Referring to  FIG. 1 , an “original document” includes an element group  10  as an object in which an element is superimposed on another element. The elements in the element group  10  of the original document include characters, character strings, a drawing, a table, an illustration, a mark, a symbol, and the like. The elements themselves may be characters, character strings, a drawing, a table, an illustration, a mark, and a symbol. 
         [0026]    As illustrated in  FIG. 1 , the element group  10  includes elements  10   a - 10   f . The elements  10   a - 10   f  are extracted from the original document including secret information. These extracted elements are superimposed starting from the bottommost layer with the element  10   a , the element  10   b , the element  10   c , the element  10   d , the element  10   e , and the element  10   f  in that order. 
         [0027]    A masking process is then performed on an area superimposed by a masking area  50  the user specifies to keep secret. The masking process is performed on an area of each element superimposed by the masking area  50 , starting from the topmost layer. 
         [0028]    Partially or entirely superimposed by the masking area  50  are the element  10   f , the element  10   d , the element  10   b , and the element  10   a . The masking process is performed on the top side of the superimposition area of each of these elements with the masking area  50 . 
         [0029]    The masking process is performed by converting the original information into different information, e.g., by converting a character into a different character, or blackening out a drawing, a table, an illustration, a mark, or a symbol. The masking process is performed on the top sides of all the elements partially or entirely superimposed by the masking area  50 . 
         [0030]    The element  10   a , the element  10   b , the element  10   d , and the element  10   f  having undergone the masking process thus become an element  20   a , an element  20   b , an element  20   d , and an element  20   f . The element  20   a , the element  20   b , the element  10   c , the element  20   d , the element  10   e , and the element  20   f  are referred to as a “processed element group  20 ”. 
         [0031]    After performing the masking process on the top sides of all the elements partially or entirely superimposed by the masking area  50 , the processed element group  20  is then arranged at the same locations as the original document to produce a processed document. 
         [0032]    If the original document includes the secret information with this arrangement, the secrecy of the secret information is maintained when distributing the processed document. All the elements partially or entirely superimposed by the masking area  50  are thus masked. Even if a user having received the processed document changes the layout of the processed element group  20  in an editing process, the secrecy of the secret information is still be maintained. 
         [0033]    A structure of the document masking apparatus  100   a  in accordance with the first embodiment of the present invention is described below.  FIG. 2  is a functional block diagram of the document masking process  100   a  in accordance with the first embodiment of the present invention. Referring to  FIG. 1 , the document masking apparatus  100   a  includes an element extractor  101   a , an area specifier  102 , an area determiner  103   a , a masking unit  104   a , a document generator  105 , a document file storage unit  106 , and a document display controller  107 . 
         [0034]    The original document including hierarchically arranged objects is read from the document file storage unit  106  and displayed on a display screen of an output device  200   b  by the document display controller  107 . 
         [0035]    The area specifier  102  receives a designation of a masking area input by an input device  200   a  (such as a keyboard or a mouse) by the user. The area determiner  103   a  determines an area of each object extracted by the element extractor  101   a  superimposed by the masking area input by the user. 
         [0036]    The masking unit  104   a  performs the masking process on the top side of the area of each object determined to be superimposed by the masking area by the area specifier  102 . In the masking process, a character may be converted into a different character, and a drawing, a table, an illustration, a mark or a symbol may be color-filled with the lowest gradation of a respective color to indicate distinctly that the drawing, table, illustration, mark, or symbol is mask processed. The original information is thus converted into different information so that the original information is illegible. 
         [0037]    The document generator  105  produces a processed document by re-arranging an object masked by the masking unit  104   a  and an object not masked by the masking unit  104   a  with the layout of the original document maintained. The document generator  105  attaches a new file name to the processed document different from the file name of the original document, and then stores the file in the document file storage unit  106 . 
         [0038]    An object property of such a document file in accordance with the first embodiment of the present invention is described below.  FIG. 3  illustrates an object property management table of the document file of the first embodiment of the present invention. 
         [0039]    The object property is an attribute of the object included in the document file. The object property management table manages object properties, and is included in the data of the document file. In the discussion that follows, the unit of size is “cm.” 
         [0040]    In a coordinates system, for example, the origin is at the top-left corner of the page, the X-axis extends horizontally along the page, and the Y-axis extends vertically along the page. A position (x,y) represents a point y [cm] spaced along the Y-axis from the origin, and x [cm] spaced along the X-axis from the origin. 
         [0041]    For example, page number “1” has a page size (19.0,25.0) and the number of elements is “6.” Each element is identified by a unique element identification (ID) 
         [0042]    For example, an element having an element ID of “001” has position coordinates of (12.5, 20.0) and a size of (1.5, 1.5). The order in the object property management table represents the arrangement order of the hierarchical layer of each object within the same page. The smaller the order, the higher hierarchical layer the object is at. 
         [0043]    The shape in the object property management table represents a shape of each object. The background color in the object property management table represents a background color of each object. The image information in the object property management table represents image data included in the object and a position and an attribute of the image data. 
         [0044]    The text information in the object property management table represents text data included in the object, and a position, and an attribute of the text data (font size, font information, color, character decoration, etc.). 
         [0045]    The document masking process performed by the document masking apparatus  100   a  of the first embodiment of the present invention is discussed below.  FIG. 4  is a flowchart illustrating the document masking process in accordance with the first embodiment of the present invention. Referring to  FIG. 4 , the document display controller  107  reads a document to be mask processed from a document stored in the document file storage unit  106  and displays the read document on a display screen of the output device  200   b  in S 101 . 
         [0046]    In S 102 , the area specifier  102  specifies, as the document to be mask processed, the masking area input by the user with the input device  200   a . In S 103 , the element extractor  101   a  determines whether an element of the document to be mask processed is extracted in accordance with the order illustrated in  FIG. 3 . 
         [0047]    If the element extractor  101   a  determines that the element of the document to be mask processed is extracted in accordance with the order (YES in S 103 ), processing proceeds to S 104 . If the element extractor  101   a  determines that the element of the document to be mask processed is not extracted in accordance with the order (NO in S 103 ), processing proceeds to S 109 . 
         [0048]    In S 104 , the area determiner  103   a  determines whether an area of the element extracted in S 103  is superimposed by the masking area specified in S 102 . 
         [0049]    If the area determiner  103   a  determines that the area of the element extracted in S 103  is superimposed by the masking area specified in S 102  (YES in S 104 ), processing proceeds to S 105 . If the area determiner  103   a  determines that the area of the element extracted in S 103  is not superimposed by the masking area specified in S 102  (NO in S 104 ), processing returns to S 103  to acquire a next element. 
         [0050]    In S 105 , the area determiner  103   a  determines whether a character is included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102 . 
         [0051]    If the area determiner  103   a  determines in S 105  that a character is included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102  (YES in S 105 ), processing proceeds to S 106 . If the area determiner  103   a  determines in S 105  that a character is not included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102  (NO in S 105 ), processing proceeds to S 107 . 
         [0052]    In S 106 , the masking unit  104   a  converts, into different information (such as a different character, a different symbol, or the like), the character included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102 . Processing then proceeds to S 107 . 
         [0053]    In S 107 , the area determiner  103   a  determines whether an image is included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102 . 
         [0054]    If the area determiner  103   a  determines that an image is included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102  (YES in S 107 ), processing proceeds to S 108 . If the area determiner  103   a  determines that an image is not included in the area of the element extracted in S 103  determined to be superimposed by the masking area specified in S 102  (NO in S 107 ), processing returns to S 103 . 
         [0055]    In S 108 , the masking unit  104   a  masks (fills in) the image included in the area of the element determined to be superimposed by the masking area specified in S 102 , by converting the image into different information (such as a different image). Processing returns to S 103 . 
         [0056]    In S 109 , the document generator  105  rearranges all the elements in the original locations, and generates the processed document. The document masking process thus ends. 
         [0057]    A second embodiment of the present invention is described below with reference to  FIGS. 5 and 6 . The second embodiment of the present invention is described below focusing on a difference between the first embodiment and the second embodiment of the present invention. The document masking process of the second embodiment of the present invention is summarized first.  FIG. 5  illustrates the document masking process of the second embodiment of the present invention. 
         [0058]    Referring to  FIG. 5 , each of the element  10   f , the element  10   d , the element  10   b , and the element  10   a  has an area partially or entirely superimposed by the masking area  50 . The masking process is performed on the top side of each superimposition area with the masking area  50 . 
         [0059]    The elements  10   a - 10   f  are successively extracted from the “original document” including the secret information, starting with the topmost element  10   f  and proceeding downward to the lower layers. The area determiner  103   a  then determines whether each of the elements is superimposed by the masking area  50  the user specifies for information secrecy. 
         [0060]    If it is determined that an element is superimposed by the masking area  50  the user specifies for information secrecy, the masking unit  104   a  masks the superimposition area of the element with the masking area  50 . The masking process is also performed on an area of the element superimposed by another element. 
         [0061]    The element  10   a , the element  10   b , the element  10   d , and the element  10   f  are thus masked, thereby becoming an element  30   a , an element  30   b , an element  30   d , and an element  30   f , respectively. The element  30   a , the element  30   b , the element  10   c , the element  30   d , the element  10   e , and the element  30   f  are thus collectively referred to as a processed element group  30 . 
         [0062]    After masking the top side of all the elements having an area superimposed by another element and partially or entirely superimposed by the masking area  50 , the processed element group  30  is arranged at the same location as in the original document. The processed document is thus produced. 
         [0063]    The secrecy of the secret information is maintained even if a user having received the processed document edits the received document and modifies the processed element group  30  in which the secret information is hidden with one object superimposed by another. 
         [0064]    The document masking apparatus  100   b  of the second embodiment of the present invention is identical in structure to and different in process from the document masking apparatus  100   a  of the first embodiment. The structure of the document masking apparatus  100   b  is thus not shown. The document masking apparatus  100   b  includes an element extractor  101   b , an area determiner unit  103   b , and a masking unit  104   b . The rest of the document masking apparatus  100   b  is identical to the document masking apparatus  100   a  of the first embodiment of the present invention. 
         [0065]    The document masking process of the document masking apparatus  100   b  of the second embodiment of the present invention is described below.  FIG. 6  is a flowchart illustrating the document masking process in accordance with the second embodiment of the present invention. Referring to  FIG. 6 , in S 201 , the document display controller  107  reads a document to be mask processed from the documents stored on the document file storage unit  106 , and causes the read document to be displayed on the display screen of the output device  200   b.    
         [0066]    In S 202 , the area specifier  102  specifies, as the document to be mask processed, the masking area input by the user with the input device  200   a . In S 203 , the element extractor  101   b  determines whether an element of the document to be mask processed is extracted starting with the topmost layer in accordance with the order illustrated in  FIG. 3 . 
         [0067]    If the element extractor  101   b  determines that the element of the document to be mask processed is extracted starting with the topmost layer in accordance with the order (YES in S 203 ), processing proceeds to S 204 . If the element extractor  101   b  determines that the element of the document to be mask processed is not extracted in accordance with the order (NO in S 203 ), processing proceeds to S 210 . 
         [0068]    In S 204 , the area determiner  103   b  determines whether an area of the element extracted in S 203  is superimposed by the masking area specified in S 202 . 
         [0069]    If the area determiner  103   b  determines that the area of the element extracted in S 203  is superimposed by the masking area specified in S 202  (YES in S 204 ), processing proceeds to S 205 . If the area determiner  103   b  determines that the area of the element extracted in S 203  is not superimposed by the masking area specified in S 202  (NO in S 204 ), processing proceeds to S 209 . 
         [0070]    In S 205 , the area determiner  103   b  determines whether a character is included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202 . 
         [0071]    If the area determiner  103   b  determines in S 205  that a character is included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202  (YES in S 205 ), processing proceeds to S 206 . If the area determiner  103   b  determines in S 105  that a character is not included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202  (NO in S 205 ), processing proceeds to S 207 . 
         [0072]    In S 206 , the masking unit  104   b  converts, into different information (such as a different character, a different symbol or the like), the character included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202 . Processing then proceeds to S 207 . 
         [0073]    In S 207 , the area determiner  103   b  determines whether an image is included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202 . 
         [0074]    If the area determiner  103   b  determines that an image is included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202  (YES in S 207 ), processing proceeds to S 208 . If the area determiner  103   b  determines that an image is not included in the area of the element extracted in S 203  determined to be superimposed by the masking area specified in S 202  (NO in S 207 ), processing proceeds to S 209 . 
         [0075]    In S 208 , the masking unit  104   b  fills in the image included in the area of the element determined to be superimposed by the masking area specified in S 202 , by converting the image into different information (such as a different image). Processing returns to S 209 . 
         [0076]    In S 209 , the masking unit  104   b  sets up a new masking area by adding the areas of all the elements extracted in S 203  to the masking area specified in S 202 . Processing then returns to S 203  and then subsequent s are performed on the new masking area. 
         [0077]    In S 210 , the document generator  105  rearranges all the elements in the original locations, and generates the processed document. The document masking process thus ends. 
         [0078]    In the document masking process of the second embodiment of the present invention, an area hidden by another object may be masked even if the user does not specify any particular masking area. 
         [0079]    The secrecy of the secret information is thus maintained even if a user having received the processed document edits the received document and modifies the processed element group  30  in which the secret information is hidden with one object superimposed by another. 
         [0080]    If the masking process is performed automatically or in response to a button operation of the user, an inadvertent leak of the secret information is reduced or prevented when the electronic document is distributed. 
         [0081]    One embodiment of the present invention reliably masks a secret portion of the electronic data document produced by combining objects, namely, not only secret information included in the user specified area, but also secret information hidden by a superimposing object. Both reusability and information secrecy of the masked electronic data document distributed are thus assured. 
         [0082]    The present invention is not limited to the above-described embodiments. A variety of changes and modifications are possible without departing from the scope of the present invention. The advantages of the present invention are not limited to those described above. 
         [0083]    Some or all the process described above as being automatically performed may be partly or entirely performed in a manual fashion. Some or all the process described above as being manually performed may be partly or entirely performed in an automatic fashion. Information including the process, control procedure, specific name, and a variety of data and parameters may be modified unless otherwise particularly stated. 
         [0084]    The illustrated components of the apparatus represent functional concepts only and are not necessarily physically constructed as illustrated. Specific distribution and integration configurations of the components of the apparatus are not limited to the configurations illustrated. A part or the whole of the components may be functionally or physically distributed or integrated by any unit depending on workload and usage of each component. 
         [0085]    Each of the above-described processes performed by the apparatus may be partially or entirely performed by a central processing unit (CPU) (such as a microprocessing unit (MPU), or a micro controller unit (MCU)), or by a program executed by the CPU. The process may also be executed using wired logic or hardware.