mlreportgen.dom.Template class

Пакет: mlreportgen.dom
Суперклассы:

Создайте объект шаблона отчета

Описание

Создайте объект шаблона отчета.

Использование mlreportgen.dom.Template объекты для создания шаблонов. Для примера можно добавить содержимое DOM, например Text, Paragraph, или Image объекты, и TemplateHole объекты в Template создать шаблон, содержащий фиксированное содержимое с отверстиями для сгенерированного содержимого.

Примечание

Word for Mac не поддерживает создание отверстий для шаблонов DOM API. Если необходимо создать шаблон Word для генерации документов Word на Mac, можно создать шаблон с помощью DOM API. Создайте Template объект и использование mlreportgen.dom.TemplateHole для добавления отверстий. Кроме того, используйте Word в Windows® чтобы создать шаблон и скопировать его на Mac.

Конструкция

templateObj = Template() создает объект шаблона на основе HTML по умолчанию. Получившийся шаблон находится в текущей папке и использует имя Untitled.htmtx.

Добавьте содержимое и используйте соответствующее close команда для генерации файла шаблона.

templateObj = Template(templatePath) создает объект шаблона, который выводит файл шаблона в указанном месте. Тип шаблона по умолчанию, если вы не задаете расширение, HTML.

templateObj = Template(templatePath,type) создает шаблон заданного типа. Если вы задаете расширение используя templatePathтипы должны совпадать.

Совет

Используйте переменную для type аргумент для упрощения кода. См. пример создания шаблона и добавления содержимого.

templateObj = Template(templatePath,type,sourceTemplatePath) создает шаблон на основе шаблона sourceTemplatePath.

Входные параметры

расширить все

Полный путь к шаблону, который вы хотите создать, заданный как вектор символов. Для создания шаблона соответствующего типа можно использовать расширение:

  • .htmtx для HTML (по умолчанию)

  • .docx для слова

  • .htmt для однофайлового HTML

  • .pdf для PDF

Тип шаблона, заданный в качестве одного из следующих значений:

  • 'html'- HTML как zipped или unzipped папка, содержащая текст HTML, изображение, таблицу стилей и JavaScript® файлы

  • 'docx'- Шаблон слова

  • 'html-file'- HTML, состоящий из одного файла, который содержит текст, таблицы стилей, JavaScript и изображения для отчета

  • .pdf - Шаблон PDF

Если вы используете внутренний номер с templatePath входной параметр, type аргумент должен совпадать.

Шаблон, являющийся базисом для нового шаблона, заданный как вектор символов. Тип исходного шаблона должен совпадать с type аргумент.

Выходные аргументы

расширить все

Шаблон для создания, возвращенный как mlreportgen.dom.Template объект.

Свойства

расширить все

Дочерние элементы этого элемента документа, заданные как массив объектов DOM. Это свойство доступно только для чтения.

Это свойство только для чтения является идентификатором отверстия текущего отверстия в этом документе.

Тип текущего отверстия шаблона, заданный как 'Inline' или 'Block'.

  • Встроенное отверстие предназначено для элементов документа, которые могут содержать элементы абзаца: Text, Image, LinkTarget, ExternalLink, InternalLink, CharEntity, AutoNumber.

  • Блочное отверстие может содержать Paragraph, Table, OrderedList, UnorderedList, DocumentPart, или Group.

Это свойство относится к документам Word и PDF. Для документов Word значение является DOCXPageLayout объект, задающий текущий макет страницы. Для PDF значение является PDFPageLayout Объект, задает ли документ в данный момент макет страницы. Для документов HTML значение всегда является [].

Установите это свойство на true для перезаписи существующего выходного файла с таким же именем. Если это свойство false и файл с таким же именем с возможностью записи существует, попытка закрыть (т.е. записать) этот шаблон вызывает ошибку. Если существующий файл доступен только для чтения, закрытие этого документа приводит к ошибке независимо от значения этого свойства.

Типы данных: logical

Настраиваемое содержимое для заголовка HTML, заданное как вектор символов.

Типы данных: char

Идентификатор для этого элемента документа, заданный как вектор символов или строковый скаляр. DOM генерирует уникальный идентификатор сеанса при создании элемента документа. Вы можете задать свой собственный идентификатор.

Это свойство только для чтения содержит список открытого статуса этого элемента документа.

Путь к файлу выхода или папке, заданный как вектор символов. Если вы не задаете расширение файла, DOM добавляет расширение на основе формата документа. Это свойство можно задать только перед открытием документа.

Для разархивированного выхода упаковки путь задает папку для файлов выхода. По умолчанию это текущая папка.

Упаковка для сгенерированных выходных файлов, заданная как одно из следующих значений:

  • 'zipped' - Применяется только к выходным данным Word, PDF и multifile HTML.

  • 'unzipped' - Применяется только к выходным данным Word, PDF и multifile HTML.

  • 'both' - Применяется только к выходным данным Word, PDF и multifile HTML.

  • 'single-file' - Создает отчет как один файл. Это значение появляется при установке Type документа свойство к 'html-file'. Вы не можете задать или изменить это значение самостоятельно.

Для zipped-упаковки выхода документа является zip- файла, расположенным в месте, заданном OutputPath свойство. zip- файла имеет расширение, соответствующее виду документа docx для выхода Word, pdftx для выхода PDF, или htmtx для HTML- выход. Для примера, если тип документа docx и OutputPath является s:\docs\MyDoc, выход упаковывается в zip-файл с именем s:\docs\MyDoc.docx.

Для разархивированной упаковки выход документа хранится в папке с именем корневого файла OutputPath свойство. Для примера, если OutputPath является s:\docs\MyDoc, папка выхода s:\docs\MyDoc.

Если вы задаете PackageType на both, генерация отчета создает zipped и unzipped выход.

Типы данных: char

По умолчанию элементы документа хранятся в памяти до закрытия документа. Установите это свойство на true запись элементов документа на диск по мере добавления элементов к документу.

Типы данных: logical

Тег, идентифицирующий этот документ. Тег имеет форму CLASS:ID, где CLASS - класс документа и ID - значение Id свойство объекта.

Примером причины определения собственного значения тега является упрощение определения места возникновения проблемы во время генерации документа.

Полный путь к используемому шаблону HTML или Word, заданный как вектор символов.

Для документов HTML это свойство задает текст, который отображается в строке заголовка браузера, используемого для отображения этого документа. Документы Word и PDF игнорируют это свойство.

Установите это свойство перед открытием документа для выхода.

Тип выхода, заданный в качестве одного из следующих значений:

  • 'html' - вывод HTML в виде zipped или unzipped папки, содержащей текст HTML-документа, изображение, таблицу стилей и файлы JavaScript

  • 'docx' - Вывод слова

  • 'html-file' - выход HTML, состоящий из одного файла, который содержит текст, таблицы стилей, JavaScript и изображения для отчета.

  • 'pdf' - Выходные данные PDF

Если вы задаете шаблон используя TemplatePath свойство, шаблон должен соответствовать Type свойство.

Методы

Используйте Template методы так же, как вы используете соответствующий Document методы.

Метод

Цель

append

Добавить элемент документа к документу.

close

Закройте этот документ. Вы не можете закрыть документ, если он не был открыт или был ранее закрыт.

mlreportgen.dom.Document.createTemplate

Создайте шаблон по умолчанию.

fill

Заполните отверстие документа.

mlreportgen.dom.Document.getCoreProperties

Получите основные свойства документа.

mlreportgen.dom.Document.getImageDirectory

Получите директорию изображений для документа.

mlreportgen.dom.Document.getImagePrefix

Получите префикс имени сгенерированного изображения для документа.

getMainPartPath

Получите относительный путь к основной части выхода документа.

mlreportgen.dom.Document.getOPCMainPart

Получите полный путь к основной части выхода документа.

moveToNextHole

Перейдите к следующему отверстию шаблона.

open

Откройте этот документ. Вы не можете открыть документ, если он был открыт или закрыт.

package

Добавьте файл к пакету OPC документа.

mlreportgen.dom.Document.setCoreProperties

Установите основные свойства элемента документа.

Примеры

свернуть все

Этот пример создает шаблон с отверстием для заголовка и отверстие для автора. Вы можете изменить значение type переменная для создания шаблона одного из других типов.

import mlreportgen.dom.*;

type = 'docx';

% Create a template object
t = Template('mytemplate',type);

% Add a title hole to the template and apply the Title style
hole = append(t,TemplateHole('TITLE'));
hole.Description = ('Title Description');
hole.DefaultHoleStyleName = 'Title';

% Add a paragraph with boilerplate text and apply the Subtitle format
% Position the paragraph and preserve white space in the text 
p = Paragraph('Author: ');
p.StyleName = 'Subtitle';
p.Style = {OuterMargin('0','0','1in','1in')};
p.WhiteSpace = 'preserve';

% Append an inline hole to paragraph  
hole = append(p,TemplateHole('AUTHOR'));
append(t,p);

close(t);

Этот пример использует шаблон для заполнения отверстий.

% Create a document TitleAuthor that uses the template mytemplate.
rpt = Document('TitleAuthor',type,'mytemplate');
open(rpt);

% Create a loop to cycle through the holes. 
% Append content to each hole.
while(~strcmp(rpt.CurrentHoleId,'#end#'))
    switch(rpt.CurrentHoleId)
        case 'TITLE'
            append(rpt,Paragraph('This Is My Title'));
        case 'AUTHOR'
            append(rpt,'My Name');
    end
    
    moveToNextHole(rpt);
end

% Generate and view the report.
close(rpt);
rptview(rpt.OutputPath)