Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

DxPdfViewer.DownloadAsync() Method

Asynchronously downloads the document.

Namespace: DevExpress.Blazor.PdfViewer

Assembly: DevExpress.Blazor.PdfViewer.v24.2.dll

NuGet Package: DevExpress.Blazor.PdfViewer

#Declaration

C#
public Task DownloadAsync()

#Returns

Type Description
Task

An asynchronous operation that downloads the document.

#Remarks

The following code snippet removes all predefined commands from the PDF Viewer’s toolbar and adds two custom buttons:

  • The Print button invokes the Print dialog.
  • The Download button downloads the document.

PDF Viewer - Print and Download Methods

@using System.Reflection
@using DevExpress.Blazor.Reporting.Models

<DxPdfViewer @ref="pdfViewer"
             DocumentContent="@DocumentContent"
             CustomizeToolbar="OnCustomizeToolbar" />

@code {
    DxPdfViewer pdfViewer { get; set; }
    byte[] DocumentContent { get; set; }

    protected override async Task OnInitializedAsync() {
        Assembly assembly = Assembly.GetExecutingAssembly();
        Stream stream = assembly.GetManifestResourceStream("Pdf.DataSources.Document.pdf");

        using (var binaryReader = new BinaryReader(stream)) {
            DocumentContent = binaryReader.ReadBytes((int)stream.Length);
        }
    }
    protected void OnCustomizeToolbar(ToolbarModel toolbarModel) {
        toolbarModel.AllItems.Clear();

        var printToolbarItem = new ToolbarItem {
            Text = "Print",
            AdaptiveText = "Print",
            BeginGroup = true,
            Id = "Print",
            IconCssClass = "print-btn",
            Click = async (args) => {
                await pdfViewer.PrintAsync();
            }
        };

        var downloadToolbarItem = new ToolbarItem {
            Text = "Download",
            AdaptiveText = "Download",
            BeginGroup = true,
            Id = "Download",
            IconCssClass = "download-btn",
            Click = async (args) => {
                await pdfViewer.DownloadAsync();
            }
        };
        toolbarModel.AllItems.Add(printToolbarItem);
        toolbarModel.AllItems.Add(downloadToolbarItem);
    }
}
See Also