2014-09-13 84 views
4

我正在尋找一個JavaScript工具/ lib,它可以將格式化的html文本(字體標記,邊距等)轉換爲svg。我使用bootstrap-wysiwyg來啓用富文本輸入,但需要將結果轉換爲本地svg。最初的HTML是一樣的東西:將格式化的html文本轉換爲svg

<div id="editor" contenteditable="true">Go <font face="Sans">ahead</font>… and&nbsp; 
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"> 
    <blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"> 
     <div><font size="15" face="Impact">by the&nbsp;</font></div> 
    </blockquote> 
</blockquote> 
<div> 
    <div style="text-align: center;"><font size="15" face="Courier New" style="color: inherit;">way</font><span 
      style="color: inherit;">&nbsp;</span></div> 
</div> 
<div> 
    <div style="text-align: left;"><span style="color: inherit;">all is now</span></div> 
</div> 

能獲得與編輯玩弄後相當複雜的功能有點。另外我會很高興找到一個類似的JavaScript WIWhSWYG富文本編輯器,它直接創建本地svg,但到目前爲止我還沒有找到任何東西。

任何指針高度讚賞。

UPDATE: 雖然仍然在尋找我的實驗,現在有 http://quilljs.com/ 這似乎是非常有前途的,因爲它至少不會工作的一半,你一個完整的解決方案。它有一個非常方便的API,通過它可以將當前文本的所有格式信息表示爲文本/格式對象數組(在其自己的術語中稱爲Deltas)。這些Deltas是創建所需SVG文本的一個非常好的起點,特別是如果您像我的情況那樣只需要一小部分常用富編輯器功能。

+2

。如果產生SVGs打算只顯示在瀏覽器中,你可以使用''元素在你的SVG來使嵌入HTML。如果這是不可接受的,那麼你嘗試了谷歌搜索嗎?我發現至少有兩種不同的工具。 – 2014-09-13 10:17:09

+0

感謝BigBababook,我正在研究這個問題,但我仍然需要使用文本作爲掩蔽路徑的能力,所以foreinObject不會爲我做。不過,再次感謝評論。 – dorjeduck 2014-09-13 10:36:32

+0

我知道如何用http://www.cloudformatter.com/CSS2Pdf.Demos.TryIt來做到這一點。後端支持SVG以及PDF輸出。在後端服務器上啓用SVG支持需要一天的時間。 – 2014-09-13 21:18:52

回答

1

http://quotemirror.com/lab/quilljsGoesSVG/

爲概念的糙米證明劈死quilljs.com編輯器輸入轉換爲SVG。只有幾個基本的編輯功能被實現。這個實現的關鍵是使用格式化編輯器輸入的抽象表示 - deltas - 其中quilljs.com通過其奇妙的API提供。這個演示可能是錯誤的,但意味着展示一種實現這一點的方法。

enter image description here

1

如上,另一個例子。內容可編輯div。這是製作包括標題在內的整個區域的SVG,但您可以配置JS來格式化您喜歡的任何DIV。

http://www.cloudformatter.com/CSS2Pdf.Demos.TryIt

我們只是有線立即下載,選擇下載按鈕並選擇SVG。

本頁面上的大多數演示都以相同的方式工作。我們只是通過插入其他SVG(用於製圖演示)的SVG大小特徵來進行工作。

左邊的網站,SVG結果在右邊下面。

enter image description here

+0

Thx凱文,有趣的是,在我的情況下,我正在尋找一個JavaScript解決方案在程序中使用。 – dorjeduck 2014-09-17 06:00:35