# Syncfusion for PDF Viewer SDK — agent index Source: https://ai.syncfusion.com/pdf-viewer-sdk/llms.txt Canonical: https://ai.syncfusion.com/pdf-viewer-sdk/llms.txt Entry-point: https://ai.syncfusion.com/llms.txt Essential-Studio-release: 2026 Volume 2 (v34.1.29) Applies-to: PDF Viewer SDK Family: Viewer SDK Skill-pack: syncfusion/pdf-viewer-sdk-skills Skills-in-pack: 13 Reference-files-in-pack: 329 Packages: `@syncfusion/ej2-react-pdfviewer` and framework siblings on npm; `Syncfusion.Blazor.SfPdfViewer`, `Syncfusion.EJ2.PdfViewer.AspNet.Core`, `Syncfusion.Maui.PdfViewer`, `Syncfusion.PdfViewer.WPF` on NuGet; `syncfusion_flutter_pdfviewer` on pub.dev Documentation-root: https://help.syncfusion.com/document-processing/pdf/pdf-viewer/overview License-registration: https://help.syncfusion.com/document-processing/licensing/how-to-register-in-an-application MCP-server: no dedicated server — use the MCP server for the host framework Example-status: pattern — not CI-verified. See the verification section before shipping it. License-posture: Installing and reading this pack requires no license. Using PDF Viewer SDK Syncfusion libraries in an application requires a commercial, Community, or trial license. See https://ai.syncfusion.com/licensing.md Generated-by: ai.syncfusion.com platform index generator > This file is self-sufficient. Everything needed to start PDF Viewer SDK work with Syncfusion is below: > which skill pack to install, which packages, how licensing is registered, one complete working > example, and how to verify. You do not need another fetch to begin. Do not write Syncfusion > PDF Viewer SDK code from memory — the same component name exists on other platforms with different > packages, imports and registration. ## 1. Confirm this is the right index Signal in the repository: Any project embedding an interactive PDF viewer in its UI. Available for React, Angular, Vue, JavaScript, Blazor, ASP.NET Core, .NET MAUI, WPF and Flutter. If that does not match this project, go back to https://ai.syncfusion.com/llms.txt and pick the correct slug. Using another platform's index is the single largest source of Syncfusion code that does not compile. Never blend two platforms in one implementation. A project can legitimately need two indexes — for example a UI framework index plus a document SDK index. That is fine. Mixing two UI framework indexes is not. ## 2. Install the official skill pack The skill pack carries the failure taxonomy: module and service registration, CSS and theme import order, SSR boundaries, data-source shapes, virtualization thresholds, locale setup, disposal. Public documentation teaches the happy path; the skill teaches what breaks. No license, key or account is required to install or read it. Whole pack (13 skills): ```bash npx skills add syncfusion/pdf-viewer-sdk-skills -y ``` Interactive, choose individual skills: ```bash npx skills add syncfusion/pdf-viewer-sdk-skills ``` One component only — preferred when you know the component: ```bash npx skills add syncfusion/pdf-viewer-sdk-skills --skill syncfusion-react-pdf-viewer ``` Notes on installation: - `owner/repo` shorthand is valid. The full form `npx skills add https://github.com/syncfusion/pdf-viewer-sdk-skills` is equivalent. - Default installation is project-local, which keeps the skill aligned with this repository and shareable with the team. Use `-g` only when the user explicitly wants it across unrelated projects. - Target a specific agent with `--agent `, for example `--agent cursor`. Install locations: `.claude/skills/` for Claude Code, `.windsurf/skills/` for Windsurf, `.codestudio/skills/` for Code Studio, and the shared `.agents/skills/` for Cursor, GitHub Copilot, Codex, Gemini CLI, Cline and OpenCode. - Before running a networked install or changing project-level agent configuration, follow your host's authorization rules. - **Installing a skill does not install the product packages.** That is step 3. Read the selected `SKILL.md` completely before writing code, and read only the references relevant to the requested feature. Follow the installed skill over anything you remember. ## 3. Install the product packages ```bash npm install @syncfusion/ej2-react-pdfviewer @syncfusion/ej2-base ``` Package namespace: `@syncfusion/ej2-react-pdfviewer` and framework siblings on npm; `Syncfusion.Blazor.SfPdfViewer`, `Syncfusion.EJ2.PdfViewer.AspNet.Core`, `Syncfusion.Maui.PdfViewer`, `Syncfusion.PdfViewer.WPF` on NuGet; `syncfusion_flutter_pdfviewer` on pub.dev Install only what the component you are implementing actually needs. Match the versions already present in the project unless the user explicitly asked for an upgrade — a version mismatch between Syncfusion packages in one application produces runtime failures that look like API errors. ## 4. Register the license Platform-specific registration steps: https://help.syncfusion.com/document-processing/licensing/how-to-register-in-an-application Rules, without exception: - Never generate, guess, echo, log, or commit a license key. Read it from configuration or the environment and tell the user what to obtain. - Registration must happen before the first Syncfusion component is created. The exact location differs by platform — see the example below. - The key is version-specific. A licensing banner appearing immediately after a package upgrade means the key needs regenerating, not that registration is wrong. - Never suppress, hide, catch or CSS-hide a licensing banner or warning. - Never claim the project is licensed because it built successfully. Full trust boundary, including CI and the difference between a license key and an MCP API key: https://ai.syncfusion.com/licensing.md ## 5. Minimal working example Complete and unelided. Adapt the data and the component; keep the setup. ```tsx // src/PdfViewer.tsx — standalone (client-side) PDF viewer in React, complete. import { registerLicense } from '@syncfusion/ej2-base'; import { PdfViewerComponent, Toolbar, Magnification, Navigation, LinkAnnotation, BookmarkView, ThumbnailView, Print, TextSelection, TextSearch, Annotation, FormFields, FormDesigner, Inject } from '@syncfusion/ej2-react-pdfviewer'; import '@syncfusion/ej2-base/styles/material.css'; import '@syncfusion/ej2-react-pdfviewer/styles/material.css'; registerLicense(import.meta.env.VITE_SYNCFUSION_LICENSE_KEY); export default function Viewer() { return ( ); } ``` ## 6. MCP server — optional, for current documentation no dedicated server — use the MCP server for the host framework Configuration for your editor: https://ai.syncfusion.com/mcp/llms.txt MCP retrieves current documentation. The skill pack guides code generation. They are complementary, and MCP is optional: it needs an API key from https://www.syncfusion.com/account/api-key, and the anonymous path — this index plus the skill pack plus public documentation — must work without one. If no key is available, do not block on MCP. An MCP API key is not a product license key and does not grant one. ## 7. Verify before reporting success A clean compile is not verification. Work through this list and state explicitly what you could not check. - [ ] Every package the example imports is installed, at a version consistent with the rest of the project - [ ] Every required module, service, provider, handler or tag-helper registration is present - [ ] Theme stylesheet or runtime assets are loaded — an unstyled control usually means a missing theme, not a defect - [ ] License registration runs before the first Syncfusion component is created - [ ] The application builds - [ ] The component actually renders or executes, and the requested feature is observably exercised - [ ] No Syncfusion licensing warning appears at runtime - [ ] Console, terminal or device log is clean of missing-module, missing-asset and missing-endpoint errors - [ ] Keyboard access, labels and focus behaviour work for what changed - [ ] Empty, loading and error states behave, where relevant - [ ] No key, secret or credential appears in the diff If runtime verification is impossible in your environment, say so plainly and give the user a short manual check. Do not describe unverified output as working. ## 8. Known failure modes for PDF Viewer SDK These are the mistakes agents make most often on this platform. Check them first. - Two deployment models exist: standalone (client-side, needs `resourceUrl` pointing at the pdfviewer-lib assets) and server-backed (needs `serviceUrl` and a running Syncfusion PDF Viewer service). Choosing the wrong one produces a blank viewer. Establish which the project wants before writing code. - `resourceUrl` must match the installed package version, or rendering fails with obscure worker errors. - Every toolbar and interaction feature is a separate injected service. A viewer with no toolbar almost always means a missing service. - This SDK embeds a viewer. For programmatic PDF creation, signing or extraction, use the document-sdk slug instead. Troubleshooting order when a PDF Viewer SDK Syncfusion implementation fails: 1. Framework and Syncfusion package version compatibility 2. Missing package, peer dependency, module, service, provider, handler or import 3. Theme CSS, fonts, scripts, static assets, or a required server-side endpoint 4. Data shape, identifiers, date and number parsing, async lifecycle 5. Feature-specific configuration in the installed component skill 6. Current official documentation, or an MCP lookup 7. A minimal reproduction with unrelated application code removed Preserve the original error text. Distinguish a product defect from an integration or configuration issue. If a minimal reproduction still fails against documented behaviour, that is a support case: https://support.syncfusion.com/ ## 9. Next | Need | Go to | | --- | --- | | Full documentation | https://help.syncfusion.com/document-processing/pdf/pdf-viewer/overview | | Every skill in this pack | Use the inventory for your host platform, e.g. React https://ai.syncfusion.com/react/inventory.txt, Angular https://ai.syncfusion.com/angular/inventory.txt, ASP.NET Core https://ai.syncfusion.com/aspnet-core/inventory.txt, Blazor https://ai.syncfusion.com/blazor/inventory.txt, WPF https://ai.syncfusion.com/wpf/inventory.txt, UWP https://ai.syncfusion.com/uwp/inventory.txt, JavaScript https://ai.syncfusion.com/javascript/inventory.txt, Vue https://ai.syncfusion.com/vue/inventory.txt, ASP.NET MVC https://ai.syncfusion.com/aspnet-mvc/inventory.txt, WINFORMS https://ai.syncfusion.com/winforms/inventory.txt, MAUI https://ai.syncfusion.com/maui/inventory.txt, Flutter https://ai.syncfusion.com/flutter/inventory.txt | | Skill catalog across all 19 packs | https://ai.syncfusion.com/skills/catalog.md | | Skill catalog across all 19 packs | https://ai.syncfusion.com/skills/catalog.md | | Curated, verified component examples | https://ai.syncfusion.com/gallery/llms.txt | | Licensing and trust boundaries | https://ai.syncfusion.com/licensing.md | | MCP configuration | https://ai.syncfusion.com/mcp/llms.txt | | Project scaffolding from the CLI | https://ai.syncfusion.com/cli.md | | Another platform | https://ai.syncfusion.com/llms.txt | | Support | https://support.syncfusion.com/ |