exponenta event banner

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

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

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

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

  1. Создание пользовательского класса репортеров глав.

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

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

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

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

Создайте класс репортера каркасной главы путем вызова 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>

Разметка определяет таблицу из одной строки и трех столбцов со следующими признаками:

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

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

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

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

  • Шрифт текста во второй ячейке - 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 используется для глав и разделов верхнего уровня. Шаблон находится в коллекции быстрых деталей.

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

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

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

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

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

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

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

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

Перейти к +abc/@Chapter/resources/templates/docx.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На вкладке Вставить (Insert) щелкните Таблица (Table). Наведите указатель на сетку до тех пор, пока не будут выделены три столбца и одна строка.

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

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

Добавление логотипа в первую ячейку таблицы

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

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

Если лента разработчика недоступна, щелкните Файл > Параметры, а затем выберите Настроить ленту. В разделе Настроить ленту (Customize the Ribbon) выберите Разработчик (Developer).

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

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

Щелкните перед помещениями.

Нажмите кнопку «Управление содержимым форматированного текста». Отображается элемент управления содержимым форматированного текста.

Удалите добавленные помещения.

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

На вкладке Разработчик щелкните Свойства.

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

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

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

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

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

В диалоговом окне «Свойства элемента управления» нажмите «ОК».

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

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

  2. Щелкните перед помещениями.

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

  4. Удалите добавленные помещения.

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

  6. На вкладке Разработчик щелкните Свойства. В диалоговом окне «Свойства элемента управления» введите Date в поле Заголовок и Hole в поле Тег.

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

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

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

Укажите нижнее поле ячейки таблицы

Чтобы указать нижнее поле ячейки, выполните следующие действия.

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

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

  3. В диалоговом окне «Параметры таблицы» в разделе «Поля ячеек по умолчанию» в поле «Низ» введите 2pt.

Выравнивание содержимого ячейки

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

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

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

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

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

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

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

  2. В разделе «Инструменты для таблиц» на вкладке «Модель» выберите «Границы» > «Без границ».

  3. Щелкните Границы > Нижняя граница.

  4. Установите для параметра «Вес линии» значение 1pt.

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

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

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

На вкладке Вставка щелкните Быстрые детали, а затем выберите Сохранить выделенный фрагмент в коллекции быстрых деталей.

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

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

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

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

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

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

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

Добавление свойств в класс настраиваемого репортера

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

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

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

    properties 
        Project = ''
        Date = ''
    end     

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

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

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

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

  1. На панели инструментов MATLAB на вкладке Главная (Home) в группе Среда (Environment) щелкните Задать путь (Set Path).

  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);

См. также

| |

Связанные темы