Chrome не поддерживает приложение / тип RTF - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть требование отобразить файл rtf в моем HTML.Я использую тег объекта, чтобы встроить мой файл в HTML.

Когда я использую приведенный ниже код, плагин не поддерживается.Можно ли как-то отобразить документ типа rtf в моем HTML

<object data="assets/display.rtf" type="application/rtf"></object>

Примечание: я могу отобразить файл PDF с тем же подходом

1 Ответ

0 голосов
/ 03 февраля 2019

После многих попыток нашел что-то.

Сначала я скачал rtf.js по этой ссылке. rtf.js .Затем прошел по этой ссылке. Начало работы с rtf.js .(Загрузите всю папку dist и поместите ее в папку html. Папка dist не содержит jquery min js plz, скачайте ее и включите все файлы сценариев в ваш html).Ниже приведен код, который я изменил.(Весь RTF будет преобразован в объекты).Вместе со следующим кодом, пожалуйста, включите код по умолчанию, указанный в rtf.js. (Пожалуйста, убедитесь, что ваш файл rtf находится в правильном порядке.)

const rtf = 
`{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Calibri;}}
{\\*\\generator Msftedit 5.41.21.2510;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\lang9\\f0\\fs22 This \\fs44 is \\fs22 a \\b simple \\ul one \\i paragraph \\ulnone\\b0 document\\i0 .\\par

{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}
This line is the default color\\line
\\cf2
This line is red\\line
\\cf1
This line is the default color
}
}`;




<div id="display">

</div>

<script
          src="https://code.jquery.com/jquery-3.3.1.min.js"
          integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
          crossorigin="anonymous"></script>
<script>
  doc.render().then(function(htmlElements) {
     //console.log(meta);
     //console.log(htmlElements);
     console.log(htmlElements);
     var display = document.getElementById("display");
     for(var i=0;i<htmlElements.length;i++){
        //console.log(htmlElements[i][0].innerHTML);
        display.innerHTML+=htmlElements[i][0].innerHTML; //RENDERING ALL DIVS INTO display DIV
     }
     }).catch(error => console.error(error))
</script>
...