An instance of TabManager that can be used to edit the open document Tabs **Only Multi-Tab Mode**.
Example
WebViewer(...) .then(function (instance) { instance.UI.TabManager.setActiveTab(0); })
Methods
-
<static> addTab(src [, options])
-
Add a new tab to the UI
Parameters:
Name Type Argument Description src
string | File | Blob | Core.Document | Core.PDFNet.PDFDoc The source of the tab to be added (e.g. a URL, a blob, ArrayBuffer, or a File) options
UI.loadDocumentOptions <optional>
The options for the tab to be added Properties
Name Type Argument Description setActive
boolean <optional>
Whether to set the new tab as active immediately after adding it (default: true) saveCurrentActiveTabState
boolean <optional>
Whether to save the current tab annotations, scroll position, and zoom level before adding the new tab (only used when setActive=true) (default: true) extension
string <optional>
The extension of the file. If file is a blob/file object or a URL without an extension then this is necessary so that WebViewer knows what type of file to load. filename
string <optional>
Filename of the document, which is used when downloading the PDF. customHeaders
object <optional>
An object of custom HTTP headers to use when retrieving the document from the specified url. webViewerServerCustomQueryParameters
object <optional>
An object of custom query parameters to be appended to every WebViewer Server request. documentId
string <optional>
Unique id of the document. withCredentials
boolean <optional>
Whether or not cross-site requests should be made using credentials. cacheKey
string <optional>
A key that will be used for caching the document on WebViewer Server. officeOptions
object <optional>
An object that contains the options for an Office document. rasterizerOptions
object <optional>
An object that contains the rasterizer options for WebViewer Server. officeOptions.templateValues
Core.TemplateData <optional>
If set, will perform template replacement with the data specified by this parameter. officeOptions.templateOptions
Core.TemplateOptions <optional>
If set, it will interpret the office document as a template document and compile all of the template tags in the document using the provided options. officeOptions.doTemplatePrep
boolean <optional>
If set, it will interpret the office document as a template document and compile all of the template tags in the document. officeOptions.disableBrowserFontSubstitution
boolean <optional>
By default, office viewing takes a lightweight approach to font substitution, allowing the browser to select fonts when they are not embedded in the document itself. While this means that WebViewer has access to all the fonts on the user's system, it also means that an office document may have a different "look" on different systems (depending on the fonts available) and when it is converted to PDF (as the PDF conversion routine cannot obtain low-level access to user fonts, for security reasons). disableBrowserFontSubstitution prevents this browser substitution, forcing the WebViewer backend to handle all fonts. This means that viewing and conversion to PDF will be 100% consistent from system-to-system, at the expense of a slightly slower initial viewing time and higher bandwidth usage. Using https://docs.apryse.com/documentation/web/faq/self-serve-substitute-fonts/ along with this option allows you to fully customize the substitution behaviour for all office files. officeOptions.formatOptions
object <optional>
An object that contains formatting options for an Office document. Same options as allowed here Core.PDFNet.Convert.OfficeToPDFOptions. Properties
Name Type Argument Description hideTotalNumberOfPages
boolean <optional>
If true will hide total number of pages from page number labels (i.e, Page 1, Page 2, vs Page 1 of 2, Page 2 of 2) applyPageBreaksToSheet
boolean <optional>
If true will split Excel worksheets into pages so that the output resembles print output. displayChangeTracking
boolean <optional>
If true will display office change tracking markup present in the document (i.e, red strikethrough of deleted content and underlining of new content). Otherwise displays the resolved document content, with no markup. Defaults to true. officeOptions.formatOptions.displayHiddenText
boolean <optional>
If true will display hidden text in document. Otherwise hidden text will not be shown. Defaults to false. officeOptions.formatOptions.displayComments
number <optional>
If set to 1, it will display comment annotations in the document. Otherwise, comment annotations will not be shown. Defaults to 0 - no comments. options.officeOptions.formatOptions.excelDefaultCellBorderWidth
number <optional>
Cell border width for table cells that would normally be drawn with no border. In units of points. Can be used to achieve a similar effect to the "show gridlines" display option within Microsoft Excel. options.officeOptions.formatOptions.excelMaxAllowedCellCount
number <optional>
An exception will be thrown if the number of cells in an Excel document is above the value. Used for early termination of resource intensive documents. Setting this value to 250000 will allow the vast majority of Excel documents to convert without issue, while keeping RAM usage to a reasonable level. By default there is no limit to the number of allowed cells. options.officeOptions.formatOptions.locale
string <optional>
Sets the value for Locale in the options object ISO 639-1 code of the current system locale. For example: 'en-US', 'ar-SA', 'de-DE', etc. options.enableOfficeEditing
boolean <optional>
If true, will load docx files with editing capabilities. options.password
string <optional>
A string that will be used to as the password to load a password protected document. options.onError
function <optional>
A callback function that will be called when error occurs in the process of loading a document. The function signature is `function(e) {}` options.xodOptions
object <optional>
An object that contains the options for a XOD document. options.xoddecrypt
boolean <optional>
Function to be called to decrypt a part of the XOD file. For default XOD AES encryption pass Core.Encryption.decrypt. options.xoddecryptOptions
boolean <optional>
An object with options for the decryption e.g. {p: "pass", type: "aes"} where is p is the password. options.xodstreaming
boolean <optional>
A boolean indicating whether to use http or streaming PartRetriever, it is recommended to keep streaming false for better performance. https://docs.apryse.com/documentation/web/guides/streaming-option/. options.xodazureWorkaround
boolean <optional>
Whether or not to workaround the issue of Azure not accepting range requests of a certain type. Enabling the workaround will add an extra HTTP request of overhead but will still allow documents to be loaded from other locations. options.xodstartOffline
boolean <optional>
Whether to start loading the document in offline mode or not. This can be set to true if the document had previously been saved to an offline database using WebViewer APIs. You'll need to use this option to load from a completely offline state. Returns:
Resolves to the tab id of the newly added tab- Type
- Promise.<number>
Example
WebViewer(...).then(function(instance) { // Adding a new tab with the URL http://www.example.com instance.UI.TabManager.addTab( 'http://www.example.com/pdf', { extension: "pdf", filename: 'Example', withCredentials: true, setActive: true, saveCurrentActiveTabState: true } ); });
-
<static> deleteTab(tabId)
-
Delete a tab by id in the UI
Parameters:
Name Type Description tabId
number The tab id to be deleted from the tab header Returns:
- Type
- void
Example
WebViewer(...).then(function(instance) { instance.UI.TabManager.deleteTab(0); // Delete tab id 0 });
-
<static> disableDeleteTabWarning()
-
Disable the warning when deleting a tab in multi-tab mode
Example
WebViewer(...) .then(function (instance) { instance.UI.TabManager.disableDeleteTabWarning(); });
-
<static> getActiveTab()
-
Get the currently active tab id
Returns:
The current tab with the following properties: { id: Number, options: Object, src: string|Blob|File|ArrayBuffer }- Type
- object
-
<static> getAllTabs()
-
Get all the tabs from the UI
Returns:
Array of tab objects containing the following properties: { id: Number, options: Object, src: string|Blob|File|ArrayBuffer }- Type
- Array.<Object>
-
<static> setActiveTab(tabId [, saveCurrentActiveTabState])
-
Set the currently open tab in the UI
Parameters:
Name Type Argument Description tabId
number The tab id to set as the current tab saveCurrentActiveTabState
boolean <optional>
Whether to save the current tab annotations, scroll position, and zoom level before switching to the new tab (default: true) Returns:
Resolves when the tab is loaded- Type
- Promise.<void>
Example
WebViewer(...).then(function(instance) { instance.UI.TabManager.setActiveTab(0, false); // Set to tab id 0 discarding current tab state });
-
<static> setTabNameHandler(tabNameHandler)
-
Sets a custom handler function for processing tab names. This handler can be used to display formatted tab names as needed.
Parameters:
Name Type Description tabNameHandler
function A function that processes the original tab name and returns the processed name. Example
WebViewer(...).then(function(instance) { const { UI } = instance UI.enableFeatures(['MultiTab']); UI.addEventListener(UI.Events.TAB_MANAGER_READY, () => { instance.UI.TabManager.setTabNameHandler((originalName) => { const [updatedName] = originalName.replace(/\+/g, '%20').split('/').slice(-1); return decodeURIComponent(updatedName); }); }); });