clank-ai/rtf-converter
最新稳定版本:v0.1.22
Composer 安装命令:
composer require clank-ai/rtf-converter
包简介
A simple RTF to Plain Text Converter using regular expressions. Support for PHP, Python, Javascript and CSharp
README 文档
README
Python, Javascript, PHP and C-Sharp RTF-Converter
RTF-Converter is a function that allows users to convert Rich Text Format (RTF) files into plain text using regular expressions.
Features:
Lightweight
Fast and efficient
Pure code, no external dependencies
Installation
Clone the repository:
git clone https://github.com/ClankDev/RTF-Converter.git
cd RTF-Converter
Install using pip:
pip install rtf-converter
Install using npm:
npm i rtf-converter
Install using composer:
composer require clank-ai/rtf-converter
Python - Example Usage
Convert a simple RTF string to plain text:
from rtf_converter import rtf_to_txt # Sample RTF text rtf_text = r"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Helvetica;}}{\colortbl ;\red255\green0\blue0;}\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural\f0\fs24 \cf0 Hello, World!}" # Convert RTF to plain text plain_text = rtf_to_txt(rtf_text) print(plain_text) # Output: Hello, World! Python - Example Usage #2
Convert an RTF File to Plain Text
Read file from the disk, convert its content to plain text using the rtf_to_txt function, and then save the result to a new text file:
from rtf_converter import rtf_to_txt # Read RTF file with open('sample.rtf', 'r', encoding='utf-8') as file: rtf_content = file.read() # Convert RTF content to plain text plain_text = rtf_to_txt(rtf_content) # Save plain text to a new file with open('output.txt', 'w', encoding='utf-8') as file: file.write(plain_text) print("RTF has been successfully converted to plain text and saved as output.txt.") Python - Handling RTF Conversion Errors
In case the RTF content is not formatted correctly, the rtf_to_txt function might raise an exception. Here is how you can handle such errors gracefully:
from rtf_converter import rtf_to_txt # Sample RTF text (potentially incorrect format) rtf_text = r"{\rtf1\ansi\Hello, World!}" # Attempt to convert RTF to plain text try: plain_text = rtf_to_txt(rtf_text) print(plain_text) except Exception as e: print("An error occurred during the conversion:", str(e)) JavaScript - Example Usage
Convert a simple RTF string to plain text:
// Start test server (http-server) // Save test javascript file as a module (.mjs) // Import the rtfToTxt function from the rtf-converter npm package import { rtfToTxt } from './node_modules/rtf-converter/rtf_converter.js'; // Sample RTF text var rtfText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fswiss\\fcharset0 Helvetica;}}{\\colortbl ;\\red255\\green0\\blue0;}\\pard\\tx720\\tx1440\\tx2160\\tx2880\\tx3600\\tx4320\\tx5040\\tx5760\\tx6480\\tx7200\\tx7920\\tx8640\\ql\\qnatural\\pardirnatural\\f0\\fs24 \\cf0 Hello, World!}"; // Convert RTF to plain text var plainText = rtfToTxt(rtfText); console.log(plainText); // Output: Hello, World! JavaScript - Example Usage #2 (With error handling)
Convert an RTF File to Plain Text
Read file from the disk (or fetch from a server), convert its content to plain text using the rtfToTxt function, and then save the result to a new text file:
<!-- Start test server (http-server) --> <!-- Save test javascript file as a module (.mjs) --> <!-- TEST.HTML --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>RTF Converter</title> </head> <body> <h1>RTF Converter</h1> <input type="file" id="rtfFile" accept=".rtf" /> <button onclick="convertRTF()">Convert RTF to Text</button> <script src="script.mjs" type="module"></script> </body> </html> <!-- SCRIPT.MJS --> // Import the rtfToTxt function from the rtf-converter npm package import { rtfToTxt } from './node_modules/rtf-converter/rtf_converter.js'; // Function to handle the conversion process function convertRTF() { var fileInput = document.getElementById('rtfFile'); var file = fileInput.files[0]; if (!file) { alert('Please select an RTF file to convert.'); return; } // Read the RTF content from the uploaded file var reader = new FileReader(); reader.onload = function(event) { var rtfContent = event.target.result; // Convert RTF content to plain text using the rtfToTxt function var plainText = rtfToTxt(rtfContent); // Save plain text to a new file var blob = new Blob([plainText], { type: 'text/plain' }); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = 'output.txt'; link.click(); console.log("RTF has been successfully converted to plain text and saved as output.txt."); }; reader.readAsText(file); } // Make the convertRTF function globally accessible so that it can be called from the HTML file window.convertRTF = convertRTF; PHP - Example Usage
Convert a simple RTF string to plain text:
<?php error_reporting(E_ALL); ini_set('display_errors', 1); require_once 'vendor/autoload.php'; use RtfConverter\RtfConverter; $rtfText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033 {\\fonttbl{\\f0\\fswiss\\fcharset0 Helvetica;}{\\f1\\fswiss\\fcharset0 Arial;}} {\\colortbl ;\\red255\\green0\\blue0;\\red0\\green0\\blue255;} Hello, {\\f1\\b World}! This is {\\i italic} text. The — dash and the – dash are different. ‘ Quotes ’ are special too. Unicode: \\u8364 is the Euro symbol. Nested {\\b\\i bold and italic} text. Here's a list: \\list\\listtemplateid1\\listhybrid {\\listlevel\\levelnfc0\\leveljc0\\levelfollow0\\levelstartat1\\levelspace0\\levelindent0 {\\*\\levelmarker\\fi-360\\li720\\jclisttab\\tx720 }{\\leveltext\\leveltemplateid1'\\uc0\\u8226 ;} {\\levelnumbers\\leveltemplateid2'\\u-3999 \\u8197 ;}}Hello from nested list! }"; echo "Before conversion\n"; $plainText = RtfConverter::rtfToTxt($rtfText); echo "After conversion:\n"; echo $plainText . "\n"; echo "Type of output: " . gettype($plainText) . "\n"; echo "Length of output: " . strlen($plainText) . "\n"; ?> PHP - Example Usage #2
Convert an RTF File to Plain Text
Read file from the disk, convert its content to plain text using the rtfToTxt function, and then save the result to a new text file:
<?php // Include the RtfConverter class require_once 'vendor/autoload.php'; use RtfConverter\RtfConverter; // Read RTF file $rtfContent = file_get_contents('sample.rtf'); // Convert RTF content to plain text $plainText = RtfConverter::rtfToTxt($rtfContent); // Save plain text to a new file file_put_contents('output.txt', $plainText); echo "RTF has been successfully converted to plain text and saved as output.txt."; ?> PHP - Handling RTF Conversion Errors
In case the RTF content is not formatted correctly, the rtfToTxt function might raise an exception. Here is how you can handle such errors gracefully:
<?php // Include the RtfConverter class require_once 'vendor/autoload.php'; use RtfConverter\RtfConverter; // Sample RTF text (potentially incorrect format) $rtfText = "{\\rtf1\\ansi\\Hello, World!}"; try { // Attempt to convert RTF to plain text $plainText = RtfConverter::rtfToTxt($rtfText); echo $plainText; } catch (Exception $e) { echo "An error occurred during the conversion: " . $e->getMessage(); } ?> C++ - Example Usage
Convert a simple RTF string to plain text:
#include <iostream> #include <string> #include "rtf_converter.cpp" // Assume this header contains the declaration of rtf_to_txt function int main() { // Sample RTF text std::string rtfText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fswiss\\fcharset0 Helvetica;}}{\\colortbl ;\\red255\\green0\\blue0;}\\pard\\tx720\\tx1440\\tx2160\\tx2880\\tx3600\\tx4320\\tx5040\\tx5760\\tx6480\\tx7200\\tx7920\\tx8640\\ql\\qnatural\\pardirnatural\\f0\\fs24 \\cf0 Hello, World!}"; // Convert RTF to plain text std::string plainText = rtf_to_txt(rtfText); std::cout << plainText; // Output: Hello, World! return 0; } C++ - Example Usage #2
Convert an RTF File to Plain Text
Read file from the disk, convert its content to plain text using the rtf_to_txt function, and then save the result to a new text file:
#include <iostream> #include <fstream> #include <string> #include "rtf_converter.cpp" // Assume this header contains the declaration of rtf_to_txt function int main() { // Read RTF file std::ifstream rtfFile("sample.rtf"); std::string rtfContent((std::istreambuf_iterator<char>(rtfFile)), std::istreambuf_iterator<char>()); // Convert RTF content to plain text std::string plainText = rtf_to_txt(rtfContent); // Save plain text to a new file std::ofstream outFile("output.txt"); outFile << plainText; std::cout << "RTF has been successfully converted to plain text and saved as output.txt." << std::endl; return 0; } C++ - Handling RTF Conversion Errors
In case the RTF content is not formatted correctly, the rtf_to_txt function might throw an exception. Here is how you can handle such errors gracefully:
#include <iostream> #include <string> #include <exception> #include "rtf_converter.cpp" // Assume this header contains the declaration of rtf_to_txt function int main() { // Sample RTF text (potentially incorrect format) std::string rtfText = "{\\rtf1\\ansi\\Hello, World!}"; // Attempt to convert RTF to plain text try { std::string plainText = rtf_to_txt(rtfText); std::cout << plainText; } catch (const std::exception& e) { std::cout << "An error occurred during the conversion: " << e.what() << std::endl; } return 0; } Contributing
Contributions, issues, and feature requests are welcome!
License
This project is licensed under the MIT License - see the LICENSE file for details.
统计信息
- 总下载量: 2.9k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04