在保留不可见数据的同时将HTML粘贴到Word中

时间:2014-01-28 15:05:23

标签: html css email outlook

我认为世界上每个与IT有关的人都讨厌Outlook使用的Word HTML编辑。特别是如果你想在电子邮件中保持格式化。

但是我遇到的问题与大多数必须使用Outlook作为HTML电子邮件编辑器的问题不同。

我有一个输出HTML的应用程序,然后通过电子邮件发送给不同的人。 HTML格式很好,一切看起来很花哨。我需要做的是将一个guid嵌入到HTML表中,以便它们不可见,但在粘贴到Word中时仍然存在。理想情况下,此数据不可见,因此无法在电子邮件编辑器中轻松发现。 (它只是一个guid,因此让用户能够找到它只会让邮件变得丑陋。)

Word似乎转换了HTML,因此没有CSS,也没有任何属性可以维护。 (例如,id =“”)

你可以做一些事情,例如将font-size设置为0,这在浏览器上意味着它不会被渲染,但是Word会渲染它。此外,如果您将其粘贴到Excel中,即使前景色设置为背景色,也​​很容易看到它。

那么有没有人知道如何通过自己的元数据完整地将数据导入HTML中? (哦,并在签名中明显地粘贴guid或任何不可选的内容,因为HTML表通常放在较大的电子邮件中,以及来自同一应用程序的其他输出。)

编辑:

到目前为止我发现的最好的是:

<table><tr>
<td>Some text<a href="http://foobar.com/#--guid--" style="font-size:0px; width=0px">&nbsp;</a></td>
</tr></table>

除非你放大很多,否则根本看不到链接,但是当粘贴到Excel时,它会将整个单元格改为与guid的链接,这远非理想。

编辑2:

因此,您可以通过添加第二个链接来阻止Excel将单元格转换为超链接。这可能足以满足我的目的,但是如果你缩放并且谁知道其他客户端会用它做什么,那么元素仍然是可见的。所以我仍然在寻找一个“完美”的解决方案......

<table><tr>
<td>Some text
<a href="http://foobar.com/#--guid--" style="color:white;font-family:times new roman;font-size:0px; width=0px">&nbsp;</a>
<a href="http://foobar.com/" style="color:white;font-family:times new roman;font-size:0px; width=0px">&nbsp;</a></td>
</tr></table>

字体系列很重要,因为Word似乎能够以0px渲染字体,而其他像Verdana似乎无法让你得到一个'点'。

1 个答案:

答案 0 :(得分:1)

使用mso-ignore CSS属性。以下内容已经过Word 2010测试。

HTML源代码(在IE中打开,使用 Ctrl + A 复制, Ctrl + C 并粘贴到Word中)

<body>
Before <span style="display: none; mso-ignore: display;">0299E8BF-5408-4E1C-959F-2FA6495100D3</span> After
</body>

将Word文档另存为HTML文件。 GUID将保持隐藏状态。从Word保存为HTML,输出为:

<p class=MsoNormal>Before <span style='display:none;mso-hide:all'><span
style='mso-ignore:display'>0299E8BF-5408-4E1C-959F-2FA6495100D3</span></span>
After</p>