我有一个带有页眉和页脚的输入HTML文件.

需要将其转换为RTF. HTML的页眉/页脚应在生成的RTF文件中重复.

是否有任何插件可以仅使用JavaScript将HTML转换为RTF?

解决方法:

但是,它没有解决要点(ul,li元素)

function convertHtmlToRtf(html) {

if (!(typeof html === "string" && html)) {

return null;

}

var tmpRichText, hasHyperlinks;

var richText = html;

// Singleton tags

richText = richText.replace(/]*)?\s*[\/]?>/ig, "{\\pard \\brdrb \\brdrs \\brdrw10 \\brsp20 \\par}\n{\\pard\\par}\n");

richText = richText.replace(/]*)?\s*[\/]?>/ig, "{\\pard\\par}\n");

// Empty tags

richText = richText.replace(/]*)?\s*[\/]>/ig, "{\\pard\\par}\n");

richText = richText.replace(/]+)\/>/g, "");

// Hyperlinks

richText = richText.replace(

/]*)?(?:\s+href=(["'])(?:javascript:void\(0?\);?|#|return false;?|void\(0?\);?|)\1)(?:\s+[^>]*)?>/ig,

"{{{\n");

tmpRichText = richText;

richText = richText.replace(

/]*)?(?:\s+href=(["'])(.+)\1)(?:\s+[^>]*)?>/ig,

"{\\field{\\*\\fldinst{HYPERLINK\n \"$2\"\n}}{\\fldrslt{\\ul\\cf1\n");

hasHyperlinks = richText !== tmpRichText;

richText = richText.replace(/]*)?>/ig, "{{{\n");

richText = richText.replace(/]*)?>/ig, "\n}}}");

// Start tags

richText = richText.replace(/]*)?>/ig, "{\\b\n");

richText = richText.replace(/]*)?>/ig, "{\\i\n");

richText = richText.replace(/]*)?>/ig, "{\\ul\n");

richText = richText.replace(/]*)?>/ig, "{\\strike\n");

richText = richText.replace(/]*)?>/ig, "{\\super\n");

richText = richText.replace(/]*)?>/ig, "{\\sub\n");

richText = richText.replace(/]*)?>/ig, "{\\pard\n");

// End tags

richText = richText.replace(/]*)?>/ig, "\n\\par}\n");

richText = richText.replace(/]*)?>/ig, "\n}");

// Strip any other remaining HTML tags [but leave their contents]

richText = richText.replace(/]+)>/g, "");

// Prefix and suffix the rich text with the necessary syntax

richText =

"{\\rtf1\\ansi\n" + (hasHyperlinks ? "{\\colortbl\n;\n\\red0\\green0\\blue255;\n}\n" : "") + richText + "\n}";

return richText;

}

标签:rtf,html,plugins,javascript

来源: https://codeday.me/bug/20191028/1953098.html

html rtf转换,如何使用JavaScript将HTML转换为RTF相关推荐

  1. %3c %3e 转换html,使用JavaScript将HTML转换为data:text / html链接

    数据URI的特征 甲数据-URI与MIME类型text/html必须是在其中一种格式: data:text/html, data:text/html;charset=UTF-8, 不需要Base-64 ...

  2. Angular Component TypeScript代码和最后转换生成的JavaScript代码比较

    TypeScript代码使用@Component定义一个Component: @Component({selector: 'app-shipping',templateUrl: './shipping ...

  3. 十六进制转换html,如何使用JavaScript将十进制转换为十六进制?

    JavaScript中有很多内置函数可以帮我们进行数(进)制转换.那么给定一个十进制数字,如何将数字从十进制转换为十六进制?下面本篇文章就来给大家介绍一个使用JavaScript将十进制转换为十六进制 ...

  4. html把毫秒转换成年月日,如何使用JavaScript将毫秒转换为日期格式?

    给定一串毫秒数,如何使用JavaScript将它们转换为日期格式?下面本篇文章就来给大家介绍一下使用JavaScript将毫秒转换为日期格式的方法,希望对大家有所帮助. 方法1: ● 首先声明变量ti ...

  5. Word控件Spire.Doc 转换教程(七):如何将 Word 转换为 RTF

    为什么要将 Word 转换为 RTF? 自 1990 年代以来,Microsoft 开始为其一系列专有的文字处理格式使用 .doc 扩展名.Doc 格式通常与 Microsoft Office 应用程 ...

  6. 将JavaScript字符串全部转换为小写吗?

    如何将JavaScript字符串值转换为所有小写字母? 示例:从"您的名字"到"您的名字" #1楼 请注意,该功能仅适用于STRING对象. 例如,我正在使用一 ...

  7. 如何在JavaScript中将浮点数转换为整数?

    我想在JavaScript中将浮点数转换为整数. 实际上,我想知道如何同时进行标准转换:截断和舍入. 而且有效,而不是通过转换为字符串和解析. #1楼 按位或运算符 可以使用按位或运算符截断浮点数,它 ...

  8. JavaScript 将字符串转换为数字 – JS 字符串转 Int 示例

    JavaScript 将字符串转换为数字 – JS 字符串转 Int 示例 "John Doe" -> String 'John Doe' -> String &quo ...

  9. 在javascript中将字符串转换为数字的6种方法

    在javascript中,数字可以用两种不同的方式表示, 1.作为实际数字. 2. 作为字符串 . 很多时候,我们需要在javascript中将字符串转换为数字. 我们将看到6种不同的方法可以将字符串 ...

  10. 如何在JavaScript中将十进制转换为十六进制

    如何在JavaScript中将十进制值转换为等效的十六进制值? #1楼 如果要将数字转换为RGBA颜色值的十六进制表示形式,我发现这是以下几个技巧中最有用的组合: function toHexStri ...

最新文章

  1. C#中接口和方法的运用(Fourteenth Day)
  2. linux上查看gitlab日志,如何查看Gitlab的版本?
  3. python打包exe黑框一闪而过,解决pyinstaller打包exe文件出现命令窗口一闪而过的问题...
  4. python还是c+_人生苦短,我选C++,Python,还是Java?
  5. urule决策引擎实现增量打包部署
  6. 翻译: 顶级人工智能会议 CVPR NeurIPS AAAI 等
  7. 概率论中两个独立连续随机变量X,Y,变量Z=X+Y的密度函数为X,Y的卷积与特征函数原理
  8. 那些通宵加班的年轻人
  9. Play框架文件上传
  10. win10系统下,屏幕录制专家如何录制耳机里面的声音
  11. 顺丰控股2019财报解读
  12. 谷歌浏览器播放器声音
  13. Android版本9华为,华为应用市场旧版本下载-华为应用市场老版v9.0.0.303 安卓版 - 极光下载站...
  14. layui layer诡异bug记录
  15. java热敏打印机_用java在POS热敏打印机上打印PDF或PNG
  16. stm32f407 四路pwm输出_STM32之---PWM
  17. css 背景效果_软件技术:我写CSS的常用套路(附demo的效果实现与源码)
  18. echarts如何设置平均线
  19. 微信小程序开发收藏经验(一)
  20. 计算机考试手册:IT认证全攻略

热门文章

  1. DataStory创始人兼CEO徐亚波博士获年度青年创业榜样奖项
  2. 数字推理题的解题技巧
  3. Open-DrainPush-Pull
  4. Completed 406 NOT_ACCEPTABLE
  5. 较为安全快捷的更改C盘用户文件夹名称的方式!(2022.8.22)windows10和11均可用
  6. Win10 C盘修改用户文件夹
  7. 平平淡淡的真,安安静静的情
  8. c#仿qq好友列表控件
  9. Dnsmasq+ipset+iptables基于域名的流量管理
  10. Qt编写地图综合应用12-路线查询