rpi 20.0.0.8
dotnet add package rpi --version 20.0.0.8
NuGet\Install-Package rpi -Version 20.0.0.8
<PackageReference Include="rpi" Version="20.0.0.8" />
<PackageVersion Include="rpi" Version="20.0.0.8" />
<PackageReference Include="rpi" />
paket add rpi --version 20.0.0.8
#r "nuget: rpi, 20.0.0.8"
#:package rpi@20.0.0.8
#addin nuget:?package=rpi&version=20.0.0.8
#tool nuget:?package=rpi&version=20.0.0.8
RTF to PDF Converter for .NET
Package: rpi (rpi.20.0.0.8.nupkg) ยท Namespace: SubSystems.RP ยท Publisher: Sub Systems, Inc.
Convert RTF documents to PDF with a single API call โ no Microsoft Word, no printer drivers, no third-party components. The converter is a standalone .NET library built on the proven RTF parser from TE Edit Control and the PDF generation engine from WinPDF, and it runs on .NET 6 and later on Windows and Linux (Docker, Azure, and other cloud hosts included).
๐ Product page, evaluation download, and help file: https://www.subsystems.com/rpw.htm
Highlights
- One-call conversion โ convert an RTF file or RTF string to PDF with a simple 3-function API.
- Zero dependencies โ no Microsoft Word or external programs required on the server.
- Cross-platform โ .NET Core / .NET 6+ on Windows and Linux. A separate .NET Framework edition (RPN.DLL) is also available.
- Memory or file output โ produce a PDF file on disk, or a PDF string/byte array for streaming from ASP.NET.
- Enterprise-grade fidelity โ see the feature list below.
- Simple deployment โ delivered as a NuGet package; no installer, nothing written to the system.
Supported RTF Features
- Full character and paragraph formatting
- Advanced tables and nested tables, including vertical text and right-to-left columns
- Text boxes, shapes, positioned images, and frames
- Headers/footers for first, left, right, or both pages
- Footnotes and section endnotes
- Multiple sections with custom columns, page sizes, orientations, and margins
- Embedded and linked graphics
- Complex lists and list overrides
- Unicode text: Arabic, Hebrew, Asian, Indic, and mixed LTR/RTL
- Embedded fonts, bookmarks, cross-references, and table of contents
- Redlined (tracked-change) text and margin comments
- Internal and external hyperlinks, hidden text
- Rich-text fields (page numbers, page counts, dates)
- Form controls: checkboxes, radio buttons, list boxes, dropdowns
- Document embedding and PDF/A, PDF/A-1b, and PDF/UA compliance
- Security permissions and password protection (RC4-128 / AES-128)
- Image-file-to-PDF conversion
If a feature you need isn't listed, contact us โ it is likely supported.
Installation
Add the package to your project. The package is included in the distribution ZIP file:
<PackageReference Include="rpi" Version="20.0.0.8" />
Then import the namespace:
using SubSystems.RP; // C#
Imports SubSystems.RP ' VB.NET
Quick Start
using SubSystems.RP;
// 1. Apply your license once at application startup.
// (The license key and number are e-mailed to you after purchase.
// Omit this step when evaluating the trial version.)
Rpn.RpsSetLicenseInfo("xxxxx-yyyyy-zzzzz", "srabnnnnn-n", "Your Company Name");
// 2. Create the converter.
Rpn rp = new Rpn();
rp.InWebServer = true; // set to true when hosting in a web app โ suppresses all dialogs
// 3a. Convert an RTF file to a PDF file.
bool ok = rp.RpsConvertFile("input.rtf", "output.pdf");
// 3b. Or convert an RTF string to a PDF string in memory...
string pdfString = rp.RpsConvertBuffer(rtfString);
// ...then write it to disk, or get the raw bytes for streaming.
rp.RpsWriteToFile("output.pdf", pdfString);
byte[] pdfBytes = rp.RpsStrToBytes(pdfString);
Streaming a PDF from ASP.NET
Rpn rp = new Rpn { InWebServer = true };
string pdfString = rp.RpsConvertBuffer(rtfText);
byte[] pdfBytes = rp.RpsStrToBytes(pdfString);
return File(pdfBytes, "application/pdf", "document.pdf"); // ASP.NET Core
Note: Call
RpsSetLicenseInfoonly once at startup. Calling it before every conversion degrades performance.
API Overview
| Method | Description |
|---|---|
RpsSetLicenseInfo(key, number, company) |
Static. Applies your license. Returns 0 on success; 1 = invalid key, 2 = invalid number, 3 = out of licenses. |
RpsConvertFile(inFile, outFile) |
Converts an RTF file to a PDF file. Returns true on success. |
RpsConvertBuffer(rtfString) |
Converts an RTF string to a PDF string. Returns null on error. |
RpsStrToBytes(pdfString) |
Converts a PDF string to a raw byte array (preferred over text encoding). |
RpsWriteToFile(fileName, pdfString) |
Writes a PDF string to disk. |
RpsSetFlags(set, flags) |
Sets or reads flags, e.g. RPFLAG_RETURN_MSG_ID to capture errors instead of displaying them. |
RpsGetLastMessage(out msg, out debugMsg) |
Retrieves the last error message (requires RPFLAG_RETURN_MSG_ID). |
RpsResetLastMessage() |
Clears the last error message. |
Commonly Used Properties
Set these on the Rpn object before converting.
| Property | Purpose |
|---|---|
InWebServer |
true when running in a web server โ suppresses dialogs and message boxes. |
Title, Author, Subject, Keywords, Producer, CreDate, ModDate |
PDF document metadata. |
Bookmark |
Convert the RTF table of contents to PDF bookmarks (default true). |
Hyperlink |
Translate RTF hyperlink fields to PDF hyperlinks (default true). |
CompressText |
Compress text streams in the PDF. |
EmbedFonts |
Embed all fonts, not just non-standard ones. |
ExactTextPlacement |
Emit per-character widths for precise layout (useful for small fonts). |
UserPassword, OwnerPassword, PermFlags |
Encryption and permissions (PERM_PRINT, PERM_COPY, PERM_MOD). |
RC4_128, AES_128 |
Encryption strength when a password is set. |
PdfA, PdfA1b, PdfUA |
Generate standards-compliant PDF output. |
ShrinkImagesToFit |
Shrink RTF images to fit the page or table cell. |
UseOrigJpg |
Insert original JPEG data into the PDF. |
PropPictQuality |
Picture quality 1โ5 (3 = default). |
NoTocUpdate |
Skip updating the table of contents before conversion. |
Time24Hours |
Format TIME fields in 24-hour format. (.NET Core) |
FontFolder |
Folder from which to load additional TrueType fonts. (.NET Core) |
UseSfnDllFonts |
Use the built-in fonts (default true). (.NET Core) |
UseWindowsFonts |
Use Windows TrueType fonts when running on a Windows server. (.NET Core) |
InWinOS |
Set when running in a full Windows environment. (.NET Core) |
The complete reference is in the help file (see below).
Evaluation Copy, Help File, and Online Demo
Visit https://www.subsystems.com/rpw.htm to:
- Download a free evaluation copy of RTF to PDF Converter for .NET Core (Windows/Linux) or for .NET Framework (C#/WinForms/ASP.NET, 32/64-bit). Each ZIP includes sample code and the product package โ just unzip and go. No installer is run on your machine.
- Download the help file (PDF) with the full API reference and usage notes.
- Try it online โ upload your own RTF file and see the PDF result in your browser.
Win32 and Win64 native DLL editions (C/C++, Delphi, VB6, ASP, and more) are available from the same page.
Licensing
- Desktop Developer License โ for interactive desktop (non-Internet) applications. Each license covers one developer on up to two development computers.
- Server License โ required for web, hosted, and server applications.
- Enterprise License โ for corporations with revenue over $50 million, large government entities, or when a target customer's revenue exceeds $500 million. Contact us for a quote.
- Perpetual licenses are also available on request.
Licenses include standard technical support, patches, and new releases, with a 20% discount on subsequent-year renewals and a 30-day money-back guarantee. The full license agreement is at https://www.subsystems.com/rpc.pdf.
Support
- Technical support options: https://www.subsystems.com/support.htm
- E-mail: info@subsystems.com
- Phone: 1-512-733-2525
Sub Systems, Inc. ยท 3200 Maysilee Street, Austin, TX 78728 ยท https://www.subsystems.com
Copyright ยฉ 2006โ2025 Sub Systems, Inc. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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 was computed. 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. |
-
net9.0
- No dependencies.
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 |
|---|---|---|
| 20.0.0.8 | 37 | 10/6/2026 |