定制 clank-ai/rtf-converter 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 &lt;iostream&gt; #include &lt;string&gt; #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 &lt;&lt; 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 &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #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&lt;char&gt;(rtfFile)), std::istreambuf_iterator&lt;char&gt;()); // 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 &lt;&lt; plainText; std::cout &lt;&lt; "RTF has been successfully converted to plain text and saved as output.txt." &lt;&lt; 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 &lt;iostream&gt; #include &lt;string&gt; #include &lt;exception&gt; #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 &lt;&lt; plainText; } catch (const std::exception&amp; e) { std::cout &lt;&lt; "An error occurred during the conversion: " &lt;&lt; e.what() &lt;&lt; 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

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 2
  • 开发语言: C++

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固