rpi 20.0.0.8

dotnet add package rpi --version 20.0.0.8
                    
NuGet\Install-Package rpi -Version 20.0.0.8
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="rpi" Version="20.0.0.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="rpi" Version="20.0.0.8" />
                    
Directory.Packages.props
<PackageReference Include="rpi" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add rpi --version 20.0.0.8
                    
#r "nuget: rpi, 20.0.0.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package rpi@20.0.0.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=rpi&version=20.0.0.8
                    
Install as a Cake Addin
#tool nuget:?package=rpi&version=20.0.0.8
                    
Install as a Cake Tool

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 RpsSetLicenseInfo only 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


Sub Systems, Inc. ยท 3200 Maysilee Street, Austin, TX 78728 ยท https://www.subsystems.com

Copyright ยฉ 2006โ€“2025 Sub Systems, Inc. All rights reserved.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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