Using SilverDox as a safe replacement for Acobat Reader

Q: We are planning to use SilverDox in our application to convert a
PDF file server side and show it , in read only mode, through the
browser. Users viewing it are not allowed to download or save it
locally in any way.
What is kept locally on the client side by the IE browser? Images in
the Temporary Internet Files? Or what else?
-----------------------

A: SilverDox does not keep any temporary files (everything is in
memory) and is used by many PDFTron clients as a 'safe' replacement
for Acrobat.

Q: For years we have used Adobe Reader in our web-based search
solution for hit highlighting etc. We've used the Adobe's highlight
standard. As you probably know Adobe does not provide that feature
anymore in Adobe Reader X and above (same for Acrobat X and above). We
already had a preliminary look at two PDFTron products (PDFNet SDK and
SilverDox SDK).

For the PDFNet SDK route, we could use the PDFView, but then we need
to distribute some of your files to all the client platforms, which
wouldn't be an issue for the DVD-ROM distribution, but which would be
a big issue for the intranet solution (a very locked down environment,
where no software is allowed to be installed locally).

Because of the above "intranet issue", we became enthusiastic on your
SilverDox product (tested in several browsers and works fine: IE, FF,
Chrome, Safari, Opera even Netscape 9.x).
Assuming all intranet users are permitted to run Silverlight Apps (so
hopefully Silverlight 4.x is already installed on all intranet client
platforms), your SilverDox product could possibly be a very well
suited alternative for Adobe Reader. The only major requirement to be
met is that it must support hit-highlighting in a similar way Adobe
Reader (9.x and below) currently does. So regarding the above, I have
some questions on the SilverDox product:

1. Does SilverDox support the Adobe's highlight standard one way or
the other ?
2. If yes, how can we make it work in a very simple demo ?
3. If no, are there easy ways to add the hit-highlighting feature to
SilverDox ?

For SilverDox to become a real alternative for Adobe Reader, the
required functionalities are:
a) retrieving part of a document with use of "byte-range" requests (so
only a single page could be retrieved in case only a single page of a
large document has a hit);
b) open a document on a specific page (actually the page having the
first hit);
c) availability of a "Previous Hit" button, which will jump to the
previous page having a hit (also that page will be retrieved via "byte-
range" request(s) or is maybe cached already, since it has been
retrieved earlier);
d) availability of a "Next Hit" button, which will jump to the next
page having a hit (also that page will be retrieved via "byte-range"
request(s));
e) SilverDox should understand a certain syntax of specifying the page
to be opened and a list of highlight areas/spots on that page (similar
to Adobe's highlight standard); all areas/spots should be highlighted
when the specific page is viewed (also automatically when scrolling
the document).
---------------------------

A: ➢ Does SilverDox support the Adobe's highlight standard one way or
the other ?

SilverDox does not support deprecated highlight format, however it can
be used for hit highlighting.

➢ are there easy ways to add the hit-highlighting feature to
SilverDox ?

One option is to use built-in annotation support in SilverDox.
Annotation support is illustrated in Annotation sample project:

The annotations (such as text highlights) can be programmatically
loaded in the DocumentViewer using
AnnotationManager.LoadAnnotations(...) method. These annotation XML
file for hit highlights could be dynamically generated on the server
side using pdftron.PDF.TextExtractor or pdftron.PDF.TextSearch classes
in PDFNet SDK. As a starting point you may want to take a look at
TextExtract and TextSearch samples:

TextExtract: http://www.pdftron.com/pdfnet/samplecode.html#TextExtract
TextSearch: http://www.pdftron.com/pdfnet/samplecode.html#TextSearch

There are other options as well (e.g. using SilverDox Text API etc.)
but they would most likely involve more programming.

For SilverDox to become a real alternative for Adobe Reader, the required functionalities are:
a) retrieving part of a document with use of "byte-range" requests
(so only a single page could be retrieved in case only a single page
of a large document has a hit);

SilverDox supports random access to documents using byte-ranges as
well as incremental loading (for cases where on the fly conversion is
required).

b) open a document on a specific page (actually the page having the
first hit);

This is supported with DocumentViewer.CurrentPageNumber property.

c) availability of a "Previous Hit" button, "Next Hit" button,

This would be part of your custom GUI extensions. Each annotation is
associated with a page and each page is associated with a list of
annotations (PDFTron.SilverDox.Documents.Document.Pages.PageInfo.
Annotations). You can traverse the list of annotation and then update
DocumentViewer.CurrentPageNumber with the page number of the next/
previous annotation in the sequence.

e) SilverDox should understand a certain syntax of specifying the page
to be opened and a list of highlight areas/spots on that page (similar
to Adobe's highlight standard); all areas/spots should be highlighted
when the specific page is viewed (also automatically when scrolling the document).

Basically the XML replacement for the deprecated Adobe's highlights is
already in place in SilverDox. You can serialize the annotations to
XML using AnnotationManager.SaveAnnotations().