MiniPdf

August 23, 2026 · View on GitHub

MiniPdf

Lightweight Office-to-PDF libraries and command-line tools for .NET and Rust.

NuGet crates.io GitHub stars DOI License

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Italiano | Français

Online Demo · Releases · Report an issue

MiniPdf converts Office documents directly to PDF without Microsoft Office, LibreOffice, Adobe Acrobat, or COM automation at runtime. Choose the implementation that matches your project.

Choose an implementation

.NETRust
StatusStable, full implementationExperimental, under active development
InputsXLSX, DOCX, PPTX, PDF mergeXLSX, DOCX
Interfaces.NET library, CLI, standalone Native AOT binariesRust crate, CLI
Content extractionMarkdown, JSON, semantic .NET modelNot yet available
DocumentationOpen the .NET guideOpen the Rust guide

For production use and the broadest document support, start with .NET. Choose Rust when you want a native Rust dependency and can work within its current conversion scope.

Quick start

.NET

dotnet add package MiniPdf
using MiniSoftware;

MiniPdf.ConvertToPdf("report.docx", "report.pdf");

Prefer a command-line tool?

dotnet tool install --global MiniPdf.Cli
minipdf report.docx -o report.pdf

The .NET guide covers conversion, content extraction, PDF merge, custom fonts, CLI options, and deployment.

Rust

cargo add minipdf
cargo install minipdf-cli
minipdf::convert_to_pdf("report.docx", "report.pdf")?;
minipdf report.docx -o report.pdf

The Rust guide documents the crate API, CLI, supported features, known gaps, and development workflow.

Why MiniPdf

  • No office suite required: conversion runs inside your application or CLI.
  • Small deployment surface: minimal dependencies and no external process.
  • Server and CI friendly: works in containers, cloud services, and pipelines.
  • Native command-line options: .NET Native AOT releases and a Rust CLI.
  • Open development: Apache 2.0 licensed with reproducible visual benchmarks.

MiniPdf targets practical document conversion, not complete Microsoft Office layout compatibility. Complex templates may render differently; use the online demo or benchmark reports to evaluate representative files.

Project resources

ResourceDescription
Online demoTry conversion in a browser
.NET documentationStable library and CLI usage
Rust documentationExperimental crate and CLI usage
.NET XLSX benchmarkVisual comparison results for spreadsheets
.NET DOCX benchmarkVisual comparison results for documents
Rust benchmark workflowGenerate fixture coverage and comparison reports
GitHub releasesPackages and standalone binaries
IssuesBugs, compatibility reports, and feature requests

License

Apache License 2.0. Commercial use is welcome; retain the required notices and attribution.

Your star or donation helps sustain the project.