DocumentFormFieldTextStyle Object

Summary

Defines the document form field text style associated with the DocumentFormField object.

Syntax
TypeScript
JavaScript
function lt.Document.DocumentFormFieldTextStyle 
class lt.Document.DocumentFormFieldTextStyle() 
Remarks

The DocumentFormFieldTextStyle used to render the DocumentFormField border.

Example
DocumentFormFields.ts
ViewerInitializer.ts
DocumentFormFields.js
ViewerInitializer.js
DocumentFormFields.html
examples.css
import { ViewerInitializer } from "../../utilities/ViewerInitializer"; 
import { documentViewer } from "../../utilities/ViewerInitializer"; 
 
 
export class DocumentFormFields { 
    public run = () => { 
        new ViewerInitializer(); 
    } 
 
    getData() { 
        var doc = documentViewer.document; 
        documentViewer.prepareToSave(); 
        if (doc.formFields.hasFormFields) { 
            var containers: lt.Document.DocumentFormFieldsContainer[] = doc.formFields.getFormFields(); 
            //This will loop all the fields and change the values of the DocumentTextFormFields to 'LEADTOOLS PDF Forms', uncomment the below code to see it in action 
            // for (let i = 0; i < containers.length; i++) { 
            //     for (let j = 0; j < containers[i].children.count; j++) { 
            //         if (containers[i].children.item(j) != null && containers[i].children.item(j).type == "DocumentTextFormField") { 
            //             containers[i].children.item(j).value = "LEADTOOLS PDF Forms"; 
            //         } 
            //     } 
            // } 
            //Loops through on all the pages and fields of each page and outputs the results in the console 
            for (let i = 0; i < containers.length; i++) { 
                for (let j = 0; j < containers[i].children.count; j++) { 
                    console.log(`-------------------------- Page ${i + 1} - Field ${j + 1} ---------------------------------`) 
                    console.log(`ID: ${containers[i].children.item(j).id}`); 
                    console.log(`Name: ${containers[i].children.item(j).name}`); 
                    console.log(`Bounds: ${containers[i].children.item(j).bounds}`); 
                    console.log(`Background color: ${containers[i].children.item(j).backgroundColor}`); 
                    console.log(`Printable: ${containers[i].children.item(j).printable}`); 
                    console.log(`Viewable: ${containers[i].children.item(j).viewable}`); 
                    console.log(`Locked: ${containers[i].children.item(j).locked}`); 
                    console.log(`Required: ${containers[i].children.item(j).required}`); 
                    console.log(`Read Only: ${containers[i].children.item(j).readOnly}`); 
                    console.log(`Border Style: ${containers[i].children.item(j).borderStyle.style}`); 
                    console.log(`Border Color: ${containers[i].children.item(j).borderStyle.color}`); 
                    console.log(`Border Width: ${containers[i].children.item(j).borderStyle.width}`); 
                    console.log(`Font Name: ${containers[i].children.item(j).textStyle.fontName}`); 
                    console.log(`Font Size: ${containers[i].children.item(j).textStyle.fontSize}`); 
                    console.log(`Font Color: ${containers[i].children.item(j).textStyle.color}`); 
                    console.log(`Font Alignment: ${containers[i].children.item(j).textStyle.textAlignment}`); 
                    console.log(`Type: ${containers[i].children.item(j).type}`); 
 
                    if (containers[i].children.item(j).type == "DocumentTextFormField") { 
                        console.log(`Value: ${containers[i].children.item(j).value}`) 
                        console.log(`Content Type: ${containers[i].children.item(j).contentType}`); 
                        console.log(`Max Length: ${containers[i].children.item(j).maxLength}`) 
                        console.log(`Multi-Line: ${containers[i].children.item(j).multiline}`) 
                        console.log(`Password: ${containers[i].children.item(j).isPassword}`) 
                        console.log(`Comb: ${containers[i].children.item(j).isComb}`) 
                    } 
                    if (containers[i].children.item(j).type == "DocumentChoiceFormField") { 
                        console.log(`Options Display Value: ${containers[i].children.item(j).optionsDisplayValue}`) 
                        console.log(`Options Exported Value: ${containers[i].children.item(j).optionsExportedValue}`); 
                        console.log(`Selected Indices: ${containers[i].children.item(j).selectedIndices}`) 
                        console.log(`Multi-Select: ${containers[i].children.item(j).multiSelect}`) 
                        console.log(`Choice Type: ${containers[i].children.item(j).choiceType}`) 
                    } 
                    if (containers[i].children.item(j).type == "DocumentButtonFormField") { 
                        console.log(`Checked: ${containers[i].children.item(j).isChecked}`) 
                        if (containers[i].children.item(j).buttonType == 0) { 
                            console.log(`Button Type: Check Box`); 
                        } else { 
                            console.log(`Button Type: Radio Button`); 
                        } 
                    } 
                } 
            } 
        } 
        else { 
            console.log("This document does not have PDF Form Fields") 
        } 
    } 
} 
export var documentViewer: lt.Document.Viewer.DocumentViewer = null; 
export class ViewerInitializer { 
    private callback: (viewer: lt.Document.Viewer.DocumentViewer) => void = null; 
 
    constructor(callback?: (viewer: lt.Document.Viewer.DocumentViewer) => void) { 
        this.callback = callback; 
        this.init(); 
    } 
 
    public static showServiceError = (jqXHR: any, statusText: any, errorThrown: any) => { 
        alert('Error returned from service. See the console for details.') 
        const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
        console.error(serviceError); 
    } 
 
    private init = () => { 
        this.setLicense(); 
        this.initFactory(); 
        this.createDocumentViewer(); 
    } 
      
    // Set the LEADTOOLS Evaluation license 
    setLicense = () => { 
        lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", function (setLicenseResult) { 
            if (setLicenseResult.result) { 
                console.log("LEADTOOLS client license set successfully"); 
            } else { 
                var msg = "No LEADTOOLS License\n\nYour license file is missing, invalid or expired. LEADTOOLS will not function. Please contact LEAD Sales for information on obtaining a valid license."; 
                alert(msg); 
                console.log(msg); 
            } 
        }); 
    } 
 
    // Before we call the service, we need to explain where it is ("localhost:40000/api", for example): 
    initFactory = () => { 
        lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
        lt.Document.DocumentFactory.servicePath = ""; 
        lt.Document.DocumentFactory.serviceApiPath = "api"; 
        lt.Document.DocumentFactory.localProxyUrlTemplate = "http://localhost:40000/api/CorsProxy/Proxy?{0}"; 
        lt.Document.DocumentFactory.verifyService() 
            .done(function (response: ResponseType | any) { 
                var serviceInfo = "Service name: '" + response.serviceName + "'"; 
                serviceInfo += " version: '" + response.serviceVersion + "'"; 
                serviceInfo += " platform: '" + response.servicePlatform + "'"; 
                serviceInfo += " OS: '" + response.serviceOperatingSystem + "'"; 
                lt.LTHelper.log(serviceInfo); 
            }) 
            .fail(function (jqXHR: string, statusText: string, errorThrown: string) { 
                var errMsg = "Cannot reach the LEADTOOLS Document Service.\n\nPlease Make sure LEADTOOLS DocumentService is running\n - Examples/Document/JS/DocumentServiceDotNet\n - Examples/Document/JS/DocumentServiceJava\nand verify that the service path is correct, then refresh the application."; 
                window.alert(errMsg); 
                console.log(errMsg); 
            }); 
    } 
 
    private createDocumentViewer = () => { 
        // Create the options object for the DocumentViewer 
        var createOptions = new lt.Document.Viewer.DocumentViewerCreateOptions(); 
        createOptions.viewCreateOptions.useElements = true; 
        createOptions.thumbnailsCreateOptions.useElements = false; 
        // Set viewContainer to #documentViewer 
        createOptions.viewContainer = document.getElementById("content"); 
        // Create the document viewer 
        documentViewer = lt.Document.Viewer.DocumentViewerFactory.createDocumentViewer(createOptions); 
        // We prefer SVG viewing over Image viewing for this example 
        documentViewer.view.preferredItemType = lt.Document.Viewer.DocumentViewerItemType.svg; 
        // To use Image: lt.Document.Viewer.DocumentViewerItemType.image; 
        documentViewer.view.imageViewer.autoCreateCanvas = true; 
        this.loadDefaultDoc(documentViewer) 
    } 
 
    private loadDefaultDoc = (viewer: lt.Document.Viewer.DocumentViewer) => { 
        var url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
        var loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
        loadDocumentOptions.loadFormFieldsMode = 1; 
        // Call the "LoadFromUri" and pass success and failure callbacks to the promise 
        lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
            .done((document: lt.Document.LEADDocument) => { 
                const ready = () => { 
                    documentViewer.setDocument(document); 
                    this.registerClickEvents(); 
                    if (document.formFields.hasFormFields) { 
                        console.log("This document has PDF Form Fields. Click the 'Display Field Data in the Console' to see more information") 
                    } else { 
                        console.log("This document does not have PDF Form Fields") 
                    } 
                } 
 
                if (document.isStructureSupported && !document.structure.isParsed) 
                    document.structure.parse() 
                        .done(ready) 
                        .fail(ViewerInitializer.showServiceError); 
                else 
                    ready(); 
            }) 
            .fail((ViewerInitializer.showServiceError)); 
    } 
    //Initialize the onclick events for our two buttons 
    registerClickEvents = () => { 
        const importClick = document.getElementById('importBtn'); 
        importClick.onclick = (e) => { 
            this.selectAndLoadFile(); 
        } 
    } 
 
    selectAndLoadFile() { 
        //creates an input element on the Import Document button to upload files  
        //into the document editor  
        var input = document.createElement('input'); 
        input.type = 'file'; 
        input.style.display = 'none'; 
        input.accept = '.doc, .docx, .pdf, .rtf, .txt'; 
        input.onchange = function (e) { 
            var files = input.files; 
            if (!files || !files.length) 
                return; 
            var file = files[0]; 
            //Set the cursor to an idle animations 
            document.body.style.cursor = 'wait'; 
            //Create the document loading options 
            const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
            loadDocumentOptions.loadFormFieldsMode = 1; 
            //load the document from a file using the options 
            lt.Document.DocumentFactory.loadFromFile(file, loadDocumentOptions) 
                .then((doc: lt.Document.LEADDocument) => { 
                    //set the new document in the document viewer 
                    documentViewer.setDocument(doc); 
                    //check to see if the document has form fields 
                    if (doc.formFields.hasFormFields) { 
                        console.log("This document has PDF Form Fields. Click the 'Display Field Data in the Console' to see more information") 
                    } 
                    else { 
                        console.log("This document does not have PDF Form Fields") 
                    } 
                }) 
            //return the cursor to default 
            document.body.style.cursor = 'default'; 
        }; 
        input.click(); 
    } 
} 
import { ViewerInitializer } from "../../utilities/ViewerInitializer"; 
import { documentViewer } from "../../utilities/ViewerInitializer"; 
 
 
export class DocumentFormFields { 
    run = () => { 
        new ViewerInitializer(); 
    } 
 
    getData() { 
        var doc = documentViewer.document; 
        documentViewer.prepareToSave(); 
        if (doc.formFields.hasFormFields) { 
            var containers = doc.formFields.getFormFields(); 
            //This will loop all the fields and change the values of the DocumentTextFormFields to 'LEADTOOLS PDF Forms', uncomment the below code to see it in action 
            // for (let i = 0; i < containers.length; i++) { 
            //     for (let j = 0; j < containers[i].children.count; j++) { 
            //         if (containers[i].children.item(j) != null && containers[i].children.item(j).type == "DocumentTextFormField") { 
            //             containers[i].children.item(j).value = "LEADTOOLS PDF Forms"; 
            //         } 
            //     } 
            // } 
            //Loops through on all the pages and fields of each page and outputs the results in the console 
            for (let i = 0; i < containers.length; i++) { 
                for (let j = 0; j < containers[i].children.count; j++) { 
                    console.log(`-------------------------- Page ${i + 1} - Field ${j + 1} ---------------------------------`) 
                    console.log(`ID: ${containers[i].children.item(j).id}`); 
                    console.log(`Name: ${containers[i].children.item(j).name}`); 
                    console.log(`Bounds: ${containers[i].children.item(j).bounds}`); 
                    console.log(`Background color: ${containers[i].children.item(j).backgroundColor}`); 
                    console.log(`Printable: ${containers[i].children.item(j).printable}`); 
                    console.log(`Viewable: ${containers[i].children.item(j).viewable}`); 
                    console.log(`Locked: ${containers[i].children.item(j).locked}`); 
                    console.log(`Required: ${containers[i].children.item(j).required}`); 
                    console.log(`Read Only: ${containers[i].children.item(j).readOnly}`); 
                    console.log(`Border Style: ${containers[i].children.item(j).borderStyle.style}`); 
                    console.log(`Border Color: ${containers[i].children.item(j).borderStyle.color}`); 
                    console.log(`Border Width: ${containers[i].children.item(j).borderStyle.width}`); 
                    console.log(`Font Name: ${containers[i].children.item(j).textStyle.fontName}`); 
                    console.log(`Font Size: ${containers[i].children.item(j).textStyle.fontSize}`); 
                    console.log(`Font Color: ${containers[i].children.item(j).textStyle.color}`); 
                    console.log(`Font Alignment: ${containers[i].children.item(j).textStyle.textAlignment}`); 
                    console.log(`Type: ${containers[i].children.item(j).type}`); 
 
                    if (containers[i].children.item(j).type == "DocumentTextFormField") { 
                        console.log(`Value: ${containers[i].children.item(j).value}`) 
                        console.log(`Content Type: ${containers[i].children.item(j).contentType}`); 
                        console.log(`Max Length: ${containers[i].children.item(j).maxLength}`) 
                        console.log(`Multi-Line: ${containers[i].children.item(j).multiline}`) 
                        console.log(`Password: ${containers[i].children.item(j).isPassword}`) 
                        console.log(`Comb: ${containers[i].children.item(j).isComb}`) 
                    } 
                    if (containers[i].children.item(j).type == "DocumentChoiceFormField") { 
                        console.log(`Options Display Value: ${containers[i].children.item(j).optionsDisplayValue}`) 
                        console.log(`Options Exported Value: ${containers[i].children.item(j).optionsExportedValue}`); 
                        console.log(`Selected Indices: ${containers[i].children.item(j).selectedIndices}`) 
                        console.log(`Multi-Select: ${containers[i].children.item(j).multiSelect}`) 
                        console.log(`Choice Type: ${containers[i].children.item(j).choiceType}`) 
                    } 
                    if (containers[i].children.item(j).type == "DocumentButtonFormField") { 
                        console.log(`Checked: ${containers[i].children.item(j).isChecked}`) 
                        if (containers[i].children.item(j).buttonType == 0) { 
                            console.log(`Button Type: Check Box`); 
                        } else { 
                            console.log(`Button Type: Radio Button`); 
                        } 
                    } 
                } 
            } 
        } 
        else { 
            console.log("This document does not have PDF Form Fields") 
        } 
    } 
} 
export var documentViewer = null; 
export class ViewerInitializer { 
 
    constructor() { 
        this.init(); 
    } 
 
    static showServiceError = (jqXHR, statusText, errorThrown) => { 
        alert('Error returned from service. See the console for details.') 
        const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
        console.error(serviceError); 
    } 
 
    init = () => { 
        this.setLicense(); 
        this.initFactory(); 
        this.createDocumentViewer(); 
    } 
 
    // Set the LEADTOOLS Evaluation license 
    setLicense = () => { 
        lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", function (setLicenseResult) { 
            if (setLicenseResult.result) { 
                console.log("LEADTOOLS client license set successfully"); 
            } else { 
                var msg = "No LEADTOOLS License\n\nYour license file is missing, invalid or expired. LEADTOOLS will not function. Please contact LEAD Sales for information on obtaining a valid license."; 
                alert(msg); 
                console.log(msg); 
            } 
        }); 
    } 
 
    // Before we call the service, we need to explain where it is ("localhost:40000/api", for example): 
    initFactory = () => { 
        lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
        lt.Document.DocumentFactory.servicePath = ""; 
        lt.Document.DocumentFactory.serviceApiPath = "api"; 
        lt.Document.DocumentFactory.localProxyUrlTemplate = "http://localhost:40000/api/CorsProxy/Proxy?{0}"; 
        lt.Document.DocumentFactory.verifyService() 
            .done(function (response) { 
                var serviceInfo = "Service name: '" + response.serviceName + "'"; 
                serviceInfo += " version: '" + response.serviceVersion + "'"; 
                serviceInfo += " platform: '" + response.servicePlatform + "'"; 
                serviceInfo += " OS: '" + response.serviceOperatingSystem + "'"; 
                lt.LTHelper.log(serviceInfo); 
            }) 
            .fail(function (jqXHR, statusText, errorThrown) { 
                var errMsg = "Cannot reach the LEADTOOLS Document Service.\n\nPlease Make sure LEADTOOLS DocumentService is running\n - Examples/Document/JS/DocumentServiceDotNet\n - Examples/Document/JS/DocumentServiceJava\nand verify that the service path is correct, then refresh the application."; 
                window.alert(errMsg); 
                console.log(errMsg); 
            }); 
    } 
 
    createDocumentViewer = () => { 
        // Create the options object for the DocumentViewer 
        var createOptions = new lt.Document.Viewer.DocumentViewerCreateOptions(); 
        createOptions.viewCreateOptions.useElements = true; 
        createOptions.thumbnailsCreateOptions.useElements = false; 
        // Set viewContainer to #documentViewer 
        createOptions.viewContainer = document.getElementById("content"); 
        // Create the document viewer 
        documentViewer = lt.Document.Viewer.DocumentViewerFactory.createDocumentViewer(createOptions); 
        // We prefer SVG viewing over Image viewing for this example 
        documentViewer.view.preferredItemType = lt.Document.Viewer.DocumentViewerItemType.svg; 
        // To use Image: lt.Document.Viewer.DocumentViewerItemType.image; 
        documentViewer.view.imageViewer.autoCreateCanvas = true; 
        this.loadDefaultDoc(documentViewer) 
    } 
 
    loadDefaultDoc = (viewer) => { 
        var url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
        var loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
        loadDocumentOptions.loadFormFieldsMode = 1; 
        // Call the "LoadFromUri" and pass success and failure callbacks to the promise 
        lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
            .done((document) => { 
                const ready = () => { 
                    documentViewer.setDocument(document); 
                    this.registerClickEvents(); 
                    if (document.formFields.hasFormFields) { 
                        console.log("This document has PDF Form Fields. Click the 'Display Field Data in the Console' to see more information") 
                    } else { 
                        console.log("This document does not have PDF Form Fields") 
                    } 
                } 
 
                if (document.isStructureSupported && !document.structure.isParsed) 
                    document.structure.parse() 
                        .done(ready) 
                        .fail(ViewerInitializer.showServiceError); 
                else 
                    ready(); 
            }) 
            .fail((ViewerInitializer.showServiceError)); 
    } 
    //Initialize the onclick events for our two buttons 
    registerClickEvents = () => { 
        const importClick = document.getElementById('importBtn'); 
        importClick.onclick = (e) => { 
            this.selectAndLoadFile(); 
        } 
    } 
      
    selectAndLoadFile() { 
        //creates an input element on the Import Document button to upload files  
        //into the document editor  
        var input = document.createElement('input'); 
        input.type = 'file'; 
        input.style.display = 'none'; 
        input.accept = '.doc, .docx, .pdf, .rtf, .txt'; 
        input.onchange = function (e) { 
            var files = input.files; 
            if (!files || !files.length) 
                return; 
            var file = files[0]; 
            //Set the cursor to an idle animations 
            document.body.style.cursor = 'wait'; 
            //Create the document loading options 
            const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
            loadDocumentOptions.loadFormFieldsMode = 1; 
            //load the document from a file using the options 
            lt.Document.DocumentFactory.loadFromFile(file, loadDocumentOptions) 
                .then((doc) => { 
                    //set the new document in the document viewer 
                    documentViewer.setDocument(doc); 
                    //check to see if the document has form fields 
                    if (doc.formFields.hasFormFields) { 
                        console.log("This document has PDF Form Fields. Click the 'Display Field Data in the Console' to see more information") 
                    } 
                    else { 
                        console.log("This document does not have PDF Form Fields") 
                    } 
                }) 
            //return the cursor to default 
            document.body.style.cursor = 'default'; 
        }; 
        input.click(); 
    } 
} 
<!DOCTYPE html> 
<html> 
 
<head> 
    <meta charset="utf-8" /> 
    <title> Image Viewer with Annotations and Burner</title> 
    <script src="https://code.jquery.com/jquery-3.6.0.js"></script> 
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.js"></script> 
 
    <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script> 
    <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script> 
 
    <script src="../../LT/Leadtools.js"></script> 
    <script src="../../LT/Leadtools.Controls.js"></script> 
    <script src="../../LT/Leadtools.Annotations.Engine.js"></script> 
    <script src="../../LT/Leadtools.Annotations.Designers.js"></script> 
    <script src="../../LT/Leadtools.Annotations.Rendering.Javascript.js"></script> 
    <script src="../../LT/Leadtools.Annotations.Automation.js"></script> 
    <script src="../../LT/Leadtools.ImageProcessing.Main.js"></script> 
    <script src="../../LT/Leadtools.ImageProcessing.Color.js"></script> 
    <script src="../../LT/Leadtools.ImageProcessing.Core.js"></script> 
    <script src="../../LT/Leadtools.ImageProcessing.Effects.js"></script> 
    <script src="../../LT/Leadtools.Document.js"></script> 
    <script src="../../LT/Leadtools.Document.Viewer.js"></script> 
 
    <link rel="stylesheet" type="text/css" href="../../css/examples.css"> 
 
    <script src="../../bundle.js" type="text/javascript"></script> 
</head> 
 
<body> 
    <div> 
        <div id="title"> 
            Showcasing PDF Form Fields in the Console Logs 
        </div> 
        <div id="serviceStatus" class="vcenter push-right"></div> 
        <ul id="menu"> 
            <li><a id="importBtn" class="rightLineBorder">Import Document</a></li> 
            <li><a id="exampleBtn" class="rightLineBorder">Run Example</a></li> 
            <li><a id="getDataBtn" class="rightLineBorder" style="display: none;">Show Data in the Console</a></li> 
        </ul> 
    </div> 
    <div id="imageWrapper"> 
        <div class="inner-body" id="content"> 
        </div> 
    </div> 
</body> 
<script> 
    //creates the onclick functions for the buttons and hides/shows them when necessary 
    window.onload = () => { 
        const button = document.getElementById('exampleBtn'); 
        const example = new window.examples.DocumentFormFields(); 
 
        const getDataBtn = document.getElementById('getDataBtn'); 
 
        button.onclick = () => { 
 
            example.run(); 
            button.style.display = "none"; 
            getDataBtn.style.display = "block"; 
 
        } 
        getDataBtn.onclick = () => { 
            example.getData(); 
        } 
    }; 
</script> 
 
</html> 
html {  
    height: 100%;  
}  
  
body {  
    height: 100%;  
    margin: 0;  
    display: flex;  
    flex-direction: column;  
}  
  
#title {  
    padding: 10px;  
    font-size: 24px;  
}  
  
ul {  
    list-style-type: none;  
    margin: 0;  
    padding: 0;  
    overflow: hidden;  
}  
  
#imageWrapper {  
    border-top: 1px solid black;  
    height: 95%;  
}  
  
#content {  
    height: 100%;  
}  
  
li {  
    float: left;  
}  
  
li a {  
    display: block;  
    text-align: center;  
    padding: 14px 16px;  
    text-decoration: none;  
    cursor: pointer;  
    user-select: none;  
    font-weight: bold;  
}  
  
li:first-child {  
    margin-left: 5px;  
}  
 
.rightLineBorder{ 
    border-right: 1px black solid; 
} 
  
li a:hover {  
    background-color: lightblue;  
}  
Requirements

Target Platforms

Help Version 23.0.2024.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.