Можно создать верхние колонтитулы страницы и нижние колонтитулы в отчетах 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 и нижними колонтитулами, см. https://support.microsoft.com/en-us/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 | Никакие атрибуты | n/A |
Общее количество страниц в документе | numpages | Никакие атрибуты | n/A |
Вставьте содержимое заголовка или другого стиля в верхний колонтитул страницы или нижний колонтитул (для рабочих заголовков и нижних колонтитулов) | 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.DOCXPageHeader
| mlreportgen.dom.DOCXPageFooter
| mlreportgen.dom.DOCXPageLayout
| mlreportgen.dom.PDFPageHeader
| mlreportgen.dom.PDFPageFooter
| mlreportgen.dom.PDFPageLayout
| mlreportgen.dom.DocumentPart
| mlreportgen.dom.Document
| mlreportgen.dom.Page
| mlreportgen.dom.NumPages
| mlreportgen.dom.StyleRef