VDocs 2026.6.3

dotnet add package VDocs --version 2026.6.3
                    
NuGet\Install-Package VDocs -Version 2026.6.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VDocs" Version="2026.6.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VDocs" Version="2026.6.3" />
                    
Directory.Packages.props
<PackageReference Include="VDocs" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add VDocs --version 2026.6.3
                    
#r "nuget: VDocs, 2026.6.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package VDocs@2026.6.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=VDocs&version=2026.6.3
                    
Install as a Cake Addin
#tool nuget:?package=VDocs&version=2026.6.3
                    
Install as a Cake Tool

⚡ VDocs – The Lightweight, High-Performance .NET Document Framework

NuGet Version NuGet Downloads License Platform Targets


VDocs – High-Performance .NET Document Framework

VDocs is a high-performance, standalone .NET document processing framework designed for developers who need full control over Word (DOCX) and PDF files — without relying on the OpenXML SDK, Microsoft Word Interop, or any third-party PDF library.

Built on a fully custom Document Object Model (DOM), VDocs provides deep access to WordprocessingML and supports bidirectional mapping between the DOM and the underlying XML. The same unified DOM now drives three output engines: DOCX, HTML, and PDF — all from a single document representation.

VDocs is ideal for:

  • Document preview and rendering
  • Reporting and automated document generation
  • PDF export pipelines with no external dependencies
  • HTML export pipelines
  • Content transformation workflows
  • Server-side document processing in cloud applications
  • Document preview in web applications

🚀 Why Choose VDocs?

VDocs is 3x faster than OpenXML SDK and weighs just 255 KB – a complete, standalone .NET document processing framework built from the ground up for maximum performance and minimal footprint.

✨ Key Advantages Over OpenXML SDK

Feature VDocs OpenXML SDK
Package Size 255 KB (Ultra-lightweight) ~4 MB (Heavy)
Performance 🚀 3× Faster document processing Standard speed
Dependencies Zero external dependencies Multiple dependencies
Memory Usage 📉 Minimal memory footprint High memory consumption
Learning Curve 🎯 Intuitive DOM API Complex low-level API
HTML Export Built-in Word → HTML engine ❌ Requires additional libraries
PDF Export Built-in DOM → PDF engine (pure C#) ❌ Not supported
Cross-Platform Windows, Linux, macOS ✅ Windows, Linux, macOS

🏆 Performance Benchmarks

Operation VDocs OpenXML SDK Improvement
Create 100-page document 0.8s 2.4s 300% faster
Load and parse document 0.3s 1.1s 367% faster
Memory usage (100 pages) 45 MB 140 MB 311% less memory
Save to DOCX 0.5s 1.7s 340% faster

Benchmarks conducted on .NET 8, 16 GB RAM, Intel i7 processor.


🚀 Features

📄 Complete Word Document Support

  • Create, edit, and save Word (.docx) documents
  • Paragraphs, runs, text, tables, lists, images, shapes, charts, and more
  • Headers, footers, page numbering, sections

🧱 Rich Document Object Model (DOM)

  • High-level abstractions for every major Word element
  • Clean, intuitive C# API for styling & layout
  • Custom-built DOM optimized for speed
  • Lazy loading and intelligent caching
  • Minimal memory overhead

🔄 Word XML ↔ DOM Mapping

  • Full bidirectional mapping
  • Load any DOCX file and manipulate via DOM
  • No loss of formatting or metadata
  • Full control over WordprocessingML
  • Save DOM changes back to DOCX, HTML, or PDF

🌐 Word → HTML Conversion Engine

  • Convert Word documents to semantic HTML
  • Preserves formatting, styles, and layout
  • Generates clean, maintainable CSS
  • Perfect for document previews and web publishing

🆕 DOM → PDF Export Engine (Pure C#)

  • Generate PDF files directly from the VDocs DOM — no third-party PDF library required
  • Built on the raw PDF specification (ISO 32000); produces spec-compliant PDF 1.7 output
  • Supports all Standard-14 fonts (Helvetica, Times, Courier) with precise AFM text measurement
  • Full text styling: bold, italic, underline, strikethrough, font size, and color
  • Automatic word-wrap and paragraph alignment (left, center, right, justify)
  • Table rendering with borders, cell padding, background shading, and column spans
  • Image embedding (JPEG and PNG)
  • Headers and footers with page number tokens
  • Hyperlinks and document metadata (/Title, /Author, /Subject)
  • Optional FlateDecode (zlib) stream compression
  • Multi-page documents with configurable page sizes (A4, Letter, Legal, and custom)

🎨 Advanced Styling & Graphics

  • Borders, margins, spacing, alignment
  • Gradients, fills, shapes, outlines
  • Text effects (outline, glow, shadow, reflections, 3D effects, gradient)

🛠 Enterprise-Ready

  • Commercial license with support
  • Regular updates and security patches
  • Comprehensive documentation
  • Professional technical support available

📦 Installation

dotnet add package VDocs

💻 Quick Start

Create a Simple Document

using VDocs;

// Create document - 3x faster than OpenXML
var doc = new VDocs();
doc.LicensePath = "VDocsLicense.lic";

// Add content with intuitive API
doc.AddText("Hello, World!")
    .Style = new TextStyle
    {
        Font = new Font
        {
            Latin = new FontPart { FontName = "Arial", Size = 24, IsBold = true },
            Color = Color.Blue
        }
    };

// Save as DOCX
doc.Save("HelloWorld.docx");

// Save as PDF — same document, no extra code
doc.SaveAsPdf("HelloWorld.pdf");

Convert Word to PDF

var doc = WordDocument.Load("report.docx");

// Export to PDF with no third-party libraries
doc.SaveAsPdf("report.pdf");

Convert Word to HTML

var doc = WordDocument.Load("report.docx");

// Convert to HTML — perfect for web preview
doc.SaveAsHTML("report.html");

Create a PDF Report from Scratch

var doc = new VDocs();
doc.LicensePath = "VDocsLicense.lic";

// Add header
var header = doc.AddHeader(HeaderFooterType.Default);
header.AddText("Monthly Report")
    .Style = new TextStyle
    {
        Font = new Font
        {
            Latin = new FontPart { FontName = "Arial", Size = 24, IsBold = true }
        }
    };

// Add table with data
var table = new Table(4, 3);
table[0, 0].AddText("Month");
table[0, 1].AddText("Revenue");
table[0, 2].AddText("Growth");

table[1, 0].AddText("January");  table[1, 1].AddText("$15,000"); table[1, 2].AddText("12%");
table[2, 0].AddText("February"); table[2, 1].AddText("$18,500"); table[2, 2].AddText("23%");
table[3, 0].AddText("March");    table[3, 1].AddText("$22,000"); table[3, 2].AddText("19%");

table.Style = new TableStyle
{
    Borders = new TableBorder(BorderValues.single, Color.Gray, 1)
};

doc.AddTable(table);

// Export to all three formats from the same DOM
doc.Save("MonthlyReport.docx");
doc.SaveAsPdf("MonthlyReport.pdf");
var htmlReport = doc.GetHTML();

Text and Paragraphs

var doc = new VDocs();
doc.LicensePath = "VDocsLicense.lic";

var text1 = doc.AddText("Add text directly to the document body in a new paragraph.");
text1.Style = new TextStyle
{
    Font = new Font
    {
        Color = Color.Red,
        Latin = new FontPart { FontName = "Arial", Size = 14, IsBold = true }
    }
};

var paragraph1 = doc.AddParagraph();
paragraph1.Style = new ParagraphStyle
{
    Indent = new ParagraphIndentation
    {
        Left  = new DocumentUnit { Inch = 1 },
        Right = 0.5
    },
    SpacingBetweenLines = new Spacing
    {
        Before = new DocumentUnit { CM = 2 },
        After  = new DocumentUnit { Point = 20 }
    }
};

paragraph1.AddText("Add text to paragraph")
    .Style = new TextStyle
    {
        TextEffect = new TextEffect
        {
            GlowEffect = new Glow
            {
                GlowRadius = 5.0,
                GlowColor  = new Color { A = 128, R = 0, G = 0, B = 255 }
            }
        }
    };

doc.Save("TextSample.docx");
doc.SaveAsPdf("TextSample.pdf");

Create a Shape

var doc = new VDocs();
doc.LicensePath = "VDocsLicense.lic";

var shape = doc.AddParagraph().AddShape(new Shape());
shape.Type = ShapeType.Triangle;

shape.Transform = new Transform
{
    Dimensions = new Dimensions { Height = 50.0, Width = 50.0 },
    Position   = new Position
    {
        X = 100.0, Y = 100.0,
        HorizontalIsAbsolute = true,
        VerticalIsAbsolute   = true,
        HorizontalRelativePosition = HorizontalRelativePositionValues.page,
        VerticalRelativePosition   = VerticalRelativePositionValues.page
    }
};

shape.Fill = new Fill
{
    SolidFill = new Color { SchemeColorValue = SchemeColorValues.Accent1, Shade = 5 }
};

shape.OutLine = new OutLine
{
    SolidFill   = new Color("FF0000"),
    CapType     = LineCapValues.Flat,
    Width       = new DocumentUnit { Point = 3 },
    CompoundType = CompoundLineValues.Single,
    Jointype    = StrokeJoinStyleValues.Round
};

doc.Save("ShapeSample.docx");

Create a Table

var doc = new VDocs();
doc.LicensePath = "VDocsLicense.lic";

var table = new Table(3, 2);
table[0, 0].AddText("Name");
table[0, 1].AddText("Age");
table[1, 0].AddText("John Smith");
table[1, 1].AddText("55");

table.Style = new TableStyle
{
    Borders = new TableBorder(BorderValues.single, new Color("acacac"), 2)
};

doc.AddTable(table);
doc.LogObjectTree();
doc.Save("TableSample.docx");

// Export the same table to PDF
doc.SaveAsPdf("TableSample.pdf");

Insert an Image

var doc = new VDocs();
doc.LicensePath = "VDocsLicense.lic";

var img1 = doc.AddImage("C:/logo.png");
img1.Transform = new Transform
{
    Dimensions = new Dimensions(150, 150, Units.pt),
    Rotation   = 90,
    Position   = new Position { X = 1.1, Y = 0.5 }
};

doc.Save("ImageSample.docx");
doc.SaveAsPdf("ImageSample.pdf");

Web Document Preview

// Server-side: Convert uploaded Word document to HTML for browser preview
public IActionResult PreviewDocument(IFormFile file)
{
    using var stream = new MemoryStream();
    file.CopyTo(stream);
    var doc = WordDocument.Load(stream);
    return Content(doc.ToHtml(), "text/html");
}

On-Demand PDF Generation

// Server-side: Stream a PDF to the browser with no temp files
public IActionResult DownloadAsPdf(IFormFile file)
{
    using var input  = new MemoryStream();
    using var output = new MemoryStream();
    file.CopyTo(input);
    var doc = WordDocument.Load(input);
    doc.SaveAsPdf(output);
    return File(output.ToArray(), "application/pdf", "document.pdf");
}

Batch Document Conversion

// Convert an entire folder of DOCX files to both HTML and PDF
public void ConvertFolder(string folderPath)
{
    foreach (var docxFile in Directory.GetFiles(folderPath, "*.docx"))
    {
        var doc      = WordDocument.Load(docxFile);
        var htmlFile = Path.ChangeExtension(docxFile, ".html");
        var pdfFile  = Path.ChangeExtension(docxFile, ".pdf");

        File.WriteAllText(htmlFile, doc.ToHtml());
        doc.SaveAsPdf(pdfFile);
    }
}

📈 Why Developers Love VDocs

✅ "Switched from OpenXML and reduced our document processing time by 70%!"

✅ "The HTML export feature saved us months of development time."

✅ "The PDF engine produces clean output with zero dependencies — no iTextSharp, no licenses."

✅ "Incredibly lightweight — our container image went from 500MB to 50MB."

✅ "The API is so much cleaner than OpenXML — our codebase is now maintainable."


📚 Documentation & Support

📖 Full Documentation — Complete API reference and guides

📧 Professional Support — Priority email support for commercial licenses


🏢 Licensing

VDocs is available under a commercial license. Free trial available for evaluation.

Get your license: https://vegarise.com/Products/VDocs

Free 30-day trial — Contact sales@vegarise.com for a trial license key or download from this link.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.6.3 106 6/24/2026
2026.6.2 111 6/15/2026
2026.6.1 109 5/30/2026
2026.5.1 116 5/12/2026
2026.4.2 111 4/30/2026
2026.4.1 118 4/18/2026
2026.3.1 128 2/27/2026
2026.2.1 123 2/10/2026
2026.1.3 130 2/6/2026
2026.1.2 137 2/1/2026
2026.1.1 135 1/24/2026
2025.12.4 161 12/31/2025
2025.12.3 234 12/25/2025
2025.12.2 309 12/16/2025
2025.12.1 635 12/1/2025
2025.11.3 456 11/20/2025
2025.11.2 251 11/14/2025
2025.11.1 257 11/14/2025
2025.10.1 239 11/3/2025
Loading failed

📦 VDocs – Release Notes
🚀 Version: 2026.6.3

═══════════════════════════════════════════
🆕 NEW: DOM → PDF Export Engine (Pure C#)
═══════════════════════════════════════════

VDocs now includes a built-in PDF generation engine that produces spec-compliant PDF 1.7
output directly from the VDocs DOM — with zero third-party dependencies.

📄 PDF Output Features
- Text rendering with Standard-14 fonts (Helvetica, Times, Courier and all variants)
- Precise AFM-based character width measurement for accurate text layout
- Automatic word-wrap and multi-line paragraph layout
- Paragraph alignment: left, center, right, and justify
- Full text styling: bold, italic, underline, strikethrough, font size, and RGB color
- Table rendering with borders, cell padding, background shading, and column spans
- Image embedding: JPEG and PNG (raw stream, no re-encoding)
- Headers and footers with page number token substitution
- Clickable hyperlinks (/URI annotations)
- Document metadata: /Title, /Author, /Subject, /Creator, /Producer
- Optional FlateDecode (zlib) stream compression
- Multi-page support with configurable page sizes (A4, Letter, Legal, and custom)
- Configurable page margins (default, narrow, wide, or fully custom)

🏗 Architecture
- Built on raw PDF object model (PdfDictionary, PdfStream, PdfArray, etc.)
- Cross-reference table and trailer written per ISO 32000-1 §7.5
- Single-pass serialisation with byte-offset tracking
- Font resources registered once per document and shared across pages
- Style resolution layer bridges existing DOM styles to PDF primitives
- Fully compatible with .NET Standard 2.0, .NET Framework 4.7.2, and .NET 6–9

💡 Usage
- doc.SaveAsPdf("output.pdf")        — save to file
- doc.SaveAsPdf(outputStream)        — save to any Stream
- Vdocs.Load("file.docx").SaveAsPdf("file.pdf")  — one-line conversion

═══════════════════════════════════════════
Previous: Shape-to-HTML Rendering (2026.6.1)
═══════════════════════════════════════════

✨ Major Improvements to Shape-to-HTML Conversion

🎨 Expanded Shape Support
- Added support for 250+ shape types during HTML export
- Accurate rendering of basic shapes, arrows, stars, flowchart symbols,
  brackets, callouts, action buttons, and more

🖌 Rich Visual Styling
- Solid fill colors, linear gradient fills, pattern and shading support
- Outline colors and styles, stroke dash patterns, line caps and joins
- Rotation, positioning, dimensions, scaling, and layer ordering (z-index)

📐 Enhanced SVG Generation
- Shapes rendered as standards-compliant SVG elements
- Custom path definitions preserved when available
- Intelligent path generation for built-in shape types

🔄 Improved Layout Preservation
- Shape transform properties accurately translated: position, rotation,
  scaling, margins, size, and dimensions

🛡 Reliability Improvements
- Graceful fallback rendering for unsupported or custom shapes
- Improved compatibility across modern web browsers
- No breaking API changes; existing HTML export workflows remain fully compatible