Get PDF document data from Blazor SfPdfViewer Component
17 Jul 20261 minute to read
Use the GetDocumentAsync method of the SfPdfViewer component to retrieve the currently loaded PDF document as a byte array (Task<byte[]>), including user edits, annotations, and form field data. The byte array can be reloaded into the viewer using LoadAsync, which accepts a data URI/base64 string and an optional document password.
Retrieve and reload the document
The following example retrieves the current document data and then reloads the same document into the viewer.
@using Syncfusion.Blazor.SfPdfViewer
@using Syncfusion.Blazor.Buttons
<SfButton @onclick="retrieve">Retrieve Document</SfButton>
<SfButton @onclick="load">Reload Retrieved Document</SfButton>
<SfPdfViewer2 @ref="@viewer"
DocumentPath="@DocumentPath"
Height="100%"
Width="100%">
</SfPdfViewer2>
@code
{
private SfPdfViewer2 viewer;
private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
private byte[]? save;
private async Task retrieve()
{
//Gets the loaded PDF document
save = await viewer.GetDocumentAsync();
}
private async Task load()
{
//Converts the byte array into base64 string.
string base64String = Convert.ToBase64String(save);
//Loads the PDF document from the specified base64 string. The second parameter is the document password (null for unprotected PDFs).
await viewer.LoadAsync("data:application/pdf;base64," + base64String, null);
}
}