我的用户需要从word(或excel)复制并粘贴到textarea中以显示在带有背景的内部网页上(因此我无法使用数据图片,因为背景不会显示)。他们正在复制的文字有颜色和标准字体。
是否有一种简单的方法让用户从word / excel复制到textarea并保留格式?
以下是从单词复制并微调着色和间距后使用的文本示例:
<table align="center" border="0">
<tbody>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="margin: auto auto auto 4.65pt; width: 422pt; border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt;" width="563">
<tbody>
<tr style="height: 33.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes;">
<td colspan="2" nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 422pt; height: 33.75pt; background-color: transparent;" width="563">
<p align="center" class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">Day</font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 1;">
<td colspan="2" nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 422pt; height: 33.75pt; background-color: transparent;" width="563">
<p align="center" class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">Date<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 2;">
<td colspan="2" nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 422pt; height: 33.75pt; background-color: transparent;" width="563">
<p align="center" class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">OSP #</font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 3;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">TIME1<o:p></o:p></font></span></b></font></p>
</td>
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 1<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 4;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<font size="160"> </font></td>
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in -10pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 1B<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 6;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">Time2<o:p></o:p></font></span></b></font></p>
</td>
<td nowrap="nowrap" style="background: rgb(146, 205, 220); border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 7pt;margin-top:7pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Actvity 2<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 6;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<font size="160"> </font></td>
<td nowrap="nowrap" style="background: rgb(250, 191, 143); border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 2B<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 7;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">Time3<o:p></o:p></font></span></b></font></p>
</td>
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt; background-color: transparent;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity3<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 8;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<font size="160"> </font></td>
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt; background-color: transparent;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 3B<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 10;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">Time4<o:p></o:p></font></span></b></font></p>
</td>
<td nowrap="nowrap" style="background: rgb(250, 191, 143); border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 7pt;margin-top:7pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 4<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 10;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<font size="160"> </font></td>
<td nowrap="nowrap" style="background: rgb(146, 205, 220); border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 4B<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 11;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri">Time5<o:p></o:p></font></span></b></font></p>
</td>
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 5<o:p></o:p></font></span></b></font></p>
</td>
</tr>
<tr style="height: 33.75pt; mso-yfti-irow: 12; mso-yfti-lastrow: yes;">
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 126.95pt; height: 33.75pt; background-color: transparent;" width="169">
<font size="160"> </font></td>
<td nowrap="nowrap" style="border-color: rgb(240, 240, 240); padding: 0in 5.4pt; width: 295.05pt; height: 33.75pt;" width="393">
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;">
<font size="160"><b><span new="" style="font-size: 24pt; mso-ascii-font-family: Calibri;" times=""><font face="Calibri"><span style="mso-spacerun: yes;"> </span>- Activity 5B<o:p></o:p></font></span></b></font></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:2)
这是一个非常复杂的过程,更像是编写应用程序而不是解决简单的复制/粘贴操作。如果您希望它在浏览器中运行,它还将涉及JavaScript,插件或Flash。
由于您没有提及有关重新发明轮子的任何内容,我认为最佳答案是使用a rich text editor with "paste from word" support,例如YUI Rich Text Editor或TinyMCE。
这是一篇关于cleaning up word format when pasting into YUI的好文章。
希望这能为您介绍这个非常复杂的主题。
答案 1 :(得分:0)
您不能使用textarea来执行此操作,而只能使用具有contenteditable
属性的div。参见https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand