HTML コンテンツから DOM オブジェクトへの変換
HTML コンテンツは、レポートに追加可能な DOM オブジェクトに変換できます。HTML コンテンツは、文字列またはファイル形式とすることができます。文字列の HTML コンテンツを変換するには、次の方法のいずれかを使用します。
HTML コンテンツの文字列から
mlreportgen.dom.HTML
オブジェクトを作成してレポートに追加します。この方法は、DOM API またはレポート API のレポートで利用できます。HTML コンテンツを変換し、それを
mlreportgen.dom.Document
オブジェクトまたはmlreportgen.dom.DocumentPart
オブジェクトにaddHTML
メソッドを使用して追加します。このメソッドはHTML
オブジェクトを返します。この方法は、DOM API レポートでのみ利用できます。
文字列の HTML コンテンツの変換を参照してください。
ファイル形式の HTML コンテンツを変換するには、次の方法のいずれかを使用します。
HTML ファイルから
mlreportgen.dom.HTMLFile
オブジェクトを作成してレポートに追加します。この方法は、DOM API またはレポート API のレポートで利用できます。HTML コンテンツを変換し、それを
mlreportgen.dom.Document
オブジェクトまたはmlreportgen.dom.DocumentPart
オブジェクトにaddHTMLFile
メソッドを使用して追加します。このメソッドはHTMLFile
オブジェクトを返します。この方法は、DOM API レポートでのみ利用できます。
HTML ファイルのコンテンツの変換を参照してください。
変換前の HTML の準備
MATLAB® Report Generator™ の mlreportgen.dom.HTML
オブジェクトや mlreportgen.dom.HTMLFile
オブジェクトは、通常、サードパーティ アプリケーション (Microsoft® Word など) が出力した生の HTML を受け入れることができません。これらのアプリケーションは、ネイティブなドキュメントを HTML マークアップとしてエクスポートします。そのような場合、レポート API のレポート生成プログラムで関数 mlreportgen.utils.html2dom.prepHTMLString
および mlreportgen.utils.html2dom.prepHTMLFile
を使用して、mlreportgen.dom.HTML
オブジェクトまたは mlreportgen.dom.HTMLFile
オブジェクトで使用する生の HTML を準備できます。これらの関数は、次のことを行います。
HTML 出力の設定で
mlreportgen.utils.tidy
を呼び出して、無効なマークアップを修正します。整理されたマークアップを、MATLAB Web ブラウザーを使用して HTML DOM ドキュメントに変換します。https://www.w3.org/TR/WD-DOM/introduction.htmlを参照してください。
MATLAB Web ブラウザーが、HTML 入力内の要素の CSS プロパティを、入力 HTML が指定する内部および外部のスタイル シートと要素のスタイル属性に基づいて計算します。CSS プロパティの計算では、有効なすべての CSS スタイル シート セレクターをサポートしています (
mlreportgen.dom.HTML
オブジェクトやmlreportgen.dom.HTMLFile
オブジェクトが直接サポートしていないセレクターも含む)。HTML DOM ドキュメントを、
mlreportgen.dom.HTML
オブジェクトおよびmlreportgen.dom.HTMLFile
オブジェクトがサポートする HTML マークアップに変換します。各要素のスタイル属性には、MATLAB Web ブラウザーによって計算された要素の CSS プロパティが指定されます。
通常は、その準備された HTML をプログラムでさらに処理して、改行など、構文上の問題がなく、未加工のコンテンツから変換されなかった不要なオブジェクトを削除する必要があります。
ファイルから HTML コンテンツを準備する例については、DOM オブジェクトに変換する HTML の準備を参照してください。
文字列の HTML コンテンツの変換
文字列の HTML コンテンツを DOM オブジェクトに変換するには、mlreportgen.dom.HTML
オブジェクトを作成してレポートに追加します。
import mlreportgen.dom.*; d = Document('MyDoc','docx'); htmlObj = HTML('<p><b>Hello </b> <i style="color:green">World</i></p>'); append(d,htmlObj); close(d); rptview(d);
あるいは、HTML を変換して、それを addHTML
メソッドを使用してドキュメントに追加します。このメソッドは HTML
オブジェクトを返します。
import mlreportgen.dom.*; d = Document('MyDoc','docx'); addHTML(d, '<p><b>Hello </b> <i style="color:green">World</i></p>'); close(d); rptview(d);
作成した HTML
オブジェクトには、さらに HTML コンテンツを追加できます。例:
import mlreportgen.dom.*; d = Document('MyDoc','docx'); htmlObj = HTML('<p><b>Hello </b> <i style="color:green">World</i></p>'); append(htmlObj,'<p>This is <u>me</u> speaking</p>'); append(d,htmlObj); close(d); rptview(d);
HTML
オブジェクトのコンテンツをレポートに複数回追加するには、clone
メソッドを HTML
オブジェクトで使用します。その後、クローンをレポートに追加します。
HTML ファイルのコンテンツの変換
HTML ファイルのコンテンツを DOM オブジェクトに変換するには、mlreportgen.dom.HTMLFile
オブジェクトを作成してレポートに追加します。
次の HTML を含む、MyHTML.html
というファイルを作成します。
<html><p style="color:green;font-family:arial">Hello World</p></html>
HTML ファイルのコンテンツに基づき、PDF レポートを生成します。
import mlreportgen.dom.*; d = Document('MyPDF','pdf'); htmlObj = HTMLFile('MyHTML.html'); append(d,htmlObj); close(d); rptview(d);
あるいは、HTML を変換して、それを addHTMLFile
メソッドを使用してドキュメントに追加します。
import mlreportgen.dom.*; d = Document('MyPDF','pdf'); addHTMLFile(d,'MyHTML.html'); close(d); rptview(d);
参考
addHTML
| addHTMLFile
| mlreportgen.dom.HTMLFile
| mlreportgen.dom.HTML
| mlreportgen.utils.html2dom.prepHTMLFile
| mlreportgen.utils.html2dom.prepHTMLString
| mlreportgen.utils.tidy