Universal
VisioViewer 1.0
About Universal
VisioViewer 1.0
This software is a viewer for MS Visio documents in XML
format, in which all the functions are coded in Java language so that the
software is platform independent, and is encapsulated into a component so that
the software can easily be integrated with any other Java-based application. Of
course, by adding some appropriate controlling functions and input/output
interfaces, the component can
Technical
Background
Visio is an important component of Microsoft Office Suite, which has a tremendous amount of users and has produced a huge amount of documents all around the world. However, Visio can only be run under the Windows Operating System, the abundant documents produced by it cannot be read in other platforms. For this reason, Visio documents cannot reach their full efficiency.
In
order to eliminate the dependency of Visio documents on the
Windows environment, especially the output related functions such as
dispatching the documents via network, revealing the content on the screen or
printing it on a device, etc., it is necessary to reconstruct the corresponding
functions by the platform-independent techniques, especially Java and XML
techniques. In this way, we can not only extend the scope which the documents
can be shared, but also can use the vectorgraph of Visio documents to enhance
our user interfaces.
Functional
Architecture
Figure 1 shows the functional architecture of this
software.
It
mainly consists of 4 parts: 1) A Parser for the Visio XML documents. Based on
the XML Schema for MS Visio, it can read and analyze the components and objects
in a Visio XML document; 2)A Convertor. By abandoning some components and
objects in a Visio document which are generally unuseful for the output
processing such as the ICON objects, and by carrying on other converting tasks,
the convertor can generate a new document with the compressed size, improved
parsing efficiency, and enhanced convenience for dispatching and delivering on
the network, compared to the original document; 3)A Library which encapsulates
the necessary meta-graph objects. The Objects in the library are corresponding
with those in the original Visio document structure, but are reconstructed with
Java. 4) A Palette Library which encapsulates the objects to carry out the
output processing for different devices, such as screen, printer or plotter, and
other objects to make some transformation such as drag & drop, translation,
rotation, shear, zooming and symmetric. 5) An Interface Repository, which
includes the document-interface objects, event-interface objects, coordinates-interface
objects and palette-interface objects. They can be used to realize the integration with other
Java-based applications.
Usage
The software can be used in two ways. First of all, the
component of this software can be embedded in other Java-based applications so
that the host application can open the Visio documents & reveal their
contents, or make its graphical interface enhanced, just as figure 2 shows. What
makes the component be integrated naturally with other applications is the
combined use of the objects in Interface Repository: 1) with the
document-interface objects in the Repository, the host application can open
& close Visio Documents on native or network environment; 2) with the
event-interface objects, the operating and controlling events to the opened
Visio labels can
be
integrated with those for the host application based on the Event Queues
mechanisms of Java; 3) with the coordinates-interface objects, the host
application may program some callback functions to map its logical coordinates
to the device(screen) coordinates used by the component. 4) with the
palette-interface objects, the host application can specify and change the
output devices for the Visio documents, such as screen, printer or plotter,
etc.
An example for the component to be used in this way is
an EG project we contract with MII of China Government, in which the component
of this software is integrated with a Java Applet to mark special objects on
maps using Visio labels. Because of the incomparable vectorgraph creation and
the representation ability of Visio documents, it is proved in the project that
this software is competent for the required functions. Figure 3 shows a typical
interface of this Applet, and the real Applet can be run by accessing the
following website:
http://www.xiaoan.com/project.htm.

The second way to use this software is to make it an
individual application for the Visio Documents viewing in a
platform-independent way. As mentioned above, we must develop some controls and
input/output interfaces to make the component work well. A typical output
interface is shown in figure 4.

Copyrights
The software described in this manual incorporates
copyright protection technology that is protected by China Invention
Patents(Application Number:200710142828.0) and other intellectual property
rights owned by XiaoChenKeXin Company Ltd. Use of this copyright protection
technology must be authorized by XiaoChenKeXin Company and is intended for home
and other limited viewing uses only unless otherwise authorized by
XiaoChenKeXin Company. Reverse engineering or disassembly is prohibited.