new DocumentViewer()
Creates a new empty DocumentViewer.
Properties:
Name | Type | Description |
---|---|---|
defaults |
Object | Default values for document viewer. Set FitMode, DisplayMode or Zoom. |
Members
-
<static> FitMode
-
Contains a list of available fit modes for the DocumentViewer.
Properties:
Name Type Description FitWidth
Zoom level is constrained such that the current page's width will exactly fill the available space.
FitPage
Zoom level is constrained such that the current page's width or height will exactly fill the available space.
Zoom
Zoom level is not constrained.
-
<static> SearchMode
-
Search modes that control how searching is conducted.
Properties:
Name Type Description e_case_sensitive
number If set, the found text must match the case of the search term.
e_whole_word
number If set, the found text must be a whole word (preceeded and followed by a non-alphabetical character, or in the case of a number, a non-numerical character.
e_search_up
number If set, the document pages will be searched in descending order, from bottom to top.
e_page_stop
number If set, the search will return with a result code of Page at the end of every page. Useful for updating the UI.
e_highlight
number If set, the bounding box the found term will be included. Useful for highlighting text and positioning the page.
e_ambient_string
number If set, the characters surrounding the found term will be included. This gives context to the search result may be useful when providing a list of search results.
-
<static> SearchResults
-
The code indicating the reason that the search process concluded.
Properties:
Name Type Description ambient_str
string The text surrounding the result string.
result_str
string The found text.
result_str_start
number The index in ambient string where the result string starts.
result_str_end
number The index in ambient string where the result string end.
page_num
number The page number which the search was conducted on.
resultCode
number The reason the search completed.
quads
Object A list of Quads, representing the bounding box(es) of the found text. Useful for highlighting the text.
Methods
-
clearSearchResults()
-
Clears all search results from the viewer
-
clearSelection()
-
Clears any selected text on the all pages.
-
closeDocument()
-
Reinitializes data and clears the viewer area content.
-
displayAdditionalSearchResult(result)
-
Displays the new search result without clearing previous results
Parameters:
Name Type Description result
Object The result of a search, DocumentViewer.SearchResults. Returned by onSearchCallback in CoreControls.DocumentViewer#textSearchInit.
-
displayBookmark(bookmark)
-
If the boomark is an internal link then it scrolls the viewer so that the position of the bookmark is in the upper-left corner of the viewer. If it's an external URL then it opens the URL.
Parameters:
Name Type Description bookmark
Bookmark A bookmark that specifies the location to go to. Returned by CoreControls.Document#getBookmarks.
-
displayFirstPage()
-
Scrolls the viewer so that the upper-left corner of the Document's first page is in the upper-left corner of the viewer.
-
displayLastPage()
-
Scrolls the viewer so that the upper-left corner of the Document's last page is in the upper-left corner of the viewer.
-
displaySearchResult(result, jump)
-
Scrolls the viewer so that the position of the search result is in the middle of the viewer.
Parameters:
Name Type Description result
Object The result of a search, DocumentViewer.SearchResults. Returned by onSearchCallback in CoreControls.DocumentViewer#textSearchInit.
jump
function The callback for navigating to the found result.
-
dispose()
-
Disposes the current document's data
-
drawSelection(pageNumber)
-
Draws the text selection for the specified page. Should be called after calling AnnotationManager's drawAnnotations function if the selection should still be shown.
Parameters:
Name Type Description pageNumber
number The page number to draw the selection on
-
getAnnotationManager()
-
Returns the AnnotationManager used by this DocumentViewer
Returns:
an instance of AnnotationManager
- Type
- AnnotationManager
-
getCompleteRotation( [pageNumber])
-
Returns the complete rotation of the page including the document's rotation.
Parameters:
Name Type Argument Description pageNumber
number <optional>
Optionally pass the page number to get the specific page's rotation
Returns:
The current complete rotation.
- Type
- CoreControls.PageRotation
-
getCurrentPage()
-
Returns the current page number.
Returns:
The current 1-indexed page number.
- Type
- number
-
getDisplayModeManager()
-
Returns the DisplayModeManager used by this DocumentViewer
Returns:
an instance of DisplayModeManager
- Type
- DisplayModeManager
-
getDocument()
-
Returns the Document that is currently being displayed by the viewer.
Returns:
returns the current document.
-
getFitMode()
-
Returns the current fit mode.
Returns:
The current fit mode.
- Type
- DocumentViewer.FitMode
-
getMargin()
-
Returns a pixel value, representing the left, right, top and bottom margins.
Returns:
The margin value.
- Type
- number
-
getPageCount()
-
Returns the number of pages in a document.
Returns:
The number of the pages in the current document.
- Type
- number
-
getPageHeight(pageIndex)
-
Get the current height of the specified page, taking into account rotation.
Parameters:
Name Type Description pageIndex
int The page index
Returns:
The height of the page
- Type
- number
-
getPageRotations()
-
Gets the individual page rotations of the document. Only returns pages that have been rotated individually.
Returns:
An object with keys that are page indexes (0-indexed) and values that are rotation values.
- Type
- object
-
getPageWidth(pageIndex)
-
Get the current width of the specified page, taking into account rotation.
Parameters:
Name Type Description pageIndex
int The page index
Returns:
The width of the page
- Type
- number
-
getPageZoom(pageIndex)
-
Get the zoom value for a particular page.
Parameters:
Name Type Description pageIndex
int The page index.
-
getRightToLeftPages()
-
Returns the page rendering order.
Returns:
The current page rendering order.
- Type
- boolean
-
getRotation( [pageNumber])
-
Returns the current viewing rotation.
Parameters:
Name Type Argument Description pageNumber
number <optional>
Optionally pass the page number to get the specific page's rotation
Returns:
The current viewing rotation.
- Type
- CoreControls.PageRotation
Example
PageRotation.e_0 = 0 (0 degress) <br/> PageRotation.e_90 = 1 (90 degress) <br/> PageRotation.e_180 = 2 (180 degress) <br/> PageRotation.e_270 = 3 (270 degress) <br/>
-
getSelectedText( [pageNumber])
-
Returns the text selected by text selection tool or search.
Parameters:
Name Type Argument Description pageNumber
number <optional>
Optionally pass the 1-indexed page number
Returns:
Selected text.
- Type
- string
-
getTool(Name)
-
Returns a specific tool from the tool mode map.
Parameters:
Name Type Description Name
string of the tool. eg 'AnnotationEdit'
Returns:
The tool mode map object.
- Type
- object
-
getToolMode()
-
Returns the current tool.
Returns:
The current tool.
- Type
- window.Tools
-
getToolModeMap()
-
Returns the tool mode map object.
Returns:
The tool mode map object.
- Type
- object
-
getViewportRegionRect()
-
Returns the current viewport rendering region is viewport rendering is enabled.
Returns:
returns the current viewport rendering region
- Type
- object
-
getZoom()
-
Returns the current zoom level
Returns:
The current zoom level.
- Type
- number
-
loadAsync(partRetriever, options)
-
Initialize the viewer and load a .xod document into the viewer.
Parameters:
Name Type Description partRetriever
HttpPartRetriever | LocalPartRetriever | StreamingPartRetriever An instance of PartRetriever.
options
object An object that can contain the following optional parameters
Properties
Name Type Argument Description docId
string <optional>
An optional unique identifier for the document, used for offline mode
onError
function <optional>
A callback of the form function(err) which will be called when a loading error occurs.
workerTransportPromise
promise <optional>
Required for PDF viewing. A promise that will be resolved when a worker transport has been initialized. This can be created by calling CoreControls.initializeWorkerTransport
getPassword
function <optional>
An method of the form function(callback) where callback is of the form function(password). getPassword will be called when a password is required to load a PDF document and should call the callback with the retrieved password.
extension
string <optional>
An field used to specify the type of file being read. This is only relevant for PDF viewing and at the moment only works for certain image formats and .pdf
-
recalculateLayout(pagesToRecalculate)
-
Request a recalculation of page layout and rerender all pages. For use when modifying the underlying Document without using the provided page modification functions (cropPages, rotatePages...)
Parameters:
Name Type Description pagesToRecalculate
-
refreshAll()
-
Invalidates the rendering cache for all pages
-
refreshPage(pageNumber)
-
Invalidates the rendering cache for the specified page
Parameters:
Name Type Description pageNumber
number The page number of the page (1-indexed)
-
removeContent(removeData, rotationChanged)
-
Removes all the page content from the DOM. Also clear the cache if the zoom or rotation has changed.
Parameters:
Name Type Description removeData
bool Whether or not to remove all event handlers and data on the elements
rotationChanged
bool -
returnCanvas(pageIndex, canvas)
-
Returns the canvas so that it can be reused. Should be called when the canvas is no longer used by the viewer. Only valid in viewport canvas mode.
Parameters:
Name Type Description pageIndex
number The page index of the canvas
canvas
object The canvas element to return
-
rotateClockwise( [pageNumber])
-
Rotates all pages in the currently displayed document clockwise by 90 degrees.
Parameters:
Name Type Argument Description pageNumber
number <optional>
Optionally pass the page number to rotate only a specific page
-
rotateCounterClockwise( [pageNumber])
-
Rotates all pages in the currently displayed document counter-clockwise by 90 degrees.
Parameters:
Name Type Argument Description pageNumber
number <optional>
Optionally pass the page number to rotate only a specific page
-
scrollViewUpdated()
-
This function must be called after modifying the ScrollView (#DocumentViewer) element's dimensions or properties.
-
select(pt1, pt2)
-
Selects the text content of the document given two page coordinates.
Parameters:
Name Type Description pt1
Starting page coordinate. Requires properties x, y and pageIndex.
pt2
Ending page coordinate. Requires properties x, y and pageIndex.
-
setActiveSearchResult(result)
-
Sets the active search result, causing it to be displayed as a different color and visible on the screen.
Parameters:
Name Type Description result
Object The result of a search, DocumentViewer.SearchResults. Returned by onSearchCallback in CoreControls.DocumentViewer#textSearchInit.
-
setAnnotationImportOptions(options)
-
Set the options that are used when importing annotations from a document asynchronously. These are the options that will be passed to AnnotationManager.importAnnotationsAsync.
Parameters:
Name Type Description options
object The options for importing
Properties
Name Type Description batchSize
number The number of annotations to import in each batch
batchDelay
number The amount of time in milliseconds to delay between importing each batch
-
setCurrentPage(pageNumber)
-
Sets the current page. Updates the current page and jumps to it.
Parameters:
Name Type Description pageNumber
int The page number to jump to.
-
setFitMode(fitMode)
-
Sets how the document will scale to fit the size of the scrollviewer's viewport. Also re-renders content to the appropriate zoom level. Only renders if a document has been loaded.
Parameters:
Name Type Description fitMode
DocumentViewer.FitMode -
setInternalAnnotationsTransform(handler(annotationData,callback))
-
Allows you to transform (or replace) the internal annotations of the document. Note that to handle annotations using PDFNetJS without useDownloader: false you will also want to call setPagesUpdatedInternalAnnotationsTransform
Parameters:
Name Type Description handler(annotationData,callback)
function A handler function that takes annotation data and a callback that is called when the transformed data is ready
-
setMargin(margin)
-
Set the pixel value to use for the left, right, top and bottom margins.
Parameters:
Name Type Description margin
number The margin value to set.
-
setOptions(options)
-
Sets specific DocumentViewer options.
Parameters:
Name Type Description options
object An options object, currently valid options are enableAnnotations and annotMode
-
setPageRotations(rotations)
-
Sets the individual page rotations of multiple pages at once. Pages that aren't specified will use the default document rotation.
Parameters:
Name Type Description rotations
object An object with keys that are page indexes (0-indexed) and values that are rotation values. Rotations should be specified as {CoreControls.PageRotation}s
-
setPagesPerCanvas(numPages, isCover)
-
Sets the number of pages that will be visible on each canvas. Only valid in viewport canvas mode.
Parameters:
Name Type Description numPages
number isCover
boolean -
setPagesUpdatedInternalAnnotationsTransform(handler(annotationData,pageList,callback))
-
Allows you to transform (or replace) the internal annotations of the document when pages receive an update event. This includes when using PDFNetJS with downloader enabled (default) on a linearized document. For completeness you will also want to call setInternalAnnotationsTransform.
Parameters:
Name Type Description handler(annotationData,pageList,callback)
function A handler function that takes annotation data, an array of updated page numbers and a callback that is called when the transformed data is ready
-
setPageVisibilityCallback(callback(pageNumber))
-
Sets the callback function that will be called when a page is newly visible in the viewer.
Parameters:
Name Type Description callback(pageNumber)
function A function that takes in a page number indicating the page that is now visible
-
setPageZoom(pageIndex, zoom)
-
Sets the zoom for a particular page. Should be followed by a call to updateView to actually render the page.
Parameters:
Name Type Description pageIndex
int The page index.
zoom
float Zoom value for page.
-
setRightToLeftPages(rightToLeftPages)
-
Sets the page rendering order.
Parameters:
Name Type Description rightToLeftPages
boolean Whether the new page rendering order should be right to left or not.
-
setRotation(pageRotation [, pageNumber])
-
Sets the current viewing rotation.
Parameters:
Name Type Argument Description pageRotation
CoreControls.PageRotation desired viewing rotation.
pageNumber
number <optional>
Optionally pass the page number to set the specific page's rotation
-
setSearchHighlightColors(colorOptions)
-
Sets the color to use when highlighting text from searching.
Parameters:
Name Type Description colorOptions
object An object with searchResult or activeSearchResult properties set as a color eg 'rgba(0, 0, 200, 0.5)'
Example
docViewer.setSearchHighlightColors({ searchResult: 'rgba(255, 0, 0, 0.5)', activeSearchResult: 'rgba(0, 255, 0, 0.5)' });
-
setTextHighlightColor(color)
-
Sets the color to use when highlighting text from text selection.
Parameters:
Name Type Description color
string The color to set. eg 'rgba(0, 0, 200, 0.3)'
-
setToolMode(tool)
-
Sets the tool mode. Also removes selection caused by text selection or search.
Parameters:
Name Type Description tool
Tools.Tool An instance of the toolmode
-
setWatermark(options)
-
Sets watermark to be added to documents
Parameters:
Name Type Description options
object Object that contains style/content of the watermark
Example
docViewer.setWatermark({ diagonal: { fontSize: (number), fontFamily: (string), color: (string), opacity: (number), text: (string) }, header: { fontSize: (number), fontFamily: (string), color: (string), opacity: (number), left: (string), center: (string), right: (string) }, footer: { fontSize: (number), fontFamily: (string), color: (string), opacity: (number), left: (string), center: (string), right: (string) }, custom: (function(ctx, pageIndex, pageWidth, pageHeight)) });
-
stopPageRender(pageIndex)
-
Stops the rendering of the specified page.
Parameters:
Name Type Description pageIndex
number The index of the page who's rendering should be stopped.
-
textSearchInit(pattern, mode, fullSearch, onSearchCallback(result))
-
Searches for a particular text string on the currently displayed Document, starting on the current page.
Parameters:
Name Type Description pattern
string The text to search for.
mode
DocumentViewer.SearchMode The options for search, controlling options such as case sensitivity and search direction.
fullSearch
boolean If true, a search of the entire document will be performed. Otherwise, a single search will be perfomed.
onSearchCallback(result)
function The callback function to call when the search completes. The search may complete when the search term is found, when the entire document has been searched, and, depending on the search options, at the end of every page. Parameter result: DocumentViewer.SearchResults.
-
updateLinks(pageIndex)
-
Updates old xod (version <= 1.2) link annotations in the annotation manager
Parameters:
Name Type Description pageIndex
number The zero-indexed page number to update
-
updateView(visiblePages, currentPageIndex)
-
Removes previously drawn pages that are no longer visible and draws pages that are visible and have not been drawn. If visiblePages are provided then those pages are rendered otherwise visiblePages are calculated depending on where the DIV elements for the pages are located.
Parameters:
Name Type Description visiblePages
Object An array of integers representing the pages to render.
currentPageIndex
number The index of the page that is currently visible in the viewer.
-
updateVisiblePages(visiblePages)
-
Notifies the document viewer that the visible pages have changed but does not draw any pages.
Parameters:
Name Type Description visiblePages
-
zoomTo(zoom [, x] [, y])
-
Adjusts the viewer's zoom factor, and positions the point (x,y) at the upper left corner of the viewer. Only renders if a document has been loaded.
Parameters:
Name Type Argument Description zoom
float Zoom value.
x
int <optional>
Horizontal position to scroll to.
y
int <optional>
Vertical position to scroll to.
-
zoomToMouse(zoom, offsetX, offsetY)
-
Adjusts the viewer's zoom factor and positions the point on the document under the mouse at the same position after zooming in.
Parameters:
Name Type Description zoom
float Zoom value
offsetX
int The x offset from the mouse position to the viewer's position (e.g. taking into account toolbars)
offsetY
int The y offset from the mouse position to the viewer's position (e.g. taking into side panels)
Events
-
annotationsLoaded
-
Triggered when all the document annotations have been loaded
Parameters:
Name Type Description evt
object jQuery's event object
-
beforeDocumentLoaded
-
Triggered just before the document has been loaded into the viewer
Parameters:
Name Type Description evt
object jQuery's event object
-
changePage
-
Triggered when the page should be changed. Only fired when using a non-scrollable custom display mode.
Parameters:
Name Type Description evt
object jQuery's event object
pageNum
int The 1-indexed page number
-
dblClick
-
Triggered for the dblClick event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
displayModeUpdated
-
Triggered when the display mode is updated
Parameters:
Name Type Description evt
object jQuery's event object
-
displayPageLocation
-
Triggered when a page location should be displayed
Parameters:
Name Type Description evt
object jQuery's event object
pageNum
int The 1-indexed page number
verticalOffset
float The offset from the top of the page
horizontalOffset
float The offset from the left of the page
-
documentLoaded
-
Triggered when the document has been loaded
Parameters:
Name Type Description evt
object jQuery's event object
-
fitModeUpdated
-
Triggered when the fit mode has changed
Parameters:
Name Type Description evt
object jQuery's event object
fitMode
object The fit mode that has been changed to e.g. docViewer.FitMode.FitWidth
-
keyDown
-
Triggered for the keyDown event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
keyUp
-
Triggered for the keyUp event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
layoutChanged
-
Triggered when the layout has changed because pages have permanently been added, removed, moved or changed in some other way.
Parameters:
Name Type Description evt
object jQuery's event object
changes
object An object with keys added, removed, moved and contentChanged, indicating which pages have changed
-
linkReady
-
Triggered when a link is created on the page.
Parameters:
Name Type Description evt
object jQuery's event object
linkElement
object The HTML span element that represents the link
link
object Link object that contains more information about the link
-
mouseEnter
-
Triggered for the mouseEnter event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
mouseLeave
-
Triggered for the mouseLeave event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
mouseLeftDown
-
Triggered for the mouseLeftButtonDown event in the DocumentViewer's viewing area Attach like docViewer.on('mouseLeftDown', callback)
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
mouseLeftUp
-
Triggered for the mouseLeftButtonUp event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
mouseMove
-
Triggered for the mouseMove event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
mouseRightDown
-
Triggered for the mouseRightButtonDown event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
mouseRightUp
-
Triggered for the mouseRightButtonUp event in the DocumentViewer's viewing area
Parameters:
Name Type Description evt
object jQuery's event object
nativeEvt
object Event object of the native JavaScript event
-
pageComplete
-
Triggered when a page has been completely rendered.
Parameters:
Name Type Argument Description evt
object jQuery's event object
pageIndex
object The 0-indexed page index
canvas
object <optional>
The canvas for the page
-
pageNumberUpdated
-
Triggered when the page number is updated
Parameters:
Name Type Description evt
object jQuery's event object
pageNumber
int The new page number (1-indexed)
-
rotationUpdated
-
Triggered when the page rotation has changed
Parameters:
Name Type Argument Description evt
object jQuery's event object
rotation
CoreControls.PageRotation The new viewing rotation.
pageNumber
number <optional>
Optionally the specific page number that had its rotation changed
-
searchInProgress
-
Triggered when a search starts or ends
Parameters:
Name Type Description evt
object jQuery's event object
inProgress
boolean Whether a search is in progress or not
isFullSearch
boolean Whether this is a full text search or not
-
textSelected
-
Triggered when the selected text has changed
Parameters:
Name Type Description evt
object jQuery's event object
quads
array An array of bounding box quads of the selected text
text
string The selected text
pageIndex
int The zero-indexed page number that the text was selected on
-
toolModeUpdated
-
Triggered when the tool mode has changed
Parameters:
Name Type Description evt
object jQuery's event object
toolModeClass
object The tool mode class that has been changed to.
-
zoomUpdated
-
Triggered when the zoom level has been updated
Parameters:
Name Type Description evt
object jQuery's event object
zoom
int The new zoom level of the viewer