OfficeIMO.Word.Pdf
1.0.39
Prefix Reserved
See the version list below for details.
dotnet add package OfficeIMO.Word.Pdf --version 1.0.39
NuGet\Install-Package OfficeIMO.Word.Pdf -Version 1.0.39
<PackageReference Include="OfficeIMO.Word.Pdf" Version="1.0.39" />
<PackageVersion Include="OfficeIMO.Word.Pdf" Version="1.0.39" />
<PackageReference Include="OfficeIMO.Word.Pdf" />
paket add OfficeIMO.Word.Pdf --version 1.0.39
#r "nuget: OfficeIMO.Word.Pdf, 1.0.39"
#:package OfficeIMO.Word.Pdf@1.0.39
#addin nuget:?package=OfficeIMO.Word.Pdf&version=1.0.39
#tool nuget:?package=OfficeIMO.Word.Pdf&version=1.0.39
OfficeIMO.Word.Pdf - Word to PDF export
OfficeIMO.Word.Pdf exports OfficeIMO.Word documents to PDF through the first-party OfficeIMO.Pdf engine. It is the adapter layer: Word stays responsible for the .docx model, while PDF layout and writing stay in OfficeIMO.Pdf.
Install
dotnet add package OfficeIMO.Word.Pdf
Quick start
using OfficeIMO.Word;
using OfficeIMO.Word.Pdf;
using var document = WordDocument.Create("report.docx");
document.AddParagraph("PDF export").Style = WordParagraphStyles.Heading1;
document.AddParagraph("This document is exported through OfficeIMO.Pdf.");
document.SaveAsPdf("report.pdf");
Examples
Export with page and metadata options
using OfficeIMO.Pdf;
using OfficeIMO.Word;
using OfficeIMO.Word.Pdf;
using var document = WordDocument.Load("proposal.docx");
var options = new PdfSaveOptions {
Orientation = PdfPageOrientation.Portrait,
Margins = PageMargins.UniformCentimeters(1.5),
Title = "Customer proposal",
Author = "Evotec",
IncludePageNumbers = true,
PageNumberFormat = "Page {current} of {total}"
};
document.SaveAsPdf("proposal.pdf", options);
Export to bytes or streams
using OfficeIMO.Word;
using OfficeIMO.Word.Pdf;
using var document = WordDocument.Load("invoice.docx");
byte[] pdfBytes = document.SaveAsPdf();
using var stream = File.Create("invoice.pdf");
document.SaveAsPdf(stream);
Capture conversion warnings without throwing away the report
using OfficeIMO.Word;
using OfficeIMO.Word.Pdf;
using var document = WordDocument.Load("complex-document.docx");
var options = new PdfSaveOptions {
DefaultTableBorders = true
};
var result = document.TrySaveAsPdf("complex-document.pdf", options);
if (!result.Succeeded) {
foreach (string diagnostic in result.Diagnostics) {
Console.WriteLine(diagnostic);
}
}
foreach (var warning in options.ConversionReport.Warnings) {
Console.WriteLine($"{warning.Source}: {warning.Message}");
}
Import logical PDF tables into Word
using OfficeIMO.Word.Pdf;
var imported = PdfWordTableConverterExtensions.SavePdfTablesAsWord(
"statement.pdf",
"statement-tables.docx");
foreach (var table in imported) {
Console.WriteLine($"Page {table.PageNumber}, table {table.TableIndex + 1}");
}
What it exports
- Paragraphs, headings, rich runs, links, bookmarks, page breaks, lists, and common spacing/indentation settings.
- Word sections, page size, orientation, margins, columns, headers, footers, page numbers, and document background color.
- Tables with common Word table styling, repeated headers, cell fills, borders, alignment, merged cells, and rich text in cells.
- Paragraph-aligned images, selected shapes, text boxes, content controls, simple form controls, footnote/endnote markers, and table-of-contents links where supported by the first-party PDF path.
- Conversion warnings through
PdfSaveOptions.WarningsandPdfSaveOptions.ConversionReport.
Options and diagnostics
Use PdfSaveOptions when callers need to override page geometry, metadata, page-number behavior, font family, or table-border fallback. Keep PdfSaveOptions.Warnings and PdfSaveOptions.ConversionReport visible in wrappers and user interfaces; unsupported Word features should become actionable diagnostics instead of silent README promises.
Boundaries
- This package does not try to be a full Word renderer with perfect Microsoft Word parity.
- Unsupported or simplified Word features should surface warnings rather than being hidden in the README as broad claims.
- Reusable PDF layout work belongs in
OfficeIMO.Pdf; Word-specific mapping belongs here. - PowerShell PDF workflows should be exposed through PSWriteOffice.
Related packages
- OfficeIMO.Word - Word document model.
- OfficeIMO.Pdf - PDF creation, reading, and manipulation engine.
- OfficeIMO.Html.Pdf - HTML/PDF bridge built on OfficeIMO converters.
Targets and license
- Targets:
netstandard2.0,net8.0,net10.0. - License: MIT.
- Repository: EvotecIT/OfficeIMO
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 is compatible. 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 is compatible. 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. |
-
.NETFramework 4.7.2
- OfficeIMO.Pdf (>= 0.1.40)
- OfficeIMO.Word (>= 1.0.66)
-
.NETStandard 2.0
- OfficeIMO.Pdf (>= 0.1.40)
- OfficeIMO.Word (>= 1.0.66)
-
net10.0
- OfficeIMO.Pdf (>= 0.1.40)
- OfficeIMO.Word (>= 1.0.66)
-
net8.0
- OfficeIMO.Pdf (>= 0.1.40)
- OfficeIMO.Word (>= 1.0.66)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on OfficeIMO.Word.Pdf:
| Package | Downloads |
|---|---|
|
Ank.DocToolkit
Convert HTML to DOCX and PDF, and open/edit DOCX, XLSX and PPTX - pure managed, no native binaries, no browser, no LibreOffice. Runs on Linux. |
|
|
OfficeIMO.OpenDocument.Pdf
Direct loss-aware OpenDocument text, spreadsheet, and presentation to PDF adapters. |
|
|
OfficeIMO.OpenDocument.Odt.Pdf
Bidirectional, loss-aware ODT and PDF conversion through the Word semantic engine. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.2.0 | 1,637 | 8/7/2026 |
| 3.1.1 | 79 | 8/7/2026 |
| 3.1.0 | 1,260 | 8/6/2026 |
| 3.0.3 | 2,921 | 7/27/2026 |
| 3.0.2 | 140 | 7/26/2026 |
| 3.0.1 | 404 | 7/26/2026 |
| 3.0.0 | 560 | 7/20/2026 |
| 2.0.1 | 280 | 7/14/2026 |
| 2.0.0 | 99 | 7/14/2026 |
| 1.0.49 | 301 | 7/9/2026 |
| 1.0.48 | 331 | 7/8/2026 |
| 1.0.47 | 531 | 7/5/2026 |
| 1.0.46 | 255 | 7/4/2026 |
| 1.0.45 | 1,195 | 6/27/2026 |
| 1.0.44 | 177 | 6/27/2026 |
| 1.0.43 | 465 | 6/24/2026 |
| 1.0.42 | 222 | 6/23/2026 |
| 1.0.41 | 349 | 6/21/2026 |
| 1.0.40 | 192 | 6/16/2026 |
| 1.0.39 | 390 | 6/16/2026 |