Можно создать верхние колонтитулы страницы и нижние колонтитулы в отчетах PDF и Word. Можно создать верхние колонтитулы страницы и нижние колонтитулы в каждом размещении для каждого из этих типов страниц:
Первая страница раздела
Четные страницы
Нечетные страницы, которые включают первую страницу, если вы не задаете первый верхний колонтитул страницы или нижний колонтитул
Можно создать верхние колонтитулы страницы отчета и нижние колонтитулы программно или в шаблоне, чтобы использовать с отчетом. Можно добавить содержимое к нижним колонтитулам.
Когда вы открываете отчет, API DOM:
Читает заголовки и нижние колонтитулы от шаблона и преобразовывает их в PDF или PageHeader
DOCX и объекты PageFooter
Сопоставляет заголовки и объекты нижнего колонтитула с объектом DOCX или PDF PageLayout
, который задает свойства раздела, который содержит заголовки и нижние колонтитулы
Добавляют заголовки и нижние колонтитулы к вашему отчету, когда ваш код перемещается по разделам, заданным шаблоном
Когда ваша программа отчета перемещается по разделам, она может добавить содержимое к заданным шаблоном заголовкам и нижним колонтитулам.
Можно вставить верхние колонтитулы страницы и нижние колонтитулы в основном шаблоне или в шаблоне части документа. Подход отличается для Word и для PDF.
Каждая страница, одним словом, документирует, имеет заголовок и нижний колонтитул, который можно отредактировать. Чтобы включить режим редактирования, дважды кликните заголовок или область нижнего колонтитула. Также на вкладке Word Insert, в разделе Header & Footer, кликают по стрелке кнопки Header или Footer. Из меню выберите соответствующую команду Edit. Когда вы закончите редактировать заголовок или нижний колонтитул на вкладке Header & Footer Tools Design, нажмите Close Header and Footer.
В режиме редактирования можно изменить заголовок или нижний колонтитул:
Вставляя текст, дыры, номера страниц и изображения
При форматировании элементов вы добавляете, например, путем определения типа номера страницы
Изменение размеров заголовка или нижнего колонтитула
Определение различного заголовка или нижнего колонтитула для первой страницы, нечетных страниц и четных страниц
Поля Inserting Word
Полевой механизм помогает вам сгенерировать заголовок или содержимое нижнего колонтитула, которое отличается от страницы до страницы. Чтобы видеть поля, можно вставить, нажать кнопку Explore Quick Parts и выбрать Field. Поле StyleRef
полезно для вставки главы или заголовков раздела в нижнем колонтитуле. Смотрите Создают Рабочие Верхние колонтитулы страницы и Нижние колонтитулы.
Для получения дополнительной информации о работе с верхними колонтитулами страницы Word и нижними колонтитулами, см. документацию Word.
Можно изменить верхние колонтитулы страницы и нижние колонтитулы непосредственно в основном шаблоне. Чтобы добавить верхний колонтитул страницы или нижний колонтитул в шаблоне части документа, измените верхний колонтитул страницы и нижний колонтитул, как вы хотите. Выберите целую страницу с помощью CTRL+A, прежде чем вы сохраните часть в галерею Quick Parts. Для получения дополнительной информации при добавлении и изменении шаблонов части документа, смотрите, Создают Библиотеку шаблонов Части Документа Microsoft Word.
Можно вставить номер страницы в заголовок или нижний колонтитул. На вкладке Header & Footer Design используйте меню Page Number, чтобы вставить номер страницы. К параметрам форматирования доступа, в заголовке или нижнем колонтитуле, щелкают правой кнопкой по номеру страницы и выбирают Format Page Numbers.
Добавление верхних колонтитулов страницы и нижних колонтитулов в шаблоне PDF включает эти шаги:
Добавьте <pheader>
и элементы <pfooter>
к макету страницы, что вы задаете использование элемента <layout>
. Можно добавить заголовок и элементы нижнего колонтитула к размещению в основном шаблоне (root.html
) или в шаблоне части документа.
Задайте шаблон части документа для каждого верхнего колонтитула страницы или стиля нижнего колонтитула.
Если вы вставляете заголовок или нижний колонтитул в размещение только программно, вы не должны добавлять <pfooter>
или элемент <pheader>
к элементу шаблона <layout>
.
Таблица показывает атрибуты, что можно использовать с <pheader>
и <pfooter>
. Эти элементы соответствуют классам DOM mlreportgen.dom.PDFPageHeader
и mlreportgen.dom.PDFPageFooter
.
Элемент | Атрибуты | Значения |
---|---|---|
pheader | type | default , first , even |
template-name | Шаблон части документа, который задает заголовок | |
pfooter | type | default , first , even |
template-name | Шаблон части документа, который задает нижний колонтитул |
Например, этот код задает шаблон Chapter
части документа, который использует два нижних колонтитула: один для нечетных страниц и один для четных страниц. Формат номера страницы является арабскими цифрами.
<dptemplate name="Chapter"> <layout style="page-margin: 1in 1in 1in 1in 0.5in 0.5in 0in; page-size: 8.5in 11in portrait"> <pfooter type="default" template-name="MyPageFooter"/> <pfooter type="even" template-name="MyEvenFooter"/> <pnumber format="1" /> </layout> <!-- Define content for your chapter here--fixed text and holes as needed --> </dptemplate>
Задайте шаблоны части документа MyPageFooter
и MyEvenFooter
в файле docpart_templates.html
. Например, задайте нижние колонтитулы так, чтобы:
Все нижние колонтитулы вставляют номер страницы. Чтобы вставить номер страницы, используйте элемент <page>
.
Нечетные номера страниц выравнивают по правому краю. Значение default
для type
на элементе pfooter
задает первые и нечетные страницы.
Числа четной страницы выравнивают по левому краю.
Эти шаблоны части документа задают нижние колонтитулы.
<dptemplate name="MyPageFooter"> <p style="text-align:right;font-family:Arial,Helvetica,sans-serif;font-size:10pt"> <page/></p> </dptemplate> <dptemplate name="MyEvenFooter"> <p style="text-align:left;font-family:Arial,Helvetica,sans-serif;font-size:10pt"> <page/></p> </dptemplate>
Эти элементы HTML API DOM полезны в заголовках и нижних колонтитулах. Например, можно добавить номера страниц в заголовки и нижние колонтитулы на Странице 1 формы 3 использований <page>
и <numpages>
. Смотрите mlreportgen.dom.NumPages
для эквивалентного программируемого подхода. Можно также сгенерировать содержимое в заголовке или нижнем колонтитуле, который изменяется на основе содержимого указанного элемента (стиль) на странице. Смотрите Создают Рабочие Верхние колонтитулы страницы и Нижние колонтитулы.
Цель | Элемент | Атрибуты | Значения |
---|---|---|---|
Формат номера страницы (то же самое как first-page-number и page-number-format на размещении) | pnumber | format | n или N для числового, a , A , i , I
|
initial-value | Номер для первой страницы в размещении, которое использует этот элемент | ||
Текущий номер страницы | page | Никакие атрибуты | нет данных |
Общее количество страниц в документе | numpages | Никакие атрибуты | нет данных |
Вставьте содержимое заголовка или другого стиля в верхний колонтитул страницы или нижний колонтитул (для рабочих заголовков и нижних колонтитулов) | styleref | Никакие атрибуты | Вставляет содержимое самого близкого элемента h1 . |
style-name или | Имя стиля с содержимым, чтобы вставить в заголовок или нижний колонтитул, или | ||
outline-level | Обрисуйте в общих чертах уровень стиля с содержимым, чтобы вставить в заголовок или нижний колонтитул |
Используйте свойство CurrentPageLayout
объекта Document
или DocumentPart
получить доступ к заданным шаблоном заголовкам и нижним колонтитулам для текущего раздела части документа или документа.
Значение свойства CurrentPageLayout
является объектом DOCXPageLayout
или PDFPageLayout
, свойства PageHeaders
и PageFooters
которого содержат массив ячеек объектов, соответствующих заданным шаблоном заголовкам и нижним колонтитулам текущего раздела. Каждый массив ячеек может содержать до трех объектов, в зависимости от того, сколько из трех типов заголовков и нижних колонтитулов (первая страница, четная страница, нечетная страница) вы задаете для раздела. Объекты могут появиться в любом порядке в массиве ячеек. Таким образом, чтобы получить доступ к заголовку или нижнему колонтитулу конкретного типа, ищите массив ячеек, чтобы найти тот, к которому вы хотите получить доступ.
Можно использовать API DOM, чтобы добавить содержимое к заданному шаблоном заголовку или нижнему колонтитулу, который появляется на каждой странице в разделе. Чтобы добавить содержимое к заголовку или нижнему колонтитулу в текущем разделе части документа или документа, сначала используйте свойство CurrentPageLayout
части документа или документа получить доступ к объекту DOCX или PDF PagerHeader
или PageFooter
. Затем используйте метод append
объекта PageHeader
или PageFooter
добавить содержимое.
Заголовок и объекты нижнего колонтитула являются типом объекта части документа. Можно добавить любой вид содержимого к верхнему колонтитулу страницы или нижнему колонтитулу, что можно добавить к части документа, например, абзацам, изображениям и таблицам.
Можно использовать дыры в заголовке и нижние колонтитулы основного шаблона, чтобы управлять расположением содержимого, которое вы добавляете к заголовкам и нижним колонтитулам. Например, эта программа добавляет сегодняшнюю дату к дыре под названием Date
на первом заданном шаблоном верхнем колонтитуле страницы первого раздела отчета. Этот пример принимает, что шаблон Word, MyReportTemplate
имеет одно размещение, которое задает первую страницу, нечетную страницу, и заголовок четной страницы и нижний колонтитул.
import mlreportgen.dom.*; d = Document('MyReport','docx','MyReportTemplate'); open(d); sect = d.CurrentPageLayout; for i = 1:numel(sect.PageHeaders) if strcmpi(sect.PageHeaders(i).PageType,'first') firstPageHeader = sect.PageHeaders(i); while ~strcmp(firstPageHeader.CurrentHoleId,'#end#') switch firstPageHeader.CurrentHoleId case 'Date' append(firstPageHeader,date); end moveToNextHole(firstPageHeader); end break; end end close(d); rptview(d.OutputPath);
Рабочий верхний колонтитул страницы или нижний колонтитул содержат содержимое, которое отличается от страницы до страницы на основе контекста. Например, имя текущей главы или раздела изменяется со страницы до страницы. Можно вставить текущее содержимое в верхний колонтитул страницы или нижний колонтитул.
Можно создать рабочие верхние колонтитулы страницы и нижние колонтитулы программно или в шаблоне.
Верхние колонтитулы страницы и Нижние колонтитулы, одним словом, Шаблон описывают общий подход к редактированию верхних колонтитулов страницы и нижних колонтитулов в Word. Чтобы добавить обычный текст, вставьте поле StyleRef
. Это поле эквивалентно API DOM класс mlreportgen.dom.StyleRef
. Чтобы вставить это поле, одним словом, обрабатывают по шаблону или шаблон части документа:
Откройте заголовок или нижний колонтитул для редактирования.
На вкладке Insert, из меню кнопки Quick Parts, выбирают Field.
В диалоговом окне Field, из списка Field names, выбирают StyleRef
. Из списка Style name выберите имя стиля, который содержит текст, который вы хотите включать в рабочий заголовок или нижний колонтитул.
Например, выберите Heading 1
, чтобы использовать содержимое абзацев, отформатированных с Заголовком 1 стиля. Ваш отчет должен создать содержимое, которое использует тот стиль для содержимого, чтобы появиться в заголовке или нижнем колонтитуле.
Нажмите OK.
Для документов в формате PDF, чтобы включать обычный текст, используют элемент <styleref>
. Добавьте код как это к файлу библиотеки docpart_templates.html
вашего шаблона. Элемент <styleref>
использует объект Heading1
для содержимого по умолчанию.
<dptemplate name="RunningFooter"> <p style="text-align:center;font-family:sans-serif;font-size:10pt"> <styleref/> </p> </dptemplate>
Чтобы видеть эффект, добавьте нижний колонтитул в элементе <layout>
файла root.html
вашего шаблона. Можно вставить его в любой элемент <layout>
, который задает шаблон.
<layout style="page-margin: 1in 1in 1in 1in 0.5in 0.5in 0in; page-size: 8.5in 11in portrait"> <pfooter template-name="RunningFooter" /> </layout>
Используйте код, который создает объекты Heading1
и вызывает ваш шаблон, чтобы видеть результат. Этот код принимает, что вы задали шаблон части документа нижнего колонтитула в шаблоне RunFooters
.
import mlreportgen.dom.*; d = Document('mydoc','pdf','RunFooters'); open(d); title = append(d, Paragraph('Document Title')); title.Bold = true; title.FontSize = '28pt'; h1 = append(d,Heading1('My First Chapter')); p1 = append(d,Paragraph('Hello World')); h2 = append(d,Heading1('My Second Chapter')); h2.Style = {PageBreakBefore(true)}; p2 = append(d,Paragraph('Text for this chapter.')); close(d); rptview(d.OutputPath);
Чтобы относиться к нижнему колонтитулу программно, используйте код в этой форме. Первый аргумент является типом нижнего колонтитула, вторым является пакет шаблона, и третьим является шаблон части документа.
PDFPageFooter('default','RunFooters','RunningFooter');
Этот код создает нижний колонтитул в текущем макете страницы, не полагаясь на шаблон, чтобы вставить нижний колонтитул. Это использует шаблон только для определения шаблона части документа.
import mlreportgen.dom.*; d = Document('mydoc','pdf','RunFooters'); open(d); myfooter = PDFPageFooter('default','RunFooters','RunningFooter'); d.CurrentPageLayout.PageFooters = myfooter; title = append(d,Paragraph('Document Title')); title.Bold = true; title.FontSize = '28pt'; h1 = append(d,Heading1('My First Chapter')); p1 = append(d,Paragraph('Hello World')); h2 = append(d,Heading1('My Second Chapter')); h2.Style = {PageBreakBefore(true)}; p2 = append(d,Paragraph('Text for this chapter.')); close(d); rptview(d.OutputPath);
API DOM обеспечивает классы, которые помогают вам создать рабочие заголовки и нижние колонтитулы программно в Word и документах в формате PDF.
Чтобы вставить заголовок главы в верхний колонтитул страницы или нижний колонтитул, смотрите mlreportgen.dom.StyleRef
.
Чтобы работать с верхними колонтитулами страницы и нижними колонтитулами, смотрите mlreportgen.dom.DOCXPageHeader
, mlreportgen.dom.DOCXPageFooter
, mlreportgen.dom.PDFPageHeader
и mlreportgen.dom.PDFPageFooter
.
Программно создайте верхний колонтитул страницы или нижний колонтитул в текущем разделе отчета. Можно использовать тот же метод для PDF, с помощью PDFPageHeader
и PDFPageFooter
вместо соответствующих частей DOCX.
Используйте DOCXPageHeader
или конструктора DOCXPageFooter
, чтобы создать желаемый тип верхнего колонтитула страницы или нижнего колонтитула (первая страница, нечетная страница, четная страница или четная и нечетная страница) на основе шаблона, который задает форму шаблона (фиксированное содержимое и дыры для переменного содержимого).
Заполните дыры в заголовке или нижний колонтитул с содержимым.
Вставьте заголовок или нижний колонтитул в массиве верхних колонтитулов страницы или нижние колонтитулы текущего объекта PageLayout
.
Этот код создает первый верхний колонтитул страницы из шаблона, сохраненного в библиотеке шаблонов части документа отчета.
import mlreportgen.dom.*; d = Document('MyReport','docx','MyReportTemplate'); open(d); pageHeaders(1) = DOCXPageHeader('first',d,'FirstPageHeader'); while ~strcmp(pageHeaders(1).CurrentHoleId,'#end#') switch pageHeaders(1).CurrentHoleId case 'Date' append(pageHeaders(1),date); end moveToNextHole(pageHeaders(1)); end d.CurrentPageLayout.PageHeaders = pageHeaders; close(d); rptview(d.OutputPath);
Чтобы вставить номер страницы, используйте объект mlreportgen.dom.Page
.
Чтобы вставить номер страницы в форму Пэйдж [текущая страница] [общие страницы], смотрите mlreportgen.dom.NumPages
.
Чтобы вставить комплексные номера страниц, одним словом, сообщают, в форме [Глава #]– [Текущая Страница #], видят, Добавляют Комплексные Номера страниц в Microsoft Word.
mlreportgen.dom.DOCXPageFooter
| mlreportgen.dom.DOCXPageHeader
| mlreportgen.dom.DOCXPageLayout
| mlreportgen.dom.Document
| mlreportgen.dom.DocumentPart
| mlreportgen.dom.NumPages
| mlreportgen.dom.PDFPageFooter
| mlreportgen.dom.PDFPageHeader
| mlreportgen.dom.PDFPageLayout
| mlreportgen.dom.Page
| mlreportgen.dom.StyleRef