Настройка заголовков страниц глав

В этом примере показано, как настроить заголовки страниц глав, сгенерированные Report API chapter reporter. Можно настроить заголовки страниц глав для отчетов PDF и Microsoft ® Word. Пример генерирует отчет для фиктивной компании ABC Services. Пользовательский заголовок содержит логотип компании, имя проекта и дату отчета.

Логотип компании фиксирован в заголовке. Имя проекта и дата отчета являются динамическими. Они создаются при создании отчета.

Рабочий процесс:

  1. Создайте пользовательский класс reporter главы.

  2. Измените заголовки в шаблоне главы PDF или Word.

  3. Добавьте свойства к пользовательскому классу reporter для динамического содержимого в пользовательских заголовках.

  4. Написание программы отчетов, которая использует пользовательский репортер и задает значения для свойств.

Создайте пользовательский класс Reporter главы

Создайте класс reporter главы скелета путем вызова mlreportgen.report.Chapter.customizeReporter способ. Назовите класс Chapter и сохраните его в папке класса в папке пакета.

mlreportgen.report.Chapter.customizeReporter('+abc/@Chapter');

Этот вызов метода также копирует шаблон главы для каждого типа отчета в +abc/@Chapter/resources/templates папка.

Изменение заголовков в шаблоне главы для отчета PDF

Для изменения определений заголовков в шаблоне главы для отчета PDF:

  1. Разархивируйте файл шаблона.

  2. Отредактируйте определения заголовков в docpart_templates.html файл с использованием текстового редактора.

  3. Упакуйте извлеченные файлы в файл шаблона.

Разархивируйте файл шаблона

Измените текущую папку на папку, содержащую файл шаблона PDF, default.pdftx а затем разархивируйте файл.

cd('+abc/@Chapter/resources/templates/pdf');
unzipTemplate('default.pdftx');

Извлеченные файлы находятся в папке с именем default.

Скопируйте файл изображения

Скопируйте файл изображений для логотипа компании в default/images папка. Используйте файл изображений, abc_logo.png, приложенный к этому примеру или вашему собственному файлу изображений.

Редактирование определений заголовков

В редакторе MATLAB ® или текстовом редакторе откройте docpart_templates.html, который находится в папке с именем default.

Чтобы сделать заголовки одинаковыми на всех страницах, в Section1 dptemplate элемент, удалить SectionFirstPageHeader и SectionEvenPageHeader из списка шаблонов колонтитулов.

SectionDefaultPageHeader теперь является шаблоном для всех заголовков страниц глав. Найдите SectionDefaultPageHeader шаблон.

<dptemplate name = "SectionDefaultPageHeader">
     <p class="SectionTitleHeader"><StyleRef style-name="SectionTitle1"/></p>
     <hr/>
</dptemplate>

Замените его на эту разметку:

<dptemplate name = "SectionDefaultPageHeader">
    <table width="100%">
        <tr style="border-bottom: 1pt solid #ccc;">              
            <td style="text-align:left; padding-bottom:2pt" valign="bottom">
                <img src="images/abc_logo.png"></img></td>
            <td style="text-align:center; padding-bottom:2pt; font-family:arial;
                font-size: 10pt; font-weight: bold" valign="bottom">
                <hole id="Project">PROJECT</hole></td>
            <td style="text-align:right; padding-bottom:2pt; font-family:arial;
                font-size: 10pt" valign="bottom"><hole id="Date">DATE</hole></td>
         </tr>
     </table>
</dptemplate>

Разметка задает трехколоночную таблицу с одной строкой с этими характеристиками:

  • Камеры таблицы содержат логотип компании, отверстие для имени проекта и отверстие для даты отчета.

  • Содержимое первой, второй и третьей камер выровнено по левому краю, по центру и по правому краю, соответственно.

  • Заполнение между нижней частью камеры и содержимым камеры составляет 2pt.

  • Содержимое камеры выровнено по нижней части камеры.

  • Шрифт для текста во второй камере - Arial, 10pt и жирный. Шрифт для текста в третьей камере - Arial и 10pt.

  • Видна нижняя граница строки. Таблица не имеет границ, поскольку HTML не задает border свойство.

Упаковать извлеченные файлы

Если вы редактировали docpart_templates.html в редакторе MATLAB закройте файл перед упаковкой файлов.

Убедитесь, что вы в abc/@Chapter/resources/templates/pdf + папка, содержащая папку с именем default. Упаковать файлы в default назад в исходный файл шаблона PDF.

zipTemplate('default.pdftx','default');

Изменение заголовков в шаблоне главы для отчета Word

В Word шаблон Section1 используется для глав и разделов верхнего уровня. Шаблон находится в галерее Quick Parts.

Для изменения заголовков в шаблоне Section1:

  1. Откройте файл шаблона в Word.

  2. Создайте временную копию шаблона Section1 в теле документа шаблона.

  3. Укажите, имеют ли все страницы одинаковый заголовок.

  4. Отредактируйте заголовки.

  5. Сохраните измененный шаблон Section1 в галерее Quick Parts.

  6. Удалите содержимое из тела шаблонного документа и сохраните файл шаблона.

Откройте файл шаблона

Переход к +abc/@Chapter/resources/templates/docx.

Откройте файл шаблона одним из следующих методов:

  • В MATLAB на панели Текущая папка щелкните правой кнопкой мыши файл шаблона и выберите Открыть вне MATLAB.

  • За пределами MATLAB щелкните правой кнопкой мыши файл шаблона и выберите команду Открыть.

Не кликните файл шаблона Word дважды, чтобы открыть его. Двойной щелчок по файлу открывает файл документа Word, в котором используется шаблон.

Шаблон документа откроется на пустой странице.

Отображение символов форматирования

Чтобы сделать символы абзаца и форматирования видимыми, на вкладке «Главная страница» нажмите кнопку «Показать/скрыть».

Скопируйте шаблон Section1 в документ шаблона

На вкладке Вставка (Insert) в группе Текст (Text) щелкните Быстрые детали (Quick Parts), а затем щелкните Section1 базовый блок.

В шаблонном документе Word вставляет копию шаблона Section1 и фиктивный раздел Section2. Раздел манекена игнорируется при создании отчета.

Курсор находится в фиктивном Section2. Прокрутка до шаблона Section1. Чтобы открыть заголовок, дважды кликните его.

Укажите, что все страницы имеют одинаковый заголовок

В разделе «Инструменты верхнего и нижнего колонтитулов» на вкладке « Проекте» снимите флажок «Отличная первая страница».

Заголовок для страниц, следующих за первой страницей, копируется в заголовок первой страницы.

Добавление таблицы в заголовок

На вкладке «Вставка» Нажатия кнопки Таблицы. Наведите указатель мыши на сетку, пока вы не подсветите три столбца и одну строку.

Удалите сообщение Error! No text of specified style in document и содержащийся в нем пункт.

Горизонтальное правило из исходного заголовка является нижней границей абзаца. Чтобы сделать его невидимым, щелкните абзац, а затем, на вкладке «Вкладке Home», в группе «Абзац», щелкните стреле справа от области «Границы» и выберите «Без границы».

Добавьте логотип в первую камеру таблицы

Скопируйте и вставьте логотип компании в первую камеру таблицы. Используйте приложенную abc_logo.png файл или ваш собственный файл изображений.

Добавление отверстий для проекта и даты

Если лента разработчика недоступна, щелкните Файл > Опции выберите Настроить ленту. В разделе «Настройка ленты» выберите «Разработчик».

На вкладке Разработчик (Developer) щелкните Проектом Mode (Режим), чтобы при создании отверстия можно было видеть метки отверстий с маркого заголовка.

Во второй камере перед меткой входа добавьте несколько пространства, чтобы добавить отверстие было встроенным отверстием.

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

Нажмите кнопку Управление содержимым форматированного текста. Управление содержимым форматированного текста отображений.

Удалите добавленные пространства.

Замените текст в элементе управления текстом, который идентифицирует отверстие, например Project Name.

На вкладке Developer нажмите свойства.

В диалоговом окне « Свойствах Content Control» выполните следующие действия.

  • в поле заголовок введите Project.

  • В поле Тег введите Hole.

Установите флажок Использовать стиль для форматирования текста, введенного в пустой элемент управления. Затем нажмите «Новый стиль».

В диалоговом окне «Создание нового стиля из форматирования» введите Project в поле Имя. Для форматирования задайте Arial, 10pt. Нажмите кнопку Полужирное. Нажмите кнопку ОК.

В диалоговом окне Content Control Properties нажмите OK.

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

  1. Перед меткой входа добавьте несколько пространства.

  2. Щелкните перед пространствами.

  3. Нажмите кнопку Управление содержимым форматированного текста.

  4. Удалите добавленные пространства.

  5. Замените текст в элементе управления текстом, который идентифицирует отверстие, например, Датой отчета.

  6. На вкладке Developer нажмите свойства. В диалоговом окне Свойств Content Control введите Date в поле заголовок и Hole в поле Тег.

  7. Установите флажок Использовать стиль для форматирования текста, введенного в пустой элемент управления. Затем нажмите «Новый стиль».

  8. В диалоговом окне «Создание нового стиля из форматирования» введите ReportDate в поле «Имя». Для форматирования задайте Arial и 10pt.

Таблица выглядит следующим образом:

Задайте нижнее поле камеры таблицы

Для определения нижнего поля камеры:

  1. Выберите и щелкните правой кнопкой мыши таблицу.

  2. Щелкните Свойства таблицы (Table Properties), затем на вкладке Таблица (Table) щелкните Опции (Options)

  3. В диалоговом окне Таблицы Опций под полями камеры по умолчанию в поле Bottom введите 2pt.

Выравнивание содержимого Камеры

Выровнять логотип влево в первой камере. Центрируйте отверстие в третьей камере. Выровнять отверстие в третьей камере вправо.

Для выравнивания содержимого камер:

  1. Выберите изображение или отверстие в таблице.

  2. На вкладке «Вкладке Home» в группе «Абзац» нажмите кнопку «Выровнять слева, по центру» или «Выровнять справа».

Сделать верхнюю и боковую границы таблицы невидимыми

Для отображения только нижней границы таблицы:

  1. Выберите таблицу.

  2. В разделе Таблицы Инструментов на вкладке Проекта щелкните Границы > Без границы.

  3. Выберите «Границы» > «Нижняя граница».

  4. Установите значение параметра Линии Weight равным 1pt.

Сохранение пользовательского шаблона

Закройте заголовок, дважды кликнув страницу за пределами заголовка.

Чтобы выбрать все содержимое шаблона, нажмите Ctrl + A.

На вкладке Вставка (Insert) щелкните Быстрые детали (Quick Parts), а затем щелкните Сохранить выбор (Save Selection) в Коллекции быстрых деталей (Quick Parts G

В диалоговом окне «Создание нового базового блока» в поле «Имя» введите Section1. Установите значение Quick Parts, Категория по mlreportgen, и Сохранить в по умолчанию. Нажмите кнопку ОК.

Когда вы увидите сообщение Do you want to redefine the building block entry?, нажмите Да.

Сохранение файла шаблона

Перед сохранением файла шаблона лучшей практики удалить содержимое из тела документа шаблона.

Выделив содержимое, нажмите клавишу Delete.

Чтобы скрыть символы форматирования, на вкладке «Вкладке Home», в группе «Абзац», нажмите нажатие кнопки».

Сохраните файл шаблона.

Добавление свойств к пользовательскому классу Reporter

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

Перейдите к +abc/@Chapter папка.

В файле определения класса Chapter.m, добавьте свойства, которые соответствуют Project и Date отверстия в заголовке. Замените пустые properties сечение с:

    properties 
        Project = ''
        Date = ''
    end     

Сохраните файл класса.

Сгенерируйте отчет с помощью пользовательского репортера главы

Когда вы генерируете отчет, создайте главу reporter из abc.Chapter класс. Присвойте значения свойствам, которые соответствуют отверстиям в заголовке.

Прежде чем запускать следующий код, перейдите к папке, которая содержит +abc папка. Кроме того, чтобы добавить папку, содержащую +abc папка в путь MATLAB:

  1. На панели инструментов MATLAB, на Вкладку Home, в группе Окружения, нажмите Set Пути.

  2. В диалоговом окне «Задать путь» нажмите «Добавить папку».

  3. В диалоговом окне «Добавить папку в путь» щелкните папку и выберите папку .

Вы не можете добавить пакеты к пути MATLAB. Добавьте папку, содержащую папку пакета.

Сгенерируйте отчет PDF

import mlreportgen.dom.*
import mlreportgen.report.*

report = Report("Consulting Report","pdf");
chapter = abc.Chapter();
chapter.Project = "Control Systems Consulting";
chapter.Date = date;
chapter.Title="Overview";
add(chapter,"Chapter content goes here.");
add(report,chapter);
close(report);
rptview(report);

Сгенерируйте отчет Word

import mlreportgen.dom.*
import mlreportgen.report.*

report = Report("Consulting Report","docx");
chapter = abc.Chapter();
chapter.Project = "Control Systems Consulting";
chapter.Date = date;
chapter.Title="Overview";
add(chapter,"Chapter content goes here.");
add(report,chapter);
close(report);
rptview(report);

См. также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте