2015-05-20 24 views
0

看,這可能是一個愚蠢的問題,並道歉,如果是......但老實說,我發現這個問題上的一切似乎是從或者爲IE6等等提出特別的警告。有關MathJax的具體問題,然後(自動?)保存到word或pdf

設置: 網頁使用數學標記和MathJax來呈現網頁中的數學(正常工作)。

用戶需要能夠將其導出爲某種類型的文檔,PDF等等,以便分發給不允許/希望成爲「系統中」頁面的證明讀者送達。

問題: 我迄今爲止試過的一切都是爲了將​​最終產品呈現給某種類型的文檔 - 而不是使用用戶啓動的瀏覽器 - 打印 - 顯示未呈現的標記,而不是最終產品。

這顯然是由於MathJax庫在瀏覽器中完全可用時呈現頁面的方式,因爲它只是一個JS腳本包含。那裏沒有驚喜。

我可以通過做一個AJAX調用呈現一個頁面,併發送該第三頁面的html整個BLOB寫出來到光盤,並與MIME和內容處置標頭MSWORD重新爲它服務獲得接近 ,將其保存到光盤等,但渲染不正確 - 大概是由於將它打包在POST電話中。無論如何,這是很多步驟最終導致一個不太正確的解決方案。

我在猜測答案會是「你不能這樣做」,至少不是沒有使用TeX Live或MikTex等巨大安裝之一,並在後端做到這一點shell調用...但我無法在這些主機上安裝。

我是否堅持使用打印到PDF解決方案的用戶?有什麼我失蹤?

謝謝,很高興在需要的地方充實,但我不能成爲第一個嘗試這樣做的人。

+0

不確定我關注。這聽起來像是在用MathJax處理的方式將HTML轉換爲PDF的方式之後。這是對的嗎? (docx是一個完全不同的混亂,不太可能工作afaik) –

+0

正確,是的。我需要將它渲染和移植,而不需要最終用戶在線和/或安裝MathJax庫。 公平地說,我們正在評估一些選項,包括對系統的只讀訪問和/或將Wiki發佈到Wiki或其他內容,並讓人們在那裏證明它。但是,便攜式,後期渲染文檔將是最好的。 而且,我相當肯定答案是「你不能這樣做」(不使用TexLive或類似的處理引擎),這是一個很好的答案。只要確保我不會錯過任何東西。 謝謝! – ChrisH

回答

1

對於PDF有幾個選項,它主要取決於你想要多少工作插嘴說。

的快速和骯髒的解決方案可能是wkhtmltopdf,但你必須specify a wait time爲JavaScript渲染完成 - 不理想。

PhantomJS需要稍微多些工作,但可以讓您在頁面上聆聽,例如,this discussion指向一個簡單示例的鏈接。 (實際上有很多基於PhantomJS的工具。)

另一種方法是首先使用MathJax-node進行預處理,然後將結果傳遞給wkhtmltopdf(然後您不必等待MathJax)。

對於doc/docx我不認爲現在有任何方法。自然的方法是使用MathJax-node生成MathML,因爲Word可以導入MathML。但Word從HTML導入時似乎不支持MathML。這同樣適用於用MathJax-node生成SVG(但對於SVG,您將無法編輯方程,因此無論如何可能會禁止)。

潘多克可能最終會提供幫助。它顯然可以將數學轉換爲MS Office格式,請參閱demo #30)。但是從快速測試來看,目前這似乎不適用於HTML輸入。

+0

我不太關心任何實現的複雜性,因爲我正在獲得一致的,可重複的和質量格式化的結果。到目前爲止,我所看到的東西都非常可怕,迄今爲止,我們傾向於只使用JIT MathJax來呈現HTML,而通過典型的腳本呈現包括類似wiki或其他顯示引擎的東西,並且遠離基於doc的可移植性。它看起來更好,更簡單,並且如前所述,更加一致和可重複。謝謝(你的)信息;我也會看看MathJax節點。 – ChrisH

+0

我想我還是不明白你實際上是什麼。 –

+0

我想我不清楚。我想預渲染mathjax格式到一個自包含的文檔中,而不是依賴校對用戶連接到'網絡並且不使用mathjax js庫進行視圖時間渲染。 *聳肩* – ChrisH

0

如果您正在考慮商業解決方案,請從callas軟件(警告:我與此解決方案密切相關)查看pdfChip。

它將HTML轉換爲PDF格式,實際上將使用MathJax將MathML轉換爲正確的PDF文件(如果您願意,甚至可以是PDF/X或PDF/A文件)。我很樂意提供更多的離線細節。

+0

我不是做出購買決定的人。我編寫代碼,分析,設計和解決。金錢傢伙是做出最終決定的人。我會看看PDFChip,如果有演示,我會給它一個旋轉。我們並不害怕花錢購買商業套餐。謝謝。 – ChrisH

相關問題