The visual form of data from a computer program is received and stored in
a database. The visual form of the data may be received, for example, in
response to a print operation by the computer program or by some other
operation such as a cut and paste sequence of operations or by sending
the data to another application. The visual form of the data may be
stored as a vector image that permits scalability. The visual form of the
data may be stored with other identifying information or tags in the
database to facilitate searching of the database. The data in the
database may be encoded in a manner that ensures data integrity and that
permits detection of when data has been compromised. In one embodiment, a
service layer application is provided to control access to the database
by performing encoding and decoding of the data in the database. The
service layer may have an application programming interface that permits
many applications to have access to the database. Another application may
be provided for accessing the visual form of the data from the database
and for providing this data to another computer program. Such an
application permits a user to create compound documents from data in the
database using the other computer program.