A comprehensive demo solution showcasing the full capabilities of Exis.PdfEditor — a high-performance .NET library for creating, editing, and processing PDF documents.
| Project | Type | Description |
|---|---|---|
| Console Demo | CLI | 11 interactive demos covering every feature |
| WPF Demo | Desktop | Modern MVVM app with tabbed interface |
| WinForms Demo | Desktop | Drag-and-drop UI with batch processing |
| Feature | Description |
|---|---|
| Find & Replace | Single, batch, regex replacements with TextFitting and page ranges |
| Merge & Split | Combine PDFs, split by page count, extract specific pages |
| PDF Builder | Create documents from scratch with text, shapes, and images |
| Report Generator | Auto-layout multi-page business reports with tables and branding |
| Form Filling | Read, fill, and flatten PDF form fields |
| Redaction | Text, regex, and area-based redaction with replacement options |
| Optimization | Reduce file size with default or aggressive compression profiles |
| Text Extraction | Simple and structured text extraction with layout preservation |
| PDF/A Compliance | Validate and convert documents to PDF/A-1b, 2b, or 3b |
| Digital Signatures | Sign with certificates, verify single and batch signatures |
# Clone
git clone https://github.com/AkisExis/ExisPdfDemoApps.git
cd ExisPdfDemoApps
# Build all projects
dotnet build ExisPdfDemoApps.slnx
# Run the Console demo
dotnet run --project src/Exis.PdfEditor.Demo.Consoleusing var editor = await PdfEditor.OpenAsync("template.pdf");
editor.FindReplace(new Dictionary<string, string>
{
["{{NAME}}"] = "Acme Corporation",
["{{DATE}}"] = DateTime.Now.ToString("yyyy-MM-dd"),
["{{AMOUNT}}"] = "$1,250.00"
});
await editor.SaveAsync("filled.pdf");using var builder = new PdfBuilder();
builder.AddPage()
.SetFont("Helvetica", 24)
.DrawText("Hello, World!", 50, 750)
.SetFillColor(37, 99, 235)
.DrawRectangle(50, 700, 200, 2);
await builder.SaveAsync("created.pdf");await PdfEditor.MergeAsync(
new[] { "report.pdf", "appendix.pdf", "cover.pdf" },
"combined.pdf"
);using var editor = await PdfEditor.OpenAsync("large-file.pdf");
await editor.OptimizeAsync(OptimizationProfile.Aggressive);
await editor.SaveAsync("optimized.pdf");
// Typical reduction: 40-70%using var editor = await PdfEditor.OpenAsync("contract.pdf");
await editor.SignAsync(new SignatureOptions
{
CertificatePath = "cert.pfx",
CertificatePassword = "password",
Reason = "Approval"
});
await editor.SaveAsync("signed.pdf");- .NET 8.0 SDK or later
- Windows 10/11 for WPF and WinForms projects
- Console project runs on Windows, Linux, and macOS
ExisPdfDemoApps/
├── ExisPdfDemoApps.slnx
├── src/
│ ├── Exis.PdfEditor.Demo.Console/ # 11 interactive CLI demos
│ ├── Exis.PdfEditor.Demo.Wpf/ # Modern MVVM desktop app
│ └── Exis.PdfEditor.Demo.WinForms/ # Classic desktop with drag-drop
├── docs/
│ ├── GETTING_STARTED.md
│ ├── API_QUICK_REFERENCE.md
│ └── FEATURE_COMPARISON.md
└── samples/ # Place your test PDFs here
- Getting Started — Setup, build, and run instructions
- API Quick Reference — Key classes and methods at a glance
- Feature Comparison — What each demo project covers
This demo solution is licensed under the MIT License.
Exis.PdfEditor is a commercial library. Evaluation mode is fully functional with a small watermark on output. Visit the NuGet page for licensing options.
Built with Exis.PdfEditor v1.5.2