OfficeIMO.Rtf.Pdf
3.2.6
Prefix Reserved
See the version list below for details.
dotnet add package OfficeIMO.Rtf.Pdf --version 3.2.6
NuGet\Install-Package OfficeIMO.Rtf.Pdf -Version 3.2.6
<PackageReference Include="OfficeIMO.Rtf.Pdf" Version="3.2.6" />
<PackageVersion Include="OfficeIMO.Rtf.Pdf" Version="3.2.6" />
<PackageReference Include="OfficeIMO.Rtf.Pdf" />
paket add OfficeIMO.Rtf.Pdf --version 3.2.6
#r "nuget: OfficeIMO.Rtf.Pdf, 3.2.6"
#:package OfficeIMO.Rtf.Pdf@3.2.6
#addin nuget:?package=OfficeIMO.Rtf.Pdf&version=3.2.6
#tool nuget:?package=OfficeIMO.Rtf.Pdf&version=3.2.6
OfficeIMO.Rtf.Pdf
First-party semantic RTF/PDF conversion for OfficeIMO.
This package converts between the semantic OfficeIMO.Rtf document model and the first-party OfficeIMO.Pdf document model. The RTF engine remains the lossless parse/edit/write layer; PDF export is a visual/content conversion to a fixed-layout format, while PDF import uses the first-party logical PDF reader to recover parser-supported metadata, pages, headings, grouped paragraphs, and list markers into an editable RTF document.
Supported export coverage includes semantic paragraphs, paragraph indentation/spacing/line-height/pagination controls, paragraph/style tab stops with supported alignment and leader mapping, section-owned blocks, section page breaks, page-starting section page setup, document and section page-border visual export, rich runs, list markers, document page setup, metadata, tables with horizontal and vertical merged-cell spans, repeating header rows, solid row/cell fills, cell padding, vertical alignment, side and diagonal cell borders, PNG/JPEG images, bookmarks, field result text, hidden text control, footnote/endnote/annotation bodies, and running header/footer text including first-page and even-page variants. RTF can model separate borders per page side; PDF export maps the first styled RTF page border to the first-party PDF engine's uniform page border decoration.
Supported import coverage includes PDF Info metadata, first-page paper size, logical headings, logical list items, grouped paragraphs, basic paragraph spacing, and page transitions as RTF page-break-before paragraphs. PDF is a fixed-layout format, so import is semantic text extraction rather than lossless visual reconstruction of arbitrary PDFs.
Import PDF with diagnostics
using OfficeIMO.Pdf;
using OfficeIMO.Rtf.Pdf;
PdfDocument pdf = PdfDocument.Open("source.pdf");
PdfRtfConversionResult result = pdf.ToRtfDocumentResult();
result.Value.Save("source.rtf");
foreach (var warning in result.Report.Warnings) {
Console.WriteLine($"{warning.Code}: {warning.Message}");
}
The semantic importer preserves detected run color, font size, bold, and italic through shared logical PDF runs. Tables, images, links, and form widgets currently produce structured loss diagnostics instead of disappearing silently.
Export with diagnostics
using OfficeIMO.Rtf;
using OfficeIMO.Rtf.Pdf;
using OfficeIMO.Pdf;
RtfDocument rtf = RtfDocument.Load("input.rtf").Document;
var options = new RtfPdfSaveOptions();
PdfDocumentConversionResult result = rtf.ToPdfDocumentResult(options);
result.Report.RequireNoErrorWarnings();
result.Save("output.pdf");
All PDF adapters expose the same PdfResourcePolicy. RTF conversion uses the balanced default: it may discover and embed installed fonts, but it does not allow arbitrary local-file or remote-resource reads. Use PdfResourcePolicy.CreatePortableDeterministic() when conversion must not inspect host fonts. RTF reads document content only from the typed model, so CreateTrustedHost() adds no access unless a format-specific resolver is explicitly configured.
For raw RTF strings, bytes, or streams, use source-explicit APIs such as ToPdfFromRtf(), ToPdfDocumentFromRtf(), and SaveAsPdfFromRtf(). Typed RtfDocument instances use the standard ToPdf(), ToPdfDocument(), and destination-only SaveAsPdf() names.
PNG, JPEG, and supported DIB images use the shared managed drawing layer. Set RtfPdfSaveOptions.ImageConverter when WMF/EMF content must be rasterized; a null or invalid callback result is reported rather than silently treated as an image.
Dependency footprint
- External: None by default. Applications may provide an optional WMF/EMF rasterization callback.
- OfficeIMO:
OfficeIMO.Rtf,OfficeIMO.Pdf, andOfficeIMO.Coreown semantic mapping, rendering, logical import, 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.Core (>= 3.2.6)
- OfficeIMO.Pdf (>= 3.2.6)
- OfficeIMO.Rtf (>= 3.2.6)
-
.NETStandard 2.0
- OfficeIMO.Core (>= 3.2.6)
- OfficeIMO.Pdf (>= 3.2.6)
- OfficeIMO.Rtf (>= 3.2.6)
-
net10.0
- OfficeIMO.Core (>= 3.2.6)
- OfficeIMO.Pdf (>= 3.2.6)
- OfficeIMO.Rtf (>= 3.2.6)
-
net8.0
- OfficeIMO.Core (>= 3.2.6)
- OfficeIMO.Pdf (>= 3.2.6)
- OfficeIMO.Rtf (>= 3.2.6)
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 |
|---|---|---|
| 3.2.7 | 0 | 8/29/2026 |
| 3.2.6 | 85 | 8/22/2026 |
| 3.2.5 | 175 | 8/21/2026 |
| 3.2.4 | 175 | 8/19/2026 |
| 3.2.3 | 93 | 8/17/2026 |
| 3.2.2 | 296 | 8/13/2026 |
| 3.2.1 | 213 | 8/11/2026 |
| 3.2.0 | 281 | 8/7/2026 |
| 3.1.1 | 110 | 8/7/2026 |
| 3.1.0 | 90 | 8/6/2026 |
| 3.0.3 | 122 | 7/27/2026 |
| 3.0.2 | 95 | 7/26/2026 |
| 3.0.1 | 370 | 7/26/2026 |
| 3.0.0 | 425 | 7/20/2026 |
| 2.0.1 | 290 | 7/14/2026 |
| 2.0.0 | 104 | 7/14/2026 |
| 0.1.10 | 237 | 7/9/2026 |
| 0.1.9 | 277 | 7/8/2026 |
| 0.1.8 | 484 | 7/5/2026 |
| 0.1.7 | 221 | 7/4/2026 |