OfficeIMO.PowerPoint.Pdf
3.0.2
Prefix Reserved
See the version list below for details.
dotnet add package OfficeIMO.PowerPoint.Pdf --version 3.0.2
NuGet\Install-Package OfficeIMO.PowerPoint.Pdf -Version 3.0.2
<PackageReference Include="OfficeIMO.PowerPoint.Pdf" Version="3.0.2" />
<PackageVersion Include="OfficeIMO.PowerPoint.Pdf" Version="3.0.2" />
<PackageReference Include="OfficeIMO.PowerPoint.Pdf" />
paket add OfficeIMO.PowerPoint.Pdf --version 3.0.2
#r "nuget: OfficeIMO.PowerPoint.Pdf, 3.0.2"
#:package OfficeIMO.PowerPoint.Pdf@3.0.2
#addin nuget:?package=OfficeIMO.PowerPoint.Pdf&version=3.0.2
#tool nuget:?package=OfficeIMO.PowerPoint.Pdf&version=3.0.2
OfficeIMO.PowerPoint.Pdf - PowerPoint to PDF export
OfficeIMO.PowerPoint.Pdf exports OfficeIMO.PowerPoint presentations to PDF through the first-party OfficeIMO.Pdf engine. It also imports logical PDF tables into editable PowerPoint table slides.
Install
dotnet add package OfficeIMO.PowerPoint.Pdf
Quick start
using OfficeIMO.PowerPoint;
using OfficeIMO.PowerPoint.Pdf;
using var presentation = PowerPointPresentation.Load("deck.pptx");
presentation.SaveAsPdf("deck.pdf");
Examples
Export with slide-content controls
using OfficeIMO.PowerPoint;
using OfficeIMO.PowerPoint.Pdf;
using var presentation = PowerPointPresentation.Load("board-review.pptx");
var options = new PowerPointPdfSaveOptions {
IncludeHiddenSlides = false,
IncludeSlideBackgrounds = true,
IncludePictures = true,
IncludeTextBoxes = true,
IncludeTables = true,
IncludeCharts = true,
WarnOnPictureAspectRatioDistortion = true
};
presentation.SaveAsPdf("board-review.pdf", options);
Export to bytes or a stream
using OfficeIMO.PowerPoint;
using OfficeIMO.PowerPoint.Pdf;
using var presentation = PowerPointPresentation.Load("training.pptx");
byte[] pdfBytes = presentation.ToPdf();
using var stream = File.Create("training.pdf");
presentation.SaveAsPdf(stream);
Export speaker notes and handouts
using OfficeIMO.PowerPoint;
using OfficeIMO.PowerPoint.Pdf;
using var presentation = PowerPointPresentation.Load("training.pptx");
presentation.SaveAsPdf("training-notes.pdf", new PowerPointPdfSaveOptions {
PageLayout = PowerPointPdfPageLayout.NotesPages,
IncludeSpeakerNotes = true
});
presentation.SaveAsPdf("training-handout.pdf", new PowerPointPdfSaveOptions {
PageLayout = PowerPointPdfPageLayout.Handouts,
HandoutSlidesPerPage = 3,
IncludeSpeakerNotes = true
});
Handouts support 1, 2, 3, 4, 6, or 9 slides per landscape page. Three-up output pairs each thumbnail with notes or writing lines. Notes are read without creating missing notes parts.
Review conversion warnings
using OfficeIMO.PowerPoint;
using OfficeIMO.PowerPoint.Pdf;
using OfficeIMO.Pdf;
using var presentation = PowerPointPresentation.Load("complex-deck.pptx");
var options = new PowerPointPdfSaveOptions {
IncludeCharts = true,
IncludeAutoShapes = true
}.UseProfile(PdfExportProfile.Faithful);
options.TextFallbacks = PdfTextFallbackFeatures.Default;
options.ResourcePolicy = PdfResourcePolicy.CreateTrustedHost();
var result = presentation.TrySaveAsPdf("complex-deck.pdf", options);
if (!result.Succeeded) {
foreach (string diagnostic in result.Diagnostics) {
Console.WriteLine(diagnostic);
}
}
foreach (var warning in result.Warnings) {
Console.WriteLine($"{warning.Source}: {warning.Message}");
}
result.Report.RequireNoErrorWarnings();
What it maps
- Full-slide pages use the authored slide size; notes pages use portrait letter and handouts use landscape letter.
- Slide backgrounds, text boxes, supported pictures, supported tables, supported charts, and basic auto-shapes.
- Text box fill, outline, margins, font defaults, alignment, vertical anchoring, rich runs, and hyperlinks.
- Supported JPEG/PNG pictures through the shared PDF image pipeline.
- Full-slide PDF output always uses the native per-shape PDF renderer, including hyperlinks and rich text. Conversion no longer chooses a different renderer from document content or an option toggle.
- PNG, SVG, visual-review HTML, and notes/handout thumbnails use the shared visual snapshot; those surfaces have a different scene/raster contract and do not select the PDF engine at runtime.
- Profile presets through
PowerPointPdfSaveOptions.UseProfile(...), plus sharedTextFallbacksandResourcePolicycontrols. The balanced default uses installed fonts while denying arbitrary local and remote reads; portable deterministic mode is explicit. - Per-operation conversion warnings through
PdfDocumentConversionResult.ReportorPdfSaveResult.Report.
PDF table import
SaveTablesAsPowerPoint(...) extracts logical tables from a PDF and writes editable PowerPoint table slides. It does not claim to convert unrelated page text, source vector graphics, images, links, forms, annotations, or actions.
using OfficeIMO.PowerPoint.Pdf;
using OfficeIMO.Pdf;
PdfLogicalDocument source = PdfLogicalDocument.LoadPageRanges(
"financial-statement.pdf",
PdfPageRange.From(2, 5));
PdfPowerPointTableImportReport report = source.SaveTablesAsPowerPoint(
"financial-statement-tables.pptx",
new PdfPowerPointTableImportOptions {
MaxRows = 400,
MaxRowsPerSlide = 18,
MaxColumnsPerSlide = 6
});
foreach (var table in report.Entries) {
Console.WriteLine($"Page {table.PageNumber}, slide {table.SlideIndex + 1}");
}
Console.WriteLine($"Non-table page content detected: {report.HasOmittedPageContent}");
Boundaries
- Presentation modeling stays in
OfficeIMO.PowerPoint. - PDF layout and writing stay in
OfficeIMO.Pdf. - This package should remain a thin adapter over shared PDF primitives.
- PDF import is intentionally table-only.
SourceScopeandHasOmittedPageContentmake the omitted page surface explicit. - Complex slide fidelity gaps should be reported through warnings and deeper docs rather than broad README claims.
Related packages
- OfficeIMO.PowerPoint - PowerPoint presentation model.
- OfficeIMO.Pdf - PDF engine.
- OfficeIMO.Markup.PowerPoint - Markup to PowerPoint rendering.
Targets and license
- Targets:
netstandard2.0,net8.0,net10.0. - License: MIT.
- Repository: EvotecIT/OfficeIMO
Dependency footprint
- External: None beyond the dependencies of its OfficeIMO format packages; no native or commercial PDF renderer.
- OfficeIMO:
OfficeIMO.PowerPoint,OfficeIMO.Pdf, andOfficeIMO.Drawingown slide snapshots, PDF rendering, and reports.
See the complete OfficeIMO package map for related formats and conversion paths.
| 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.Drawing (>= 3.0.2)
- OfficeIMO.Pdf (>= 3.0.2)
- OfficeIMO.PowerPoint (>= 3.0.2)
-
.NETStandard 2.0
- OfficeIMO.Drawing (>= 3.0.2)
- OfficeIMO.Pdf (>= 3.0.2)
- OfficeIMO.PowerPoint (>= 3.0.2)
-
net10.0
- OfficeIMO.Drawing (>= 3.0.2)
- OfficeIMO.Pdf (>= 3.0.2)
- OfficeIMO.PowerPoint (>= 3.0.2)
-
net8.0
- OfficeIMO.Drawing (>= 3.0.2)
- OfficeIMO.Pdf (>= 3.0.2)
- OfficeIMO.PowerPoint (>= 3.0.2)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on OfficeIMO.PowerPoint.Pdf:
| Package | Downloads |
|---|---|
|
Ank.DocToolkit
Convert HTML to PDF and DOCX in C# without a browser - pure managed, no Chromium, no wkhtmltopdf, no native binaries, no LibreOffice, no Office interop. Also converts Markdown to DOCX and PDF; renders DOCX, XLSX and PPTX to PDF; exports DOCX to HTML/Markdown and XLSX to CSV/HTML; reads legacy Word 97-2003 .doc files; reads text out of a PDF; creates/edits DOCX, XLSX and PPTX; password-protects PDF, DOCX, XLSX and PPTX; and inspects and validates digital signatures in DOCX, XLSX and PPTX. Runs on Linux, Windows, macOS and arm64, and makes no network calls at runtime. |
|
|
OfficeIMO.OpenDocument.Odp.Pdf
Bidirectional, loss-aware ODP and PDF conversion through the PowerPoint semantic engine. |
|
|
OfficeIMO.Workflows
Typed local document workflows that compose first-party OfficeIMO conversion, PDF, and provenance capabilities. |
|
|
OfficeIMO.OpenDocument.Pdf
Direct loss-aware OpenDocument text, spreadsheet, and presentation to PDF adapters. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.4.4 | 245 | 9/27/2026 |
| 3.4.3 | 318 | 9/12/2026 |
| 3.4.2 | 227 | 9/9/2026 |
| 3.4.1 | 222 | 9/7/2026 |
| 3.4.0 | 170 | 9/6/2026 |
| 3.3.0 | 37,067 | 9/2/2026 |
| 3.2.7 | 3,440 | 8/29/2026 |
| 3.2.6 | 2,908 | 8/22/2026 |
| 3.2.5 | 231 | 8/21/2026 |
| 3.2.4 | 242 | 8/19/2026 |
| 3.2.3 | 151 | 8/17/2026 |
| 3.2.2 | 2,817 | 8/13/2026 |
| 3.2.1 | 272 | 8/11/2026 |
| 3.2.0 | 2,364 | 8/7/2026 |
| 3.1.1 | 166 | 8/7/2026 |
| 3.1.0 | 150 | 8/6/2026 |
| 3.0.3 | 183 | 7/27/2026 |
| 3.0.2 | 164 | 7/26/2026 |
| 3.0.1 | 426 | 7/26/2026 |
| 3.0.0 | 475 | 7/20/2026 |