VDocs 2026.7.1

dotnet add package VDocs --version 2026.7.1
                    
NuGet\Install-Package VDocs -Version 2026.7.1
                    
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.7.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VDocs" Version="2026.7.1" />
                    
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.7.1
                    
#r "nuget: VDocs, 2026.7.1"
                    
#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.7.1
                    
#: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.7.1
                    
Install as a Cake Addin
#tool nuget:?package=VDocs&version=2026.7.1
                    
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.7.1 0 7/26/2026
2026.6.3 106 6/24/2026
2026.6.2 111 6/15/2026
2026.6.1 109 5/30/2026
2026.5.1 117 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
Loading failed

📦 VDocs – Release Notes
🚀 Version: 2026.7.1

═══════════════════════════════════════════
🖼️ New Feature: Image Mapping to PDF Support
We are excited to announce full image embedding support in the VDocs PDF export engine! This release adds the ability to render images directly into PDF documents, significantly expanding the document generation capabilities of the VDocs framework.
═══════════════════════════════════════════

📸 Image Embedding in PDF Export
- Base64 Image Support – Images can now be embedded directly from base64-encoded strings.

- Raw Byte Array Support – Images can also be embedded from raw byte arrays.

- Auto-Format Detection – The PDF engine automatically detects and handles JPEG and PNG formats.

- Proper PDF XObject Integration – Images are embedded as PDF XObjects with correct dictionaries for maximum compatibility.

🖼️ Image Rendering Features

- Position and Dimensions – Images respect Transform.Position and Transform.Dimensions for precise placement on the page.

- Auto-Dimension Detection – When dimensions are not specified, the PDF engine automatically detects image dimensions from the image metadata.

- JPEG Support – Full support for JPEG images using /DCTDecode filter.

- PNG Support – Full support for PNG images using /FlateDecode with proper /DecodeParms.

- Placeholder Fallback – If image data is missing, a placeholder rectangle with diagonal cross is rendered to indicate where the image should appear.

🔧 Technical Improvements

- Pure .NET Implementation – No external image processing libraries required.

- Memory Efficient – Images are embedded directly into the PDF stream without intermediate copies.

- Resource Management – Images are registered once and referenced by name, minimizing file size.