1

OMML (オープン オフィスの数学 XML) を画像に変換する際に問題が発生しました。

この機能は、Linux に展開する必要がある進行中のプロジェクトにあります。効率のために、MS 製品 (dll、MS Office 拡張機能など) を使用しない方法を選択する必要があります。

調査結果をいくつか示します。

  1. OMML は (XSLT で) MATHML に変換できます。次に、MATHML をイメージに変換できます (jeuclid で)。
  2. OMML は (XSLT または writer2tex によって) LaTex に変換できます。それから、LaTex を画像に変換できます (mediawiki の texvc によって)。

ただし、これらのソリューションはすべて、3rd ソフトウェアまたは XSLT に依存しています。そのような変換を行うためのより良い方法はありますか?

4

2 に答える 2

0


これは、 libreofficeのヘッドレス オプションを使用した、私が見つけた最も簡単な解決策です
。それ以外の場合、次のコマンドは何もしません。
3. 次のコマンドを実行します (debian と libreoffice 3.5 では、他の OS とバージョンが異なる場合があります)。

libreoffice --headless --convert-to html --outdir out test.doc

  1. out dir を調べると、base64 の画像を含む html ドキュメントが見つかります。
  2. 前の手順を自動化する独自のスクリプトを作成します。
于 2015-02-16T10:04:48.547 に答える
0

たとえば、OMML を OOo/AOO/LibreOffice 図面にインポートし、それを png にエクスポートするマクロを書くだけです。

フィルターで OpenOffice マクロを使用する方法については、オンラインで多くの例があります。

コマンドラインから openoffice マクロを実行できます。

このようなもの、私はそれをもっと調べる時間がありません、申し訳ありません...

Sub Macro1(outfile, formula)
   ' Create a drawing.
   oDoc = StarDesktop.loadComponentFromURL( "private:factory/sdraw", "_blank", 0, Array() )
   ' Get the first page.
   oDrawPage = oDoc.getDrawPages().getByIndex( 0 ) 
   ' Input and output files - to be converted to URL's
     iURL = ConvertToURL(formula)
     oURL = ConvertToURL(outfile)
   ' Get a position in the drawing (not sure this works in draw, it does in writer)
   set oViewCursor = objDocument.CurrentController.getViewCursor()
   set oTextCursor = objDocument.Text.createTextCursorByRange(oViewCursor.getStart())
   'insert formula
   oTextCursor.InsertDocumentFromURL iFile, Array() 
      ' Save the document using a filter.
   oDoc.storeToURL(oURL, Array(MakePropertyValue("FilterName", "draw_png_Export"), ))
End Sub

コマンドラインから実行するには、次を使用します。

sdraw -invisible "macro:///Standard.Module1.ConvertWordToPDF('c:\formula.odf', 'c:\image.png')"

よろしく、

HP

于 2013-06-28T10:48:24.237 に答える