Lightweight, fast and native Office-to-PDF libraries and command-line tools for Rust, .NET, Java, Python, JS, and Go.
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Italiano | Français
Online Demo · Releases · Report an issue
Your star or donation can make MiniPdf better
🤝 Looking for co-developers: Quick contribution
MiniPdf converts Office documents directly to PDF without Microsoft Office, LibreOffice, Adobe Acrobat, or COM automation at runtime.
| Implementation | Inputs | Interfaces | Maturity | Documentation | Visual results |
|---|---|---|---|---|---|
| .NET | XLSX, DOCX, PPTX | Library, CLI, Native AOT binaries | Stable | .NET guide | XLSX DOCX PPTX |
| Rust | XLSX, DOCX, PPTX | Crate, CLI | Stable | Rust guide | XLSX DOCX |
| Java | XLSX, DOCX, PPTX | Library, CLI | Experimental | Java source | XLSX DOCX |
| Python | DOCX | Package, CLI | Stable | Python guide | XLSX DOCX |
| Node.js | XLSX, DOCX, PPTX | Native package | Stable | Node.js guide | XLSX DOCX |
| Go | XLSX, DOCX, PPTX | Package, CLI | Experimental | Go guide | XLSX |
dotnet add package MiniPdfusing MiniSoftware;
MiniPdf.ConvertToPdf("report.docx", "report.pdf");Prefer a command-line tool?
dotnet tool install --global MiniPdf.Cli
minipdf report.docx -o report.pdfSee the .NET guide for usage.
cargo add minipdf
cargo install minipdf-climinipdf::convert_to_pdf("report.docx", "report.pdf")?;minipdf report.docx -o report.pdfSee the Rust guide for usage.
import io.github.minisoftware.minipdf.MiniPdf;
import java.nio.file.Files;
import java.nio.file.Path;
try {
MiniPdf.registerFont(
"Noto Sans",
Files.readAllBytes(Path.of("fonts/NotoSans-Regular.ttf")));
MiniPdf.convertToPdf(Path.of("report.docx"), Path.of("report.pdf"));
} finally {
MiniPdf.clearRegisteredFonts();
}See the Java guide for usage.
```python
import minipdf
minipdf.convert_to_pdf("report.docx", "report.pdf")
See the Python guide for usage.
npm install minipdfconst minipdf = require('minipdf')
minipdf.convertToPdf('report.docx', 'report.pdf')See the Node.js guide for usage.
go get github.com/mini-software/MiniPdf/minipdf-go@latestimport minipdf "github.com/mini-software/MiniPdf/minipdf-go"
if err := minipdf.ConvertToPDF("report.docx", "report.pdf"); err != nil {
panic(err)
}See the Go guide for usage.
- 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.
- Multiple language options: use MiniPdf from .NET, Rust, Java, Python, Node.js, or Go.
- Native command-line options: available for .NET, Rust, Java, Python, and Go.
- 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.
Open a clean fork or clone in any coding agent, then paste this prompt into the agent chat:
Run the minipdf-contribution skill.
| Resource | Description |
|---|---|
| Online demo | Try conversion in a browser |
| .NET documentation | Stable library and CLI usage |
| Rust documentation | Experimental crate and CLI usage |
| Java implementation | Experimental Maven library and CLI source |
| Python documentation | Experimental package and CLI usage |
| Node.js documentation | Experimental native package usage |
| Go documentation | Experimental package and CLI usage |
| .NET XLSX benchmark | Visual comparison results for spreadsheets |
| .NET DOCX benchmark | Visual comparison results for documents |
| Rust XLSX benchmark | Rust spreadsheet visual comparison results |
| Rust DOCX benchmark | Rust document visual comparison results |
| Rust benchmark workflow | Generate fixture coverage and comparison reports |
| Community governance | Decisions, roles, voting, and maintainer selection |
| Roadmap | Project scope, implementation status, and current priorities |
| Security | Private vulnerability reporting and supported versions |
| Contributing | Development setup, tests, reviews, and provenance requirements |
| GitHub releases | Packages and standalone binaries |
| Issues | Bugs, compatibility reports, and feature requests |
Apache License 2.0. Commercial use is welcome