| name | syncfusion-dotnet-pdf |
| description | Create, read, edit, secure, sign, and convert PDF documents (.pdf) using Syncfusion PDF Library for .NET. Use this skill for PDF processing and document automation when the user asks to generate PDF files, modify PDF content, add security or signatures, extract text or images, merge or split PDFs, or perform PDF/A conversion using C# code or CSX execution. |
| metadata | {"author":"Syncfusion Inc","version":"34.1.29"} |
PDF Document Processing
Overview
Create, read, write, and convert PDF files using the Syncfusion PDF Library. This skill supports two operational modes — generating C# code for the user's project or executing tasks directly through a CSX script.
Key Capabilities
- Create & Edit: PDF files from scratch, text, images (various formats), tables, shapes, paragraphs, headings, styles, lists, hyperlinks, bookmarks, headers/footers, watermarks, template management, metadata editing
- Forms & Interactive Elements: Create, fill, and flatten forms (AcroForms and XFA), bookmarks, annotations, attachments, buttons, and content controls
- Advanced Features: Comments, layers (add, remove, flatten), PDF portfolios, JavaScript execution, 3D model embedding and interaction, rich media content (audio/video), optical character recognition (Tesseract engine), text redaction, image redaction, digital signatures and validation
- Conversion: XPS to PDF, PDF to PDF/A conformance, extract text and images from PDF documents
- Security: Password encryption/decryption, advanced encryption standards, document protection with editable ranges, macro management, digital signing capabilities
- Barcodes & Standards: 1D barcodes, 2D barcodes, ZUGFeRD invoice support, PDF/A-1B, PDF/A-1A, PDF/A-2B, PDF/A-2A, PDF/A-2U, PDF/A-3B, PDF/A-3A, PDF/A-3U, PDF/A-4, PDF/A-4E, PDF/A-4F, PDF/X1-A conformances, Accessible PDF/Tagged PDF (PDF/UA) with Section 508 compliance
- Additional Operations: Merge and split PDF files, open and modify existing PDF files, compress PDF files, corrupted PDF detection.
Quick Start Examples
Example 1: Generate Code (Mode 1)
User: "Show me the C# code to create a PDF with a title, a heading, and a paragraph."
Result: C# code snippet displayed (no files created)
Example 2: Execute Task (Mode 2)
User: "Generate a meeting agenda document and save it to output/agenda.pdf."
Result: Physical file created at specified path
Two Modes — Choose Based on User Intent
Mode 1: Generate C# Code for the User's Project (default)
Trigger keywords: "code", "snippet", "how to write", "Program.cs", "show me", "sample", "example code", "generate code for".
Workflow:
- Build the C# code using snippets from
references/*.md files and replace placeholders with actual content
- Add the code directly into the user's project files (e.g.,
Program.cs)
- Do not create or run any
.csx script
Note: Use Syncfusion.Drawing namespace for this code for cross-platform projects, not System.Drawing. This ensures compatibility across Windows, macOS, and Linux.
Note: If Syncfusion.Pdf.Net.Core package is suggested, then must be use the Syncfusion.Drawing namespace for graphics operations instead of System.Drawing to ensure cross-platform compatibility. The Syncfusion.Pdf.Net.Core package is designed to work with the Syncfusion.Drawing namespace, which provides a consistent API for drawing operations across different platforms. Using System.Drawing may lead to compatibility issues, especially on non-Windows platforms, as it relies on GDI+ which is not fully supported outside of Windows. Therefore, always use Syncfusion.Drawing when working with PDF graphics in a cross-platform context.
Note: If RectangleF, PointF, SizeF, or Color types are needed, use the ones from Syncfusion.Drawing namespace for cross-platform compatibility, not the ones from System.Drawing. This ensures that the code will work correctly on Windows, macOS, and Linux without relying on GDI+.
Mode 2: Execute via CSX Script (does not touch project files)
Trigger keywords: "create a pdf document", "make a document", "generate a document", "open", "edit", "modify", "change" a .pdf file, "without modifying my project", "run a csx script", or when the user provides a file path (e.g., output/report.pdf).
Workflow:
- Create
{skill-root}/syncfusion-dotnet-pdf/scripts/temp-{timestamp}.csx using references/template.csx as the base or references/template-ocr.csx for OCR-specific operations. Example, skill-root = .github/skills.
- Add required operations from
references/*.md snippets and replace placeholders with actual content
- Run:
dotnet script {skill-root}/syncfusion-dotnet-pdf/scripts/temp-{timestamp}.csx
- Delete the temp script after execution
- Report SUCCESS/ERROR and show the output file path
Note: Use Syncfusion.Drawing namespace for this csx script, not System.Drawing.
Code References
All templates and snippets are in the references/ folder:
| File | Contents |
|---|
| template.csx | Core CSX script template (used in Mode 2) |
| document-structure.md | Document lifecycle: create, save, close; sections and page setup |
| open-pdf.md | Open existing PDFs from file stream, byte array, encrypted files, corrupted documents, and cloud storage (Azure Blob, AWS S3, Google Drive, Google Cloud Storage, Dropbox) |
| save-pdf.md | Save new and loaded PDFs to file path, MemoryStream, byte array, and cloud storage (Azure Blob, AWS S3, Google Drive, Google Cloud Storage, Dropbox) |
| pages.md | Add, insert, remove, rotate, rearrange, import, and configure pages; page count, blank detection, page labels, section numbering, PageAdded event, and page-level actions |
| pdf-graphics.md | Working with PdfGraphics: text, images, and shapes |
| shapes.md | Draw shapes: lines, rectangles, ellipses, polygons, arcs, bezier curves, paths |
| brushes.md | Fill shapes with solid, linear gradient, radial gradient, tiling, and hatch brushes; PdfBrushes static colors; combine pen and brush |
| images.md | Insert, draw, replace, remove, clip, transform, and paginate raster images (JPEG, PNG, BMP, GIF, TIFF, ICO); image masking; multi-page TIFF to PDF; unit conversion for image placement |
| text.md | Draw text with standard, TrueType, OpenType, and CJK fonts; alignment, RTL, complex scripts, HTML styled text, multi-column, paginated text flow, ordered/unordered lists, string measurement, text clipping detection, and unit conversion |
| conversions.md | Conversion guidance for scenarios such as complex HTML-to-PDF conversion that require converter APIs instead of direct drawing APIs |
| merge-pdf.md | Merge multiple PDFs into one file |
| split-pdf.md | Divide a single PDF into separate files |
| compress-pdf.md | Reduce and optimize PDF file size |
| extract-text.md | Retrieve text content from PDFs and find text within it |
| extract-image.md |
Rules
- Output files go in
./output/ directory
- Temp
.csx scripts must be created inside {skill-root}/syncfusion-dotnet-pdf/scripts/ — never in the workspace root or customer scripts/ folder
- Use license key from
SyncfusionLicense.txt at workspace root
- Never use Python libraries (e.g., python-pdf)
- Never leave temp
.csx files after execution
- Always use the latest NuGet package version
Prerequisites
Documentations