Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use DevExpress’s PdfViewerControl in a WPF window, set its DocumentSource (or call OpenDocument), and let the built-in command bar and navigation pane provide viewing, search, forms, annotations, and printing. The current DevExpress quick start is for the 26.1 component line (updated August 5, 2026), so match every namespace, assembly, and property to the DevExpress version installed in your project.

1. Choose an installation route

DevExpress supports two practical setup paths:

  • Unified Component Installer: install the WPF products and add the control through your project’s normal DevExpress references.
  • NuGet: add the DevExpress.Wpf.PdfViewer package through the DevExpress package feed.

The current API reference places PdfViewerControl in the DevExpress.Xpf.PdfViewer namespace and the DevExpress.Xpf.PdfViewer.v26.1.dll assembly. Assembly names are versioned, so do not copy a 26.1 reference into a project using another release. See the official getting-started guide and the API reference for your installed version.

2. Add PdfViewerControl to XAML

Reference the DevExpress PDF XAML namespace and place the control in a layout container. This is the smallest useful window:

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dxpdf="http://schemas.devexpress.com/winfx/2008/xaml/pdf"
    Title="PDF Viewer" Height="350" Width="525">
    <Grid>
        <dxpdf:PdfViewerControl x:Name="Viewer" />
    </Grid>
</Window>

Give the control a name when you need to load documents, invoke printing, or call other methods from code-behind. The viewer stretches with the containing Grid; production layouts commonly put it in a row or column alongside application-specific controls.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

3. Load a PDF

Load from a file path

Set DocumentSource to a full path when your application receives a local file name:

using System.Windows;

private void OpenLocalPdf(string path)
{
    Viewer.DocumentSource = path;
}

Validate the path and handle file-access errors in the application. A path is not interchangeable with a URI in every deployment scenario; select the source form that matches how your app obtains and owns the document.

Load from a URI, stream, or byte array

The quick start documents four source forms: a stream, byte array, full file path, or URI. For example, a WPF resource can be addressed with a pack URI:

Viewer.DocumentSource = new Uri(
    "pack://application:,,,/MyAssembly;component/Assets/sample.pdf",
    UriKind.Absolute);

For data already held in memory, pass the byte array or stream according to the version-matched API signatures:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
byte[] pdfBytes = await GetPdfBytesAsync();
Viewer.DocumentSource = pdfBytes;

// Or, when your version accepts the stream overload:
// Viewer.DocumentSource = pdfStream;

Keep a stream alive for as long as your DevExpress version requires; do not dispose it immediately if the viewer reads lazily. The API reference also documents OpenDocument as a code-loading route. Check the overloads in your installed assembly before choosing between it and DocumentSource.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Open a document when the window is ready

If the PDF is selected after startup, load it from a command, event handler, or view-model action rather than blocking the window constructor. Report a friendly error for a missing, inaccessible, or invalid PDF and leave the existing document intact when possible.

4. Configure the command bar and start screen

The command bar exposes common file, navigation, search, annotation, and print actions. Set CommandBarStyle to Bars for the standard command surface or None when your application supplies its own controls. The same choice is available through the designer’s Quick Actions.

<dxpdf:PdfViewerControl
    x:Name="Viewer"
    CommandBarStyle="Bars"
    ShowStartScreen="True"
    NumberOfRecentFiles="5"
    ShowOpenFileOnStartScreen="False" />

ShowStartScreen displays the start screen, NumberOfRecentFiles limits its recent-file list, and ShowOpenFileOnStartScreen controls whether the Open button appears there. These are configuration choices, not mandatory defaults: a kiosk viewer may hide the start screen, while a desktop document browser may keep it enabled.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Navigate a loaded document

The navigation pane includes built-in panels for:

  • page thumbnails;
  • bookmarks;
  • file attachments;
  • comments;
  • signatures; and
  • layers.

Thumbnails provide visual page navigation, bookmarks follow the document’s outline, and the other panels expose content embedded in or associated with the PDF. Keep the pane visible when users regularly move among sections; hide or minimize it when the document itself needs maximum space.

6. Use the viewer’s document features

Search, copy, forms, and links

The overview documents text search with case-sensitive and whole-word options, copying selected text or images, hyperlink activation, and bookmark navigation. It also supports filling forms and importing or exporting form data through the viewer’s documented workflows.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Attachments and layers

Users can inspect file attachments in the Attachments panel and change layer visibility where the PDF contains optional content. A layer’s presence and behavior are properties of the document; do not assume every PDF has layers or attachments.

Annotations and review

Users can create sticky notes and text markup, edit annotation properties, reply in the Comments pane, set review status, and remove annotations. Code can highlight selected text with the documented HighlightSelectedText method. The exact annotation types and method signatures vary by DevExpress version, so compile against the API reference matching your assembly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

7. Print from WPF

Use the standard print dialog

Users can start printing from the File toolbar group, the context menu, or Ctrl+P. Code can invoke the same workflow:

private void PrintPdf(object sender, RoutedEventArgs e)
{
    Viewer.Print();
}

The dialog lets the user choose a printer, number of copies, page range, paper size and orientation, paper source, and print-to-file destination. Handle PageSetupDialogShowing when the application must configure dialog settings before it appears.

Print with application-supplied settings

For unattended or tightly controlled workflows, use the documented Print overloads with printer settings such as PdfPrinterSettings. A typical pattern is:

// Use the overload and PdfPrinterSettings type exposed by your installed version.
// var settings = new PdfPrinterSettings { ... };
// Viewer.Print(settings);

Do not copy property names from another DevExpress release without checking IntelliSense or the versioned API reference. Printer drivers and the rendering path affect both speed and output.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

When printing output is wrong

The printing guide discusses XPS printing, DirectX/GDI+ compatibility, and legacy printing settings as troubleshooting choices. Test the selected path with the actual printer drivers used in deployment. GDI+ has documented limitations that can lose content such as strokes, clipping text rendering, transparency, or blend modes; switching rendering or printing settings may help, but it is not a universal fix.

8. Licensing boundary to check

DevExpress’s overview states that production use of the separately documented PDF Document API features requires an active DevExpress Office File API Subscription or Universal Subscription. Examples include importing or exporting interactive form data in code, password-protecting a document, specifying a signature, editing form-field properties, and flattening annotations.

That statement is scoped to those PDF Document API capabilities. It does not establish that every basic PdfViewerControl operation requires one of those subscriptions. Verify current entitlements and license terms with DevExpress before shipping or purchasing.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

9. Common problems and fixes

The XAML namespace or control is unresolved

Confirm that the WPF PDF Viewer package or installer product is referenced, the DevExpress assemblies target the same version, and the XAML namespace is exactly http://schemas.devexpress.com/winfx/2008/xaml/pdf. Clean and rebuild after changing package versions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The PDF does not load

Check that a full path exists and is readable, a URI is correctly formed, and a stream has not been disposed too early. Try loading a known-good local PDF to separate source problems from document problems. Catch and display the exception rather than silently replacing the viewer content.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Recent files or the start screen are missing

Ensure ShowStartScreen is true and that the command bar/start-screen properties were not overridden by a style. A deliberately configured CommandBarStyle="None" also removes the built-in command surface.

Printing is slow or differs from the screen

Compare the configured rendering path, printer driver, paper settings, and page range. Test XPS versus the available legacy or GDI+ paths where documented for your version, and be aware of GDI+ rendering limitations.

10. Or skip the browser setup

If what you actually need is a clean image or PDF of a web page for documentation, testing, or a WPF workflow, ScreenshotNeo provides a website screenshot API and MCP server. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

One GET request returns PNG, JPEG, WebP, or PDF:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for options such as full-page capture, CSS-selector element capture, device presets, retina scale, PDF paper and margins, custom CSS/JavaScript, waits, request blocking, headers, cookies, user agents, timezone, geolocation, resizing, caching, signed links, asynchronous webhooks, bulk capture, and usage reporting.

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo also offers take_screenshot, get_page_info, and capture_pdf through its MCP server for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.

Frequently Asked Questions

Can I bind DocumentSource in XAML?

Yes. DocumentSource can be assigned through the documented source types, but choose the form appropriate to your resource, URI, stream, byte-array, or file-path lifetime and verify the property type in your installed version.

How do I remove the built-in toolbar?

Set CommandBarStyle to None, either in XAML or through the designer’s Quick Actions, then provide any commands your application still needs.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does basic PDF viewing automatically require a DevExpress subscription?

The cited licensing statement specifically covers listed PDF Document API capabilities used in production. Confirm the current DevExpress terms for your edition and intended features rather than assuming the statement applies to every viewer operation.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.