Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ej2-javascript-toc.html
Original file line number Diff line number Diff line change
Expand Up @@ -2963,7 +2963,7 @@
</ul>
</li> <li>Release Notes
<ul>
<li>2024 Volume 2 - 26.*<ul><li>Weekly Release<ul><li><a href="/ej2-javascript/release-notes/26.2.7">26.2.7</a></li><li><a href="/ej2-javascript/release-notes/26.2.5">26.2.5</a></li><li><a href="/ej2-javascript/release-notes/26.1.42">26.1.42</a></li><li><a href="/ej2-javascript/release-notes/26.1.41">26.1.41</a></li><li><a href="/ej2-javascript/release-notes/26.1.40">26.1.40</a></li><li><a href="/ej2-javascript/release-notes/26.1.39">26.1.39</a></li><li><a href="/ej2-javascript/release-notes/26.1.38">26.1.38</a></li></ul></li><li><a href="/ej2-javascript/release-notes/26.2.4">26.2.4 Service Pack Release</a></li><li><a href="/ej2-javascript/release-notes/26.1.35">26.1.35 Main Release</a></li></ul></li><li>2024 Volume 1 - 25.*<ul><li>Weekly Release<ul><li><a href="/ej2-javascript/release-notes/25.2.7">25.2.7</a></li><li><a href="/ej2-javascript/release-notes/25.2.6">25.2.6</a></li><li><a href="/ej2-javascript/release-notes/25.2.5">25.2.5</a></li><li><a href="/ej2-javascript/release-notes/25.2.4">25.2.4</a></li><li><a href="/ej2-javascript/release-notes/25.1.42">25.1.42</a></li><li><a href="/ej2-javascript/release-notes/25.1.41">25.1.41</a></li><li><a href="/ej2-javascript/release-notes/25.1.40">25.1.40</a></li><li><a href="/ej2-javascript/release-notes/25.1.39">25.1.39</a></li><li><a href="/ej2-javascript/release-notes/25.1.38">25.1.38</a></li><li><a href="/ej2-javascript/release-notes/25.1.37">25.1.37</a></li></ul></li><li><a href="/ej2-javascript/release-notes/25.2.3">25.2.3 Service Pack Release</a></li><li><a href="/ej2-javascript/release-notes/25.1.35">25.1.35 Main Release</a></li></ul></li>
<li>2024 Volume 2 - 26.*<ul><li>Weekly Release<ul><li><a href="/ej2-javascript/release-notes/26.2.8">26.2.8</a></li><li><a href="/ej2-javascript/release-notes/26.2.7">26.2.7</a></li><li><a href="/ej2-javascript/release-notes/26.2.5">26.2.5</a></li><li><a href="/ej2-javascript/release-notes/26.1.42">26.1.42</a></li><li><a href="/ej2-javascript/release-notes/26.1.41">26.1.41</a></li><li><a href="/ej2-javascript/release-notes/26.1.40">26.1.40</a></li><li><a href="/ej2-javascript/release-notes/26.1.39">26.1.39</a></li><li><a href="/ej2-javascript/release-notes/26.1.38">26.1.38</a></li></ul></li><li><a href="/ej2-javascript/release-notes/26.2.4">26.2.4 Service Pack Release</a></li><li><a href="/ej2-javascript/release-notes/26.1.35">26.1.35 Main Release</a></li></ul></li><li>2024 Volume 1 - 25.*<ul><li>Weekly Release<ul><li><a href="/ej2-javascript/release-notes/25.2.7">25.2.7</a></li><li><a href="/ej2-javascript/release-notes/25.2.6">25.2.6</a></li><li><a href="/ej2-javascript/release-notes/25.2.5">25.2.5</a></li><li><a href="/ej2-javascript/release-notes/25.2.4">25.2.4</a></li><li><a href="/ej2-javascript/release-notes/25.1.42">25.1.42</a></li><li><a href="/ej2-javascript/release-notes/25.1.41">25.1.41</a></li><li><a href="/ej2-javascript/release-notes/25.1.40">25.1.40</a></li><li><a href="/ej2-javascript/release-notes/25.1.39">25.1.39</a></li><li><a href="/ej2-javascript/release-notes/25.1.38">25.1.38</a></li><li><a href="/ej2-javascript/release-notes/25.1.37">25.1.37</a></li></ul></li><li><a href="/ej2-javascript/release-notes/25.2.3">25.2.3 Service Pack Release</a></li><li><a href="/ej2-javascript/release-notes/25.1.35">25.1.35 Main Release</a></li></ul></li>
<li>2023 Volume 4 - 24.*<ul><li>Weekly Release<ul><li><a href="/ej2-javascript/release-notes/24.2.9">24.2.9</a></li><li><a href="/ej2-javascript/release-notes/24.2.8">24.2.8</a></li><li><a href="/ej2-javascript/release-notes/24.2.7">24.2.7</a></li><li><a href="/ej2-javascript/release-notes/24.2.6">24.2.6</a></li><li><a href="/ej2-javascript/release-notes/24.2.5">24.2.5</a></li><li><a href="/ej2-javascript/release-notes/24.2.4">24.2.4</a></li><li><a href="/ej2-javascript/release-notes/24.1.47">24.1.47</a></li><li><a href="/ej2-javascript/release-notes/24.1.46">24.1.46</a></li><li><a href="/ej2-javascript/release-notes/24.1.45">24.1.45</a></li><li><a href="/ej2-javascript/release-notes/24.1.44">24.1.44</a></li><li><a href="/ej2-javascript/release-notes/24.1.43">24.1.43</a></li></ul></li><li><a href="/ej2-javascript/release-notes/24.2.3">24.2.3 Service Pack Release</a></li><li><a href="/ej2-javascript/release-notes/24.1.41">24.1.41 Main Release</a></li></ul></li>
<li>2023 Volume 3 - 23.*<ul><li> Weekly Release<ul><li><a href="/ej2-javascript/release-notes/23.2.7">23.2.7</a></li><li><a href="/ej2-javascript/release-notes/23.2.6">23.2.6</a></li><li><a href="/ej2-javascript/release-notes/23.2.5">23.2.5</a></li><li><a href="/ej2-javascript/release-notes/23.1.44">23.1.44</a></li><li><a href="/ej2-javascript/release-notes/23.1.43">23.1.43</a></li><li><a href="/ej2-javascript/release-notes/23.1.42">23.1.42</a></li><li><a href="/ej2-javascript/release-notes/23.1.41">23.1.41</a></li><li><a href="/ej2-javascript/release-notes/23.1.40">23.1.40</a></li><li><a href="/ej2-javascript/release-notes/23.1.39">23.1.39</a></li><li><a href="/ej2-javascript/release-notes/23.1.38">23.1.38</a></li></ul></li><li><a href="/ej2-javascript/release-notes/23.2.4">23.2.4 Service Pack Release</a></li><li><a href="/ej2-javascript/release-notes/23.1.36">23.1.36 Main Release</a></li></ul></li>
<li>2023 Volume 2 - 22.*
Expand Down
16 changes: 16 additions & 0 deletions ej2-javascript/Release-notes/26.2.8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Essential Studio for ##Platform_Name## Weekly Release Release Notes
description: Essential Studio for ##Platform_Name## Weekly Release Release Notes
platform: ej2-javascript
documentation: ug
---

# Essential Studio for ##Platform_Name## Release Notes

{% include release-info.html date="August 06, 2024" version="v26.2.8" %}

{% directory path: _includes/release-notes/v26.2.8 %}

{% include {{file.url}} %}

{% enddirectory %}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,61 @@ domainurl: ##DomainURL##

# Open PDF file from Dropbox cloud file storage

PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.

## Using Standalone PDF Viewer

To load a PDF file from Dropbox cloud file storage in a PDF Viewer, you can follow the steps below

**Step 1** Create a Dropbox API

To create a Dropbox API App, you should follow the official documentation provided by Dropbox [link](https://www.dropbox.com/developers/documentation/dotnet#tutorial). The process involves visiting the Dropbox Developer website and using their App Console to set up your API app. This app will allow you to interact with Dropbox programmatically, enabling secure access to files and data.

**Step 2:** Create a Simple PDF Viewer Sample in JavaScript

Start by following the steps provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in JavaScript. This will give you a basic setup of the PDF viewer component.

**Step 3:** Modify the `src/app/app.ts` File in the Angular Project

1. Import the required namespaces at the top of the file:

```typescript
import { Dropbox } from 'dropbox';
```

2. Create an instance of the Dropbox class using an access token for authentication. Next, call the filesDownload method of this Dropbox instance to download the file located at /PDF_Succinctly.pdf. Upon successfully downloading the file, extract the file blob from the response. Convert this file blob to a Base64 string using the blobToBase64 method. Finally, load the Base64 string into a PDF viewer control.

N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.

```typescript
pdfviewer.created = function () {
let dbx = new Dropbox({ accessToken: 'Your Access Token' });
dbx.filesDownload({ path: '/PDF_Succinctly.pdf' }).then(async (response) => {
const blob = await (response.result as any).fileBlob;
const base64String = await blobToBase64(blob);
setTimeout(() => {
pdfviewer.load(base64String, "");
}, 2000);
});
}

function blobToBase64(blob: Blob): Promise<string> {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = () => {
resolve(reader.result as string);
};
});
}
```

N> The **npm install dropbox** package must be installed in your application to use the previous code example.

[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)

## Using Server-Backed PDF Viewer

To load a PDF file from Dropbox cloud file storage in a PDF Viewer, you can follow the steps below

**Step 1** Create a Dropbox API
Expand Down Expand Up @@ -136,4 +191,4 @@ viewer.load('PDF_Succinctly.pdf', null);

N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.

[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage)
[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,81 @@ domainurl: ##DomainURL##

# Save PDF file to Dropbox cloud file storage

PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.

## Using Standalone PDF Viewer

To save a PDF file to Dropbox cloud file storage, you can follow the steps below

**Step 1** Create a Dropbox API

To create a Dropbox API App, you should follow the official documentation provided by Dropbox [link](https://www.dropbox.com/developers/documentation/dotnet#tutorial). The process involves visiting the Dropbox Developer website and using their App Console to set up your API app. This app will allow you to interact with Dropbox programmatically, enabling secure access to files and data.

**Step 2:** Create a PDF Viewer sample in JavaScript

Follow the instructions provided in this [link](https://ej2.syncfusion.com/javascript/documentation/pdfviewer/getting-started) to create a simple PDF Viewer sample in JavaScript. This will set up the basic structure of your PDF Viewer application.

**Step 3:** Modify the `src/app/app.ts` File in the Angular Project

1. Import the required namespaces at the top of the file:

```typescript
import { Dropbox } from 'dropbox';
```

2. Configure a custom toolbar item for the download function to save a PDF file in Azure Blob Storage.

```typescript
let toolItem1: CustomToolbarItemModel = {
prefixIcon: 'e-icons e-pv-download-document-icon',
id: 'download_pdf',
tooltipText: 'Download file',
align: 'right'
};

pdfviewer.toolbarSettings = { toolbarItems: [ 'OpenOption', 'PageNavigationTool', 'MagnificationTool', 'PanTool', 'SelectionTool', 'SearchOption', 'PrintOption', toolItem1, 'UndoRedoTool', 'AnnotationEditTool', 'FormDesignerEditTool', 'CommentTool', 'SubmitForm']}

pdfviewer.toolbarClick = function (args) {
if (args.item && args.item.id === 'download_pdf') {
saveDocument();
}
};
```

3. Retrieve the PDF viewer instance and save the current PDF as a Blob. Then, read the Blob using a FileReader to convert it into an ArrayBuffer, and upload the ArrayBuffer to Drop Box using the filesUpload method of the Drop Box instance.

N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.

```typescript
function saveDocument() {
pdfviewer.saveAsBlob().then(function (value) {
var reader = new FileReader();
reader.onload = async () => {
if (reader.result) {
const dbx = new Dropbox({ accessToken: 'Your Access Token' });
if(reader && reader.result){
const uint8Array = new Uint8Array(reader.result as ArrayBuffer);
dbx.filesUpload({ path: '/' + pdfviewer.fileName, contents: uint8Array })
.then(response => {
console.log(response);
})
.catch(error => {
console.error(error);
});
}
}
};
reader.readAsArrayBuffer(value);
});
}
```

N> The **npm install dropbox** package must be installed in your application to use the previous code example.

[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)

## Using Server-Backed PDF Viewer

To save a PDF file to Dropbox cloud file storage, you can follow the steps below

**Step 1** Create a Dropbox API
Expand Down Expand Up @@ -129,4 +204,4 @@ viewer.load('PDF_Succinctly.pdf', null);

N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.

[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage)
[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,61 @@ domainurl: ##DomainURL##

# Open PDF file from Dropbox cloud file storage

PDF Viewer allows to load PDF file from Drop Box using either the Standalone or Server-backed PDF Viewer. Below are the steps and a sample to demonstrate how to open a PDF from Drop Box.

## Using Standalone PDF Viewer

To load a PDF file from Dropbox cloud file storage in a PDF Viewer, you can follow the steps below

**Step 1** Create a Dropbox API

To create a Dropbox API App, you should follow the official documentation provided by Dropbox [link](https://www.dropbox.com/developers/documentation/dotnet#tutorial). The process involves visiting the Dropbox Developer website and using their App Console to set up your API app. This app will allow you to interact with Dropbox programmatically, enabling secure access to files and data.

**Step 2:** Create a Simple PDF Viewer Sample in Typescript

Start by following the steps provided in this [link](https://ej2.syncfusion.com/documentation/pdfviewer/getting-started) to create a simple PDF viewer sample in Typescript. This will give you a basic setup of the PDF viewer component.

**Step 3:** Modify the `src/app/app.ts` File in the Angular Project

1. Import the required namespaces at the top of the file:

```typescript
import { Dropbox } from 'dropbox';
```

2. Create an instance of the Dropbox class using an access token for authentication. Next, call the filesDownload method of this Dropbox instance to download the file located at /PDF_Succinctly.pdf. Upon successfully downloading the file, extract the file blob from the response. Convert this file blob to a Base64 string using the blobToBase64 method. Finally, load the Base64 string into a PDF viewer control.

N> Replace **Your Access Token** with the actual Access Token of your Drop Box account.

```typescript
pdfviewer.created = function () {
let dbx = new Dropbox({ accessToken: 'Your Access Token' });
dbx.filesDownload({ path: '/PDF_Succinctly.pdf' }).then(async (response) => {
const blob = await (response.result as any).fileBlob;
const base64String = await blobToBase64(blob);
setTimeout(() => {
pdfviewer.load(base64String, "");
}, 2000);
});
}

function blobToBase64(blob: Blob): Promise<string> {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = () => {
resolve(reader.result as string);
};
});
}
```

N> The **npm install dropbox** package must be installed in your application to use the previous code example.

[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Standalone)

## Using Server-Backed PDF Viewer

To load a PDF file from Dropbox cloud file storage in a PDF Viewer, you can follow the steps below

**Step 1** Create a Dropbox API
Expand Down Expand Up @@ -135,4 +190,4 @@ viewer.load('PDF_Succinctly.pdf', null);

N> The **Dropbox.Api** NuGet package must be installed in your application to use the previous code example.

[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage)
[View sample in GitHub](https://github.com/SyncfusionExamples/open-save-pdf-documents-in-dropbox-cloud-file-storage/tree/master/Open%20and%20Save%20PDF%20in%20Drop%20Box%20using%20Server-Backed)
Loading