NAME¶
nsdejavu - DjVu browser plugin
SYNOPSIS¶
/usr/lib/x86_64-linux-gnu/netscape/plugins/nsdejavu.so
DESCRIPTION¶
The shared library
nsdejavu.so uses the Netscape browser plugin
API to display DjVu images in in a number of popular web
browsers. Different web browsers provide various level of support for Netscape
plugins. Please check section "Browser Compatibility" for
instructions on how to enable the DjVu browser plugin.
The DjVuLibre browser plugin works by invoking a standalone viewer with the
special command line option
-netscape. The plugin first searches a
program named
djview. If this program cannot be found, it searches for
djview4 and finally
djview3. It is always possible to override
this search strategy by setting the environment variable
NPX_DJVIEW to
the full path of the desired executable.
MIME TYPES AND EXTENSIONS¶
Typing the
URL of a recognized DjVu document in your web browser
should automatically invoke the DjVu browser plugin. Each browser uses
different methods to determine that a particular
URL is in fact
a DjVu document. Web server normally provide a
MIME type to web
browsers. The official
MIME type for DjVu documents is
image/vnd.djvu. For compatibility with ancient versions of the DjVu
viewer, it is common to use instead the experimental
MIME type
image/x-djvu or
image/x.djvu. Web servers should be configured
to send the proper
MIME type for DjVu documents. Most web
browsers also recognize files ending with
.djvu or
.djv as DjVu
files.
An easy way to check if an http server is giving an appropriate content-type is
to invoke the following command with a
URL corresponding to an
actual DjVu file on the server.
-
- curl -u URL | grep Content-Type
The result should be one of the following, preferably the first.
-
- Content-Type: image/vnd.djvu
Content-Type: image/x.djvu
Content-Type: image/x-djvu
Any other
MIME type indicates a server misconfiguration.
CGI-STYLE FLAGS¶
The behavior of the DjVu browser plugin can be specified by augmenting the
URL using a syntax similar to that used by the
CGI programs. This syntax is described by the following
template:
-
- http://.../file.djvu?djvuopts&keyword=value&keyword=value&...
The DjVu browser plugin only recognizes keywords that appear after the word
djvuopts. The keywords recognized by each viewer are listed in the man
pages for
djview3(1) and
djview4(1). Unrecognized keywords are
ignored. The most common keywords are:
- page=pagename
- Specify which page is displayed by name or by ordinal
number.
- zoom=zoomfactor
- Set the zoom factor. Legal values for zoomfactor
are:
number |
Magnification factor in range 10% to 999%. |
one2one |
Select the "one-to-one" mode. |
width |
Select the "fit width" mode. |
page |
Select the "fit page" mode. |
stretch |
Stretch the image to the plugin window size. |
BROWSER COMPATIBILITY¶
The DjVu browser plugin has been tested with several popular web browsers:
Netscape 4 and 6; Gecko based browsers such as Mozilla, Galeon and Firefox;
KHTML based browsers such as Konqueror; and Opera. Please read the browser
documentation to find out where the plugin library should be installed.
EMBEDDING DJVU IMAGES IN HTML PAGES¶
You can integrate DjVu content on an
HTML web page with either
the
<embed> or the
<object> tag.
This method will work even if your web server does not support the DjVu
MIME type. The
CGI style flags can be directly
used as attributes of the embedding tag. The following example shows the W3C
standard syntax with the
OBJECT tag:
-
- <object data="myfile.djvu"
type="image/vnd.djvu"
width="100%" height="100%" >
<param name="page"
value="iii">
<param name="zoom"
value="stretch">
This browser cannot render djvu data.
</object>
And this is the customary syntax with the
EMBED tag:
-
- <embed src="myfile.djvu"
type="image/vnd.djvu"
width="100%" height="100%"
page="iii" zoom="stretch"></embed>
INTERFACING THE DJVIEW PLUGIN WITH JAVASCRIPT¶
Recent versions of the
djview4 plugin can be controlled from the
JavaScript intepreter of browsers implementing the Mozilla NPRuntime API. To
access the plugin object, include the attribute
id="pluginname" into the
<object>
or
<embed> tag and use the JavaScript function
getElementById("pluginname").
The plugin object implements two methods to retrieve and set the value of the
options usually recognized as CGI-style flags. It also can evaluate a
specified JavaScript expression whenever something changes in the status of
the djview interface.
- pluginobject.setdjvuopt("key",value)
- Set the value of the djvu option key to the
character string value. This achieves the same effect as specifying
option key=value among the CGI-style flags. For instance,
values of the key page can be page IDs, page titles, page numbers,
or page names.
- pluginobject.getdjvuopt("key")
- Return the value of the djvu option key as a string.
The returned value is always a character string, even when the return is
logically a number. Boolean values are returned as strings yes or
no. Besides the usual CGI-style flags, this function recognizes the
additional key pages and returns the total number of pages in the
DjVu document. An empty string is returned when the key is not
recognized.
- pluginobject.onchange="code";
- Ensure that string code is evaluated in the context
of the plugin object whenever something changes in the djview graphical
user interface. For instance, this evaluation happens when progressive
refinements are painted, and when the user manipulates the image
interactively.
- pluginobject.version
- Return a string describing the plugin version. This
property can be used to test whether the djview plugin is scriptable in
this browser.
Note that the scriptability feature may not be accessible until the djview
plugin is fully loaded. Therefore it is advisable to check
pluginobject.version from the JavaScript
onload before
calling any other method.
CREDITS¶
This program was written by Andrei Erofeev <andrew_erofeev@yahoo.com> and
was then improved by Bill Riemers <docbill@sourceforge.net> and
Léon Bottou <leonb@users.sourceforge.net>.
SEE ALSO¶
djvu(1),
ddjvu(1),
djview4(1) djview3(1)