@phongkien/html-to-rtf
v2.1.3
Published
Forked of html-to-rtf to update security vulnerabilty
Maintainers
Readme
HTML To RTF (Browser and Server)
This project convert html to rtf format in the Browser (v2.0.0+) and the server with NodeJS.
Installation
$ npm install @phongkien/html-to-rtfChangelog
* Encoding string correctly (v2.0.1)
* Setting correct space and fix some insecure dependencies (v2.0.4)
* Improving better control of spaces (v2.1.0)Starting in the Browser
<html>
<head>
<title>Teste HTML TO RTF</title>
<script src="./node_modules/html-to-rtf/app/browser/bundle.js"></script>
<script type="text/javascript">
window.onload = function () {
const html = `<p style="color:#333;" align="center">text of p<b>start b <i>italic with bold</i>final text of b</b><i>italic<i>final text of p </p>`;
document.getElementById("html").innerHTML = html;
document.getElementById("rtf").innerHTML = htmlToRtf(html);
};
</script>
<link
rel="stylesheet"
href="./node_modules/html-to-rtf/app/browser/style.css"
/>
</head>
<body>
<h1>HTML To RTF Example:</h1>
<div class="container">
<h2>HTML</h2>
<textarea id="html" readonly></textarea>
</div>
<div class="container">
<h2>RTF</h2>
<textarea id="rtf" readonly></textarea>
</div>
</body>
</html>Observation:
There is a file example (index.html) in "./node_modules/html-to-rtf/app/browser/index.html"
Starting in the Server
var htmlToRtf = require("html-to-rtf");
var html = `
<h1>Title <span style="color:rgb(255,0,0);">with</span> tag h1<h1>
<div>
<p style="color:#333; margin:5px;" class="test" align="center">
text of paragraph <b>text with bold <i>text with italic and bold</i></b><i>text with italic</i>
</p>
<p style="color:rgb(255,0,0);" align="right">red paragraph => right with tag</p>
<p style="color:rgb(0,0,255); text-align:center;">blue paragraph => center with style</p>
<table>
<tbody>
<tr>
<td><mark>column 1</mark></td>
<td>column 2</td>
<td><mark>column 3</mark></td>
<td>column 4</td>
</tr>
<tr>
<td>content 1</td>
<td>content 2<br></td>
<td>content 3<br></td>
<td>content 4<br></td>
</tr>
</tbody>
</table>
</div>
`;
htmlToRtf.saveRtfInFile(
"<Path>/<FileName>.rtf",
htmlToRtf.convertHtmlToRtf(html),
);Now test in your preferred text editor (wordpad, word, libreoffice, ...).
Important:
You can't copy the output of terminal. Save the output at a file.rtf
Allowed html tags
<b
>, <br />,
<center>
,
<div>
,
<em
>,
<font
>,
<h1>
,
<h2>
,
<h3>
,
<h4>
,
<h5>
,
<h6>
,
<i
>,
<li>
,
<mark
>,
<p>,</p>
<ol>
,
<s
>,
<span
>,
<sub
>,
<sup
>,
<strong
>,
<table>
,
<td>,</td>
<th>
,
<tr>
,
<u
>,
<ul></ul
></u>
</tr>
</th></table></strong></sup></sub></span
></s></ol
></mark></li
></i>
</h6>
</h5>
</h4>
</h3>
</h2></h1></font
></em>
</div></center
></b>Allowed style properties
color(Hex and Rgb), font-size(px), text-align
Running the tests
$ gulp testsAuthor
- Ozires R.S.O.F
License
This project is licensed under the MIT License
