В этом примере показано, как вставить уравнение в линию текста в отчете. Например:
Вы указываете, является ли уравнение на линии отдельно или в соответствии со смежным текстом путем установки DisplayInline
свойство генератора отчетов уравнения. Если DisplayInline
свойство установлено в false
, генератор отчетов добавляет изображение отформатированного уравнения на отдельной линии отчета. Если DisplayInline
свойство установлено в true
, вы получаете изображение отформатированного уравнения путем вызова getImpl
метод и добавляет изображение в абзац в отчете.
Импортируйте DOM и пакеты API Отчета так, чтобы вы не использовали долго, полностью определенные имена классов.
import mlreportgen.report.* import mlreportgen.dom.*
Этот пример создает однофайловый отчет HTML. Чтобы создать другой тип отчета, измените выходной тип в "html"
, "pdf"
, или "docx"
. Создайте абзац, чтобы содержать уравнение.
rpt = Report("myreport","html-file"); p = Paragraph("Here is an inline equation: "); p.FontSize = "14pt"; p.WhiteSpace = "preserve";
Создайте Equation
генератор отчетов. Укажите, что изображение уравнения соответствует смежному тексту путем установки DisplayInline
свойство к true
.
eq = Equation("\int_{0}^{2} x^2\sin(x) dx");
eq.DisplayInline = true;
eq.FontSize = 14;
Чтобы получить изображение снимка состояния отформатированного уравнения, вызовите getImpl
метод. Выровняйте базовую линию подынтегрального выражения уравнения с базовой линией текста путем определения суммы, которой изображение понижено от базовой линии текста. Попробуйте различные суммы, пока вы не будете удовлетворены выравниванием. Для HTML и отчетов PDF, можно задать сумму как процент высоты линии. Для отчетов Word задайте сумму как многие модули. Смотрите Value
свойство mlreportgen.dom.VerticalAlign
класс.
eqImg = getImpl(eq,rpt); if (rpt.Type == "html" || rpt.Type == "html-file" || rpt.Type == "pdf") eqImg.Style = {VerticalAlign("-30%")}; elseif(rpt.Type == "docx") eqImg.Style = {VerticalAlign("-5pt")}; end
Добавьте изображение в абзац. Добавьте абзац в отчет.
append(p,eqImg); add(rpt,p);
close(rpt); rptview(rpt);
mlreportgen.dom.Paragraph
| mlreportgen.dom.VerticalAlign
| mlreportgen.report.Equation