diff --git a/How to/Extract Text Option/.gitignore b/How to/Extract Text Option/.gitignore
new file mode 100644
index 0000000..403adbc
--- /dev/null
+++ b/How to/Extract Text Option/.gitignore	
@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/How to/Extract Text Option/README.md b/How to/Extract Text Option/README.md
new file mode 100644
index 0000000..2e03b1c
--- /dev/null
+++ b/How to/Extract Text Option/README.md	
@@ -0,0 +1,24 @@
+# textsearch
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Lints and fixes files
+```
+npm run lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).
diff --git a/How to/Extract Text Option/babel.config.js b/How to/Extract Text Option/babel.config.js
new file mode 100644
index 0000000..e955840
--- /dev/null
+++ b/How to/Extract Text Option/babel.config.js	
@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}
diff --git a/How to/Extract Text Option/jsconfig.json b/How to/Extract Text Option/jsconfig.json
new file mode 100644
index 0000000..4aafc5f
--- /dev/null
+++ b/How to/Extract Text Option/jsconfig.json	
@@ -0,0 +1,19 @@
+{
+  "compilerOptions": {
+    "target": "es5",
+    "module": "esnext",
+    "baseUrl": "./",
+    "moduleResolution": "node",
+    "paths": {
+      "@/*": [
+        "src/*"
+      ]
+    },
+    "lib": [
+      "esnext",
+      "dom",
+      "dom.iterable",
+      "scripthost"
+    ]
+  }
+}
diff --git a/How to/Extract Text Option/package.json b/How to/Extract Text Option/package.json
new file mode 100644
index 0000000..54932f8
--- /dev/null
+++ b/How to/Extract Text Option/package.json	
@@ -0,0 +1,49 @@
+{
+  "name": "textsearch",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "@syncfusion/ej2-vue-pdfviewer": "*",
+    "core-js": "^3.8.3",
+    "vue": "^3.2.13",
+    "buffer": "^6.0.3",
+    "crypto-browserify": "^3.12.0",
+    "stream-browserify": "^3.0.0",
+    "util": "^0.12.5",
+    "vm-browserify": "^1.1.2"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.12.16",
+    "@babel/eslint-parser": "^7.12.16",
+    "@vue/cli-plugin-babel": "~5.0.0",
+    "@vue/cli-plugin-eslint": "~5.0.0",
+    "@vue/cli-service": "~5.0.0",
+    "eslint": "^7.32.0",
+    "eslint-plugin-vue": "^8.0.3"
+  },
+  "eslintConfig": {
+    "root": true,
+    "env": {
+      "node": true
+    },
+    "extends": [
+      "plugin:vue/essential",
+      "eslint:recommended"
+    ],
+    "parserOptions": {
+      "parser": "@babel/eslint-parser"
+    },
+    "rules": {}
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not dead",
+    "not ie 11"
+  ]
+}
diff --git a/How to/Extract Text Option/public/favicon.ico b/How to/Extract Text Option/public/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/How to/Extract Text Option/public/favicon.ico differ
diff --git a/How to/Extract Text Option/public/index.html b/How to/Extract Text Option/public/index.html
new file mode 100644
index 0000000..661d3ff
--- /dev/null
+++ b/How to/Extract Text Option/public/index.html	
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html lang="">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+    </noscript>
+    <br><br><br>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+</html>
diff --git a/How to/Extract Text Option/src/App.vue b/How to/Extract Text Option/src/App.vue
new file mode 100644
index 0000000..0e0c1b3
--- /dev/null
+++ b/How to/Extract Text Option/src/App.vue	
@@ -0,0 +1,65 @@
+<template>
+  <div id="app">
+    <ejs-pdfviewer
+      id="pdfViewer"
+      ref="pdfviewer"
+      :documentPath="documentPath"
+      :extractTextOption="extractTextOption"
+      :resourceUrl="resourceUrl"
+      style="height: 640px;"
+    >
+    </ejs-pdfviewer>
+  </div>
+</template>
+
+<script>
+import {
+  PdfViewerComponent,
+  Toolbar,
+  Magnification,
+  Navigation,
+  Annotation,
+  TextSelection,
+  TextSearch,
+  FormFields,
+  FormDesigner,
+  PageOrganizer,
+} from '@syncfusion/ej2-vue-pdfviewer';
+
+export default {
+  name: 'App',
+  components: {
+    'ejs-pdfviewer': PdfViewerComponent,
+  },
+  data() {
+    return {
+        documentPath:'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+        resourceUrl: 'https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib',
+        extractTextOption: 'None', // Options: 'None', 'TextOnly', 'BoundsOnly', 'TextAndBounds'
+    };
+  },
+  provide: {
+    PdfViewer: [
+      Toolbar,
+      Magnification,
+      Navigation,
+      Annotation,
+      TextSelection,
+      TextSearch,
+      FormFields,
+      FormDesigner,
+      PageOrganizer,
+    ],
+  },
+};
+</script>
+<style>
+@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-dropdowns/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-inputs/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-navigations/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-popups/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-vue-pdfviewer/styles/material.css";
+</style>
diff --git a/How to/Extract Text Option/src/assets/logo.png b/How to/Extract Text Option/src/assets/logo.png
new file mode 100644
index 0000000..f3d2503
Binary files /dev/null and b/How to/Extract Text Option/src/assets/logo.png differ
diff --git a/How to/Extract Text Option/src/main.js b/How to/Extract Text Option/src/main.js
new file mode 100644
index 0000000..01433bc
--- /dev/null
+++ b/How to/Extract Text Option/src/main.js	
@@ -0,0 +1,4 @@
+import { createApp } from 'vue'
+import App from './App.vue'
+
+createApp(App).mount('#app')
diff --git a/How to/Extract Text Option/vue.config.js b/How to/Extract Text Option/vue.config.js
new file mode 100644
index 0000000..910e297
--- /dev/null
+++ b/How to/Extract Text Option/vue.config.js	
@@ -0,0 +1,4 @@
+const { defineConfig } = require('@vue/cli-service')
+module.exports = defineConfig({
+  transpileDependencies: true
+})
diff --git a/How to/Extract Text/.gitignore b/How to/Extract Text/.gitignore
new file mode 100644
index 0000000..403adbc
--- /dev/null
+++ b/How to/Extract Text/.gitignore	
@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/How to/Extract Text/README.md b/How to/Extract Text/README.md
new file mode 100644
index 0000000..2e03b1c
--- /dev/null
+++ b/How to/Extract Text/README.md	
@@ -0,0 +1,24 @@
+# textsearch
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Lints and fixes files
+```
+npm run lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).
diff --git a/How to/Extract Text/babel.config.js b/How to/Extract Text/babel.config.js
new file mode 100644
index 0000000..e955840
--- /dev/null
+++ b/How to/Extract Text/babel.config.js	
@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}
diff --git a/How to/Extract Text/jsconfig.json b/How to/Extract Text/jsconfig.json
new file mode 100644
index 0000000..4aafc5f
--- /dev/null
+++ b/How to/Extract Text/jsconfig.json	
@@ -0,0 +1,19 @@
+{
+  "compilerOptions": {
+    "target": "es5",
+    "module": "esnext",
+    "baseUrl": "./",
+    "moduleResolution": "node",
+    "paths": {
+      "@/*": [
+        "src/*"
+      ]
+    },
+    "lib": [
+      "esnext",
+      "dom",
+      "dom.iterable",
+      "scripthost"
+    ]
+  }
+}
diff --git a/How to/Extract Text/package.json b/How to/Extract Text/package.json
new file mode 100644
index 0000000..54932f8
--- /dev/null
+++ b/How to/Extract Text/package.json	
@@ -0,0 +1,49 @@
+{
+  "name": "textsearch",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "@syncfusion/ej2-vue-pdfviewer": "*",
+    "core-js": "^3.8.3",
+    "vue": "^3.2.13",
+    "buffer": "^6.0.3",
+    "crypto-browserify": "^3.12.0",
+    "stream-browserify": "^3.0.0",
+    "util": "^0.12.5",
+    "vm-browserify": "^1.1.2"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.12.16",
+    "@babel/eslint-parser": "^7.12.16",
+    "@vue/cli-plugin-babel": "~5.0.0",
+    "@vue/cli-plugin-eslint": "~5.0.0",
+    "@vue/cli-service": "~5.0.0",
+    "eslint": "^7.32.0",
+    "eslint-plugin-vue": "^8.0.3"
+  },
+  "eslintConfig": {
+    "root": true,
+    "env": {
+      "node": true
+    },
+    "extends": [
+      "plugin:vue/essential",
+      "eslint:recommended"
+    ],
+    "parserOptions": {
+      "parser": "@babel/eslint-parser"
+    },
+    "rules": {}
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not dead",
+    "not ie 11"
+  ]
+}
diff --git a/How to/Extract Text/public/favicon.ico b/How to/Extract Text/public/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/How to/Extract Text/public/favicon.ico differ
diff --git a/How to/Extract Text/public/index.html b/How to/Extract Text/public/index.html
new file mode 100644
index 0000000..661d3ff
--- /dev/null
+++ b/How to/Extract Text/public/index.html	
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html lang="">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+    </noscript>
+    <br><br><br>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+</html>
diff --git a/How to/Extract Text/src/App.vue b/How to/Extract Text/src/App.vue
new file mode 100644
index 0000000..871ae20
--- /dev/null
+++ b/How to/Extract Text/src/App.vue	
@@ -0,0 +1,86 @@
+<template>
+  <div id="app">
+    <button v-on:click="extractText">extractText</button>
+    <button v-on:click="extractsText">extractsText</button>
+    <ejs-pdfviewer
+      id="pdfViewer"
+      ref="pdfviewer"
+      :documentPath="documentPath"
+      :resourceUrl="resourceUrl"
+      style="height: 640px;"
+    >
+    </ejs-pdfviewer>
+  </div>
+</template>
+
+<script>
+import {
+  PdfViewerComponent,
+  Toolbar,
+  Magnification,
+  Navigation,
+  Annotation,
+  TextSelection,
+  TextSearch,
+  FormFields,
+  FormDesigner,
+  PageOrganizer,
+} from '@syncfusion/ej2-vue-pdfviewer';
+
+export default {
+  name: 'App',
+  components: {
+    'ejs-pdfviewer': PdfViewerComponent,
+  },
+  data() {
+    return {
+      documentPath: 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf',
+      resourceUrl: 'https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib'
+    };
+  },
+  provide: {
+    PdfViewer: [
+      Toolbar,
+      Magnification,
+      Navigation,
+      Annotation,
+      TextSelection,
+      TextSearch,
+      FormFields,
+      FormDesigner,
+      PageOrganizer,
+    ],
+  },
+  methods: {
+    extractText() {
+      if (this.$refs.pdfviewer) {
+        const viewer = this.$refs.pdfviewer.ej2Instances;
+        viewer.extractText(1, 'TextOnly').then((val) => {
+          console.log('Extracted Text from Page 1:');
+          console.log(val);
+        });
+      }
+    },
+    extractsText() {
+      if (this.$refs.pdfviewer) {
+        const viewer = this.$refs.pdfviewer.ej2Instances;
+        viewer.extractText(0, 2, 'TextOnly').then((val) => {
+          console.log('Extracted Text from Pages 0 to 2:');
+          console.log(val);
+        });
+      }
+    }
+  }
+};
+</script>
+
+<style>
+@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-dropdowns/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-inputs/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-navigations/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-popups/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-vue-pdfviewer/styles/material.css";
+</style>
diff --git a/How to/Extract Text/src/assets/logo.png b/How to/Extract Text/src/assets/logo.png
new file mode 100644
index 0000000..f3d2503
Binary files /dev/null and b/How to/Extract Text/src/assets/logo.png differ
diff --git a/How to/Extract Text/src/main.js b/How to/Extract Text/src/main.js
new file mode 100644
index 0000000..01433bc
--- /dev/null
+++ b/How to/Extract Text/src/main.js	
@@ -0,0 +1,4 @@
+import { createApp } from 'vue'
+import App from './App.vue'
+
+createApp(App).mount('#app')
diff --git a/How to/Extract Text/vue.config.js b/How to/Extract Text/vue.config.js
new file mode 100644
index 0000000..910e297
--- /dev/null
+++ b/How to/Extract Text/vue.config.js	
@@ -0,0 +1,4 @@
+const { defineConfig } = require('@vue/cli-service')
+module.exports = defineConfig({
+  transpileDependencies: true
+})
diff --git a/How to/Find Text Async/.gitignore b/How to/Find Text Async/.gitignore
new file mode 100644
index 0000000..403adbc
--- /dev/null
+++ b/How to/Find Text Async/.gitignore	
@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/How to/Find Text Async/README.md b/How to/Find Text Async/README.md
new file mode 100644
index 0000000..2e03b1c
--- /dev/null
+++ b/How to/Find Text Async/README.md	
@@ -0,0 +1,24 @@
+# textsearch
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Lints and fixes files
+```
+npm run lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).
diff --git a/How to/Find Text Async/babel.config.js b/How to/Find Text Async/babel.config.js
new file mode 100644
index 0000000..e955840
--- /dev/null
+++ b/How to/Find Text Async/babel.config.js	
@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}
diff --git a/How to/Find Text Async/jsconfig.json b/How to/Find Text Async/jsconfig.json
new file mode 100644
index 0000000..4aafc5f
--- /dev/null
+++ b/How to/Find Text Async/jsconfig.json	
@@ -0,0 +1,19 @@
+{
+  "compilerOptions": {
+    "target": "es5",
+    "module": "esnext",
+    "baseUrl": "./",
+    "moduleResolution": "node",
+    "paths": {
+      "@/*": [
+        "src/*"
+      ]
+    },
+    "lib": [
+      "esnext",
+      "dom",
+      "dom.iterable",
+      "scripthost"
+    ]
+  }
+}
diff --git a/How to/Find Text Async/package.json b/How to/Find Text Async/package.json
new file mode 100644
index 0000000..54932f8
--- /dev/null
+++ b/How to/Find Text Async/package.json	
@@ -0,0 +1,49 @@
+{
+  "name": "textsearch",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "@syncfusion/ej2-vue-pdfviewer": "*",
+    "core-js": "^3.8.3",
+    "vue": "^3.2.13",
+    "buffer": "^6.0.3",
+    "crypto-browserify": "^3.12.0",
+    "stream-browserify": "^3.0.0",
+    "util": "^0.12.5",
+    "vm-browserify": "^1.1.2"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.12.16",
+    "@babel/eslint-parser": "^7.12.16",
+    "@vue/cli-plugin-babel": "~5.0.0",
+    "@vue/cli-plugin-eslint": "~5.0.0",
+    "@vue/cli-service": "~5.0.0",
+    "eslint": "^7.32.0",
+    "eslint-plugin-vue": "^8.0.3"
+  },
+  "eslintConfig": {
+    "root": true,
+    "env": {
+      "node": true
+    },
+    "extends": [
+      "plugin:vue/essential",
+      "eslint:recommended"
+    ],
+    "parserOptions": {
+      "parser": "@babel/eslint-parser"
+    },
+    "rules": {}
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not dead",
+    "not ie 11"
+  ]
+}
diff --git a/How to/Find Text Async/public/favicon.ico b/How to/Find Text Async/public/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/How to/Find Text Async/public/favicon.ico differ
diff --git a/How to/Find Text Async/public/index.html b/How to/Find Text Async/public/index.html
new file mode 100644
index 0000000..661d3ff
--- /dev/null
+++ b/How to/Find Text Async/public/index.html	
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html lang="">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+    </noscript>
+    <br><br><br>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+</html>
diff --git a/How to/Find Text Async/src/App.vue b/How to/Find Text Async/src/App.vue
new file mode 100644
index 0000000..9d94ba6
--- /dev/null
+++ b/How to/Find Text Async/src/App.vue	
@@ -0,0 +1,62 @@
+<template>
+  <div id="app">
+    <button v-on:click="findText">findText</button>
+    <button v-on:click="findTexts">findTexts</button>
+    <ejs-pdfviewer 
+      id="pdfViewer" 
+      ref="pdfviewer"
+      :documentPath="documentPath"
+      :resourceUrl="resourceUrl">
+    </ejs-pdfviewer>
+  </div>
+</template>
+
+<script>
+import {PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, TextSearch, Annotation, FormFields, FormDesigner } from '@syncfusion/ej2-vue-pdfviewer';
+
+export default {
+  name: 'app',
+  components: {
+    'ejs-pdfviewer': PdfViewerComponent,
+  },
+  data() {
+    return {
+      documentPath: "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf",
+      resourceUrl: "https://cdn.syncfusion.com/ej2/29.1.33/dist/ej2-pdfviewer-lib"
+    };
+  },
+  provide: {
+    PdfViewer: [
+      Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView,
+      ThumbnailView, Print, TextSelection, TextSearch, Annotation, FormFields, FormDesigner
+    ]
+  },
+  methods: {
+    // Search for a single string 'pdf' with a case-insensitive search across all pages
+    findText() {
+      const viewer = this.$refs.pdfviewer.ej2Instances;
+      viewer.textSearchModule.findTextAsync('pdf', false).then(res => {
+        console.log(res);
+      });
+    },
+    // Search for multiple strings ['pdf', 'the'] with a case-insensitive search across all pages
+    findTexts() {
+      const viewer = this.$refs.pdfviewer.ej2Instances;
+      viewer.textSearchModule.findTextAsync(['pdf', 'the'], false).then(res => {
+        console.log(res);
+      });
+    }
+  }
+};
+</script>
+
+<style>
+@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-dropdowns/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-inputs/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-navigations/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-popups/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css";
+@import "../node_modules/@syncfusion/ej2-vue-pdfviewer/styles/material.css";
+</style>
diff --git a/How to/Find Text Async/src/assets/logo.png b/How to/Find Text Async/src/assets/logo.png
new file mode 100644
index 0000000..f3d2503
Binary files /dev/null and b/How to/Find Text Async/src/assets/logo.png differ
diff --git a/How to/Find Text Async/src/main.js b/How to/Find Text Async/src/main.js
new file mode 100644
index 0000000..01433bc
--- /dev/null
+++ b/How to/Find Text Async/src/main.js	
@@ -0,0 +1,4 @@
+import { createApp } from 'vue'
+import App from './App.vue'
+
+createApp(App).mount('#app')
diff --git a/How to/Find Text Async/vue.config.js b/How to/Find Text Async/vue.config.js
new file mode 100644
index 0000000..910e297
--- /dev/null
+++ b/How to/Find Text Async/vue.config.js	
@@ -0,0 +1,4 @@
+const { defineConfig } = require('@vue/cli-service')
+module.exports = defineConfig({
+  transpileDependencies: true
+})