Main Content

DOM オブジェクトに変換する HTML の準備

次の例は、HTML コンテンツを MATLAB® Report Generator™ 内部のドキュメント オブジェクト モデル (DOM) に変換する前に HTML を準備する方法を示すものです。この例では、CSS スタイル シートと、そのスタイル シートを使用する HTML ファイルを作成します。また、関数 mlreportgen.utils.html2dom.prepHTMLFile を使用して HTML ファイルのコンテンツの準備を行い、mlreportgen.dom.HTMLFile オブジェクトに変換できるようにします。この関数は、HTML を整理し、その HTML を mlreportgen.dom.HTMLFile オブジェクトがサポートするマークアップに変換します。変換前の HTML の準備を参照してください。文字列の HTML コンテンツを準備するには、mlreportgen.utils.html2dom.prepHTMLString を使用します。

CSS スタイル シート myCSS.css を作成して、段落内のテキストが赤色になるように指定します。

p {
    color: red;
  }

次の HTML を含む、myHTML.html というファイルを作成します。

<html>
<head>
    <link rel="stylesheet" type="text/css" href="myCSS.css" >
</head>
<body>
    <p> Hello World</p>
</body>
</html>

この HTML は、link 要素が適切に閉じられていないため、MATLAB Report Generator DOM HTMLFile オブジェクトで使用できません。閉じ山かっこ (>) の前にスラッシュ (/) がありません。

この HTML を mlreportgen.dom.HTMLFile オブジェクトに変換してみましょう。

import mlreportgen.dom.*
d = Document('test','pdf');
htmlObj = HTMLFile('myHTML.html');
append(d,htmlObj);
close(d);
rptview(d);
Error using mlreportgen.dom.HTMLFile
HTML error: expected end of tag 'link'

mlreportgen.utils.tidy を使用して、この HTML を整理します。この関数では、HTML 要素の書式設定にスタイル シート内の書式設定を使用しません。

import mlreportgen.dom.*
import mlreportgen.utils.*
d = Document('test','pdf');
tidy('myHTML.html');
htmlObj = HTMLFile('myHTML-tidied.html');
append(d,htmlObj);
close(d);
rptview(d);

生成されたレポートでは、テキストは赤色ではなく黒色になります。

"Hello World", in black

mlreportgen.utils.html2dom.prepHTMLFile を使用して、HTML を整理し、スタイル シートに従って HTML 要素を書式設定します。

import mlreportgen.dom.*
import mlreportgen.utils.html2dom.*
d = Document('test','pdf');
preppedHTMLFile = prepHTMLFile('myHTML.html','mypreppedHTML.html');
htmlObj = HTMLFile(preppedHTMLFile);
append(d,htmlObj);
close(d);
rptview(d);

生成されたレポートでは、テキストは赤色になります。

"Hello World", in red.

メモ

HTML の準備プロセスでは、関数 mlreportgen.utils.html2dom.prepHTMLFilemlreportgen.utils.html2dom.prepHTMLString によって MATLAB Web ブラウザー内に HTML が読み込まれます。変換前の HTML の準備を参照してください。入力 HTML またはスタイル シートで指定されていない書式は、ブラウザーによって決定されます。この例の入力 HTML では、フォント ファミリを指定していません。したがって、ブラウザーがフォント ファミリを決定します。異なるフォントでテキストをレンダリングするには、HTML 変換を準備する前に、入力スタイル シートまたは HTML でフォントを指定するか、レポート生成の書式設定機能を使用します。レポートの書式設定方法を参照してください。

参考

| | | |

関連するトピック