
syncfusion-wpf-pdf-viewer
Create sample application using Syncfusion WPF PdfViewer. Implements Syncfusion WPF PdfViewer for embedding, configuring, and customizing PDF viewing in WPF applications. Generates C and XAML code for PDF display, navigation, zooming, text selection, search, annotations, toolbar customization, and PDF event handling using Syncfusion's WPF PDF viewing components.
- Installs
- 56
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/pdf-viewer-sdk-skills --skill syncfusion-wpf-pdf-viewer- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-wpf-pdf-viewer automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Syncfusion WPF PDFViewer – UI Sample Generator
Generate C# Code for the User's Project (default)
Trigger keywords: "how to", "code sample", "show me", "example", "snippet", "integrate", "wpf PdfViewer", "create sample".
Purpose: Generate clean, ready-to-use C# and XAML code snippets that users can directly insert into their WPF applications when working with the Syncfusion WPF PdfViewer control.
Workflow:
-
Build the C# code using snippets provided in the
references/*.mdfiles. -
Before generating the sample, ask the user whether the code should be inserted into an existing XAML file in their WPF project or created as a new WPF project application.
-
If the user chooses to create a new WPF project, ask them which target framework they want to use:
- .NET Framework (e.g. 4.6, 4.7, 4.8) — uses
Syncfusion.PdfViewer.WPFand targets classic .NET Framework. - .NET Core / .NET (e.g., .NET 8, .NET 10) — uses
Syncfusion.PdfViewer.WPFwith<TargetFramework>net8.0-windows</TargetFramework>(or the selected version). - Based on the user's choice, generate the
.csprojfile with the correct<TargetFramework>value, and tailor any framework-specific code (e.g., namespace imports, NuGet package versions, startup code) accordingly.
- .NET Framework (e.g. 4.6, 4.7, 4.8) — uses
-
XAML generation rules — MANDATORY: analyze the reference files BEFORE writing any XAML:
⚠️ STRICT RULE — NO EXCEPTIONS: Open and read the relevant
references/*.mdfile(s) for the requested feature before producing any XAML. Ask yourself: "Does the reference file contain any XAML markup for this feature?"- YES → XAML exists in reference → include only those exact XAML elements shown in the snippet.
- NO → reference is C# only →
MainWindow.xamlMUST contain only<syncfusion:PdfViewerControl>inside a<Grid>. Stop. Do not add anything else.
Checklist to run before every XAML output:
- I have opened the relevant
references/*.mdfile. - I have confirmed whether it contains XAML or is C#-only.
- If C#-only: my XAML contains nothing beyond
<syncfusion:PdfViewerControl x:Name="pdfViewer"/>inside<Grid>. - If XAML exists in reference: I am copying only those elements — not inventing new ones.
Forbidden (when reference has no XAML):
<Button>,<ComboBox>,<Slider>,<StackPanel>,<TextBlock>,<Grid.RowDefinitions>, or any UI element that does not appear verbatim in the reference snippet.Known C#-only features (no XAML must be generated):
- Ink / shape / stamp / text / highlight annotations (
annotation.md) — all settings are C# only. - Magnifying / zoom level (
magnifying.md) — C# only. - Interaction mode (
interaction-mode.md) — C# only. - Text selection (
text-selection.md) — C# only. - PDF layers (
pdf-layers.md) — C# only. - Redaction (
redaction.md) — C# only. - Print (
print.md) — C# only. - Export image (
export-image.md) — C# only. - Saving PDF (
saving-pdf-files.md) — C# only.
Known features that DO require XAML (sourced from references):
- Commands (
commands.md): navigation/zoom/annotation/undo/redo/print/unload buttons useCommand="{Binding ElementName=..., Path=...}". - Toolbar items (
toolbar-items.md): classic style requiresStyle="{StaticResource SyncfusionPdfViewerCustomControlStyle}"on<syncfusion:PdfViewerControl>.
All XAML additions must be placed inside the same
<Grid>that hosts<syncfusion:PdfViewerControl>, using a<StackPanel>or<Grid>sub-layout only when the reference snippet implies it. -
Add only the APIs required to satisfy the user's requested functionality. Do not include optional APIs, additional.
-
C# language version compatibility: When the target framework is .NET Framework (e.g., 4.6, 4.7, 4.8), the default C# language version is 7.3. The generated C# code MUST NOT use any C# 8.0+ language features. Specifically, do NOT use:
- Switch expressions (
x switch { ... }) - Nullable reference types (
string?,#nullable enable,object?) - Default interface implementations
- Ranges and indices (
^1,1..^1) ??=null-coalescing assignment Useif/elseor traditionalswitchstatements instead of switch expressions. Use regular null checks (if (x != null)) instead of nullable reference type syntax.
- Switch expressions (
Code References
All templates and operation snippets live in references/*.md. Each file is a focused snippet or template the agent will combine when generating samples.
| File | Purpose |
|---|---|
| Load-sample.md | Load and unload PDFs using file paths, streams, or PdfLoadedDocument (encrypted or not); support async loading, MVVM binding, password handling, loading indicator customization, and theme application. |
| navigation.md | Navigate PDF pages using index‑ or number‑based APIs; retrieve page state information; scroll programmatically; manage thumbnails and bookmarks; and handle hyperlink navigation events. |
| annotation.md | Enable, customize, and manage all annotation types; handle annotation events; programmatically select, hide, lock, or delete annotations; control comments panel, authorship, hyperlinks, and selection visuals. |
| pdf-rendering.md | Configure the PDF rendering engine by switching between PDFium and SfPdf and setting the required ReferencePath. |
| text-extraction-engine.md | Select the text extraction engine (PDFium or SfPdf) to control text extraction behavior. |
| print.md | Print PDFs with silent or dialog options; configure printers, page size, scaling, orientation, page range, paper source, and document name; and handle print lifecycle events. |
| export-image.md | Export PDF pages or page ranges as images (JPG, PNG, TIFF, BMP) with control over size, DPI, aspect ratio, and transparency. |
| import-export-annotations.md | Import and export annotations using FDF or XFDF formats. |
| extract-text-from-pdf.md | Extract text content and bounding information from pages or the entire document. |
| form-filling.md | Handle AcroForm fields: manage form events, show or hide icons, import/export form data, and add or edit form fields programmatically. |
| pdf-layers.md | Access and manage PDF layers by toggling visibility, enabling or disabling layers, and controlling the Layers pane UI. |
| redaction.md | Apply redactions by marking regions, customizing appearance, and handling redaction events. |
| pdf-coordinates.md | Convert between coordinate systems, retrieve scroll offsets, and zoom into specific page regions. |
| organize-pages.md | Rotate, reorder, and remove pages using page organizer features. |
| handwritten-signature.md | Capture handwritten signatures, customize appearance, handle signature events, and flatten signatures on save. |
| interaction-mode.md | Switch viewer interaction modes such as text selection, panning, and marquee zoom using cursor settings. |
| pdf-pages.md | Customize page appearance, handle page interaction events, and convert pixel coordinates to PDF points. |
| saving-pdf-files.md | Save edited PDFs, detect unsaved changes, cancel save operations, handle save events, and prompt before closing with pending edits. |
| magnifying.md | Control zoom behavior including zoom levels, fit modes, limits, zoom-to-rectangle, toolbar visibility, and zoom change events. |
| searching-text.md | Search and highlight text, navigate results, retrieve match bounds and text details, support multi-line search, and control search UI and availability. |
| text-selection.md | Detect text selection completion, retrieve selected text and bounds, customize highlight color, enable or disable selection, and clear selections programmatically. |
| localization.md | Localize the PDF Viewer UI using .resx resources and culture settings. |
| customize-contextmenu.md | Customize context menus by adding, removing, hiding items, and handling menu click events. |
| commands.md | Use and bind built‑in WPF commands for navigation, zoom, search, annotations, undo/redo, printing, saving, and unloading documents. |
| toolbar-items.md | Customize viewer UI by showing or hiding toolbars, panels, buttons, menus, notification bars, and switching toolbar styles. |
Prerequisites
- Development Environment: Visual Studio 2022 or Visual Studio Insider 2026 (recommended for .NET 10).
- NET Framework 4.5+ or .NET Core/.NET 8+ with WPF support.
- Syncfusion WPF NuGet Packages:
Syncfusion.PdfViewer.WPF
Theme NuGet Packages
To apply a built-in theme to the WPF PdfViewerControl using SfSkinManager, install the NuGet package that matches the desired theme:
| Theme Name | Required NuGet Package |
|---|---|
FluentLight | Syncfusion.Themes.FluentLight.WPF |
FluentDark | Syncfusion.Themes.FluentDark.WPF |
MaterialLight | Syncfusion.Themes.MaterialLight.WPF |
MaterialDark | Syncfusion.Themes.MaterialDark.WPF |
MaterialLight3 | Syncfusion.Themes.MaterialLight3.WPF |
MaterialDark3 | Syncfusion.Themes.MaterialDark3.WPF |
Office2019Colorful | Syncfusion.Themes.Office2019Colorful.WPF |
Office2019Black | Syncfusion.Themes.Office2019Black.WPF |
Office2019White | Syncfusion.Themes.Office2019White.WPF |
Office2019DarkGray | Syncfusion.Themes.Office2019DarkGray.WPF |
Windows11Light | Syncfusion.Themes.Windows11Light.WPF |
Windows11Dark | Syncfusion.Themes.Windows11Dark.WPF |
Note: Install only the NuGet package corresponding to the theme the user wants to apply. Theme support requires
Syncfusion.SfSkinManager.WPF, which is included as a dependency of the theme packages.Refer to: Apply theme using SfSkinManager | WPF PdfViewer Theme
Documentations
FAQ
What does the syncfusion-wpf-pdf-viewer skill do?
Create sample application using Syncfusion WPF PdfViewer. Implements Syncfusion WPF PdfViewer for embedding, configuring, and customizing PDF viewing in WPF applications. Generates C and XAML code for PDF display, navigation, zooming, text selection, search, annotations, toolbar customization, and PDF event handling using Syncfusion's WPF PDF viewing components.
How do I install syncfusion-wpf-pdf-viewer?
Run npx skills add https://github.com/syncfusion/pdf-viewer-sdk-skills --skill syncfusion-wpf-pdf-viewer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-wpf-pdf-viewer/ (personal) or .claude/skills/syncfusion-wpf-pdf-viewer/ (project).
Which AI agents can use syncfusion-wpf-pdf-viewer?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-wpf-pdf-viewer safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-wpf-pdf-viewer?
It is published by syncfusion in syncfusion/pdf-viewer-sdk-skills. It has 56 recorded installs.
More from syncfusion/pdf-viewer-sdk-skills
syncfusion-react-pdf-viewer
syncfusion/pdf-viewer-sdk-skills
Implements the Syncfusion React PDF Viewer (PdfViewerComponent) for embedding, configuring, and loading PDF documents. Use this when rendering PDFs in a React application, embedding viewer controls, or generating TSX/HTML code for PDF display and interaction.
syncfusion-maui-pdf-viewer
syncfusion/pdf-viewer-sdk-skills
Implements Syncfusion .NET MAUI SfPdfViewer for cross-platform PDF viewing, navigation, annotations, form filling/validation, text search/selection, e-signatures, redaction, printing, and toolbar/UI customization. Use when working with PDF viewer setup, document annotations, form fields, or signature workflows in MAUI apps.
syncfusion-angular-pdf-viewer
syncfusion/pdf-viewer-sdk-skills
Implements the Syncfusion Angular PDF Viewer (PdfViewerComponent) for embedding, configuring, and loading PDF documents. Use this when rendering PDFs in an Angular application, embedding viewer controls, or generating TS/CSS code for PDF display and interaction.
syncfusion-blazor-pdf-viewer
syncfusion/pdf-viewer-sdk-skills
Open the skill to read its SKILL.md instructions.
syncfusion-flutter-pdf-viewer
syncfusion/pdf-viewer-sdk-skills
Create sample code using Syncfusion Flutter SfPdfViewer. Generate Dart/Flutter code for embedding, configuring, and loading PDF documents.
syncfusion-aspnetcore-pdf-viewer
syncfusion/pdf-viewer-sdk-skills
Open the skill to read its SKILL.md instructions.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.