exponenta event banner

Настройка размера страницы и полей PDF-отчета с помощью шаблонов

В этом примере показано, как использовать шаблоны отчетов Report API для настройки размера страницы и размеров полей страницы, верхнего, нижнего и нижнего колонтитулов в отчете PDF. Кроме того, можно использовать программный подход. Используйте подход на основе шаблона, если планируется внести другие изменения в шаблоны. В противном случае используйте программный подход. Пример использования программного подхода см. в разделе Настройка размера страницы и полей отчета программно.

По умолчанию API Отчета производит страницы портрета 8.5 на 11 дюймов с однодюймовыми краями. Каждый верхний и нижний колонтитулы имеют ширину в полтора дюйма, а желоб равен нулю пикселов. Возможно, потребуется изменить эти измерения в отчете. Например, при создании отчета для европейского языкового стандарта может потребоваться создание A4 страниц. В этом примере показано, как создавать страницы A4. Эта же процедура используется для создания других размеров страницы.

Чтобы изменить размеры страницы отчета Report API, необходимо изменить размеры, указанные в шаблонах mlreportgen.report.TitlePage, mlreportgen.report.TableOfContents, и mlreportgen.report.Chapter репортеры. В этом примере показано, как изменить и использовать шаблон PDF для каждого репортера.

Настройка шаблона PDF титульной страницы

Создание копии mlreportgen.report.TitlePage шаблон PDF по умолчанию для репортера.

mlreportgen.report.TitlePage.createTemplate("titlePageTemplate.pdftx", "pdf");

Распакуйте шаблон.

unzipTemplate("titlePageTemplate.pdftx"); 

Откройте окно titlePageTemplate распакованная папка.

В редакторе HTML или текстовом редакторе откройте docpart_templates.html файл.

Чтобы изменить размер страницы и поля на A4 значения, измените page-margin и page-size свойства style атрибут layout элемент.

Установите page-margin значение свойства для:

0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in

Это значение определяет поля в следующем порядке:

  1. Верхний предел 0,98 дюйма.

  2. Левое поле 0,98 дюйма

  3. Нижний предел 0,98 дюйма

  4. Правое поле 0,98 дюйма

  5. Заголовок 0,5 дюйма

  6. Нижний колонтитул 0,5 дюйма

  7. Размер желоба 0

Установите page-size свойство для:

8.27in 11.69in portrait

Это значение задает размер страницы 8,27 на 11,69 дюйма в портретной ориентации.

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

Сохранить docpart_templates.html файл.

Запишите шаблон.

zipTemplate("titlePageTemplate.pdftx");

Настройка шаблона PDF оглавления

Создание копии mlreportgen.report.TableOfContents шаблон PDF по умолчанию для репортера.

mlreportgen.report.TableOfContents.createTemplate("tableOfContentsTemplate.pdftx", "pdf");

Распакуйте шаблон.

unzipTemplate("tableOfContentsTemplate.pdftx"); 

Откройте tableOfContentsTemplate распакованная папка.

В редакторе HTML или текстовом редакторе откройте docpart_templates.html файл.

Чтобы изменить размер страницы и поля на A4 значения, измените page-margin и page-size свойства style атрибут layout элемент.

Установите page-margin значение свойства для:

0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in

Это значение определяет поля в следующем порядке:

  1. Верхний предел 0,98 дюйма.

  2. Левое поле 0,98 дюйма

  3. Нижний предел 0,98 дюйма

  4. Правое поле 0,98 дюйма

  5. Заголовок 0,5 дюйма

  6. Нижний колонтитул 0,5 дюйма

  7. Размер желоба 0

Установите page-size свойство для:

8.27in 11.69in portrait

Это значение задает размер страницы 8,27 на 11,69 дюйма в портретной ориентации.

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

Сохранить docpart_templates.html файл.

Запишите шаблон.

zipTemplate("tableOfContentsTemplate.pdftx");

Настройка шаблона PDF главы

Создание копии mlreportgen.report.Chapter шаблон PDF по умолчанию для репортера.

mlreportgen.report.Chapter.createTemplate("chapterTemplate.pdftx", "pdf");

Распакуйте шаблон.

unzipTemplate("chapterTemplate.pdftx"); 

Откройте окно chapterTemplate распакованная папка.

В редакторе HTML или текстовом редакторе откройте docpart_templates.html файл.

Чтобы изменить размер страницы и поля на A4 значения, измените page-margin и page-size свойства style атрибут layout элемент.

Установите page-margin значение свойства для:

0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in

Это значение определяет поля в следующем порядке:

  1. Верхний предел 0,98 дюйма.

  2. Левое поле 0,98 дюйма

  3. Нижний предел 0,98 дюйма

  4. Правое поле 0,98 дюйма

  5. Заголовок 0,5 дюйма

  6. Нижний колонтитул 0,5 дюйма

  7. Размер желоба 0

Установите page-size свойство для:

8.27in 11.69in portrait

Это значение задает размер страницы 8,27 на 11,69 дюйма в портретной ориентации.

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

Сохранить docpart_templates.html файл.

Запишите шаблон.

zipTemplate("chapterTemplate.pdftx");

Использование настраиваемых шаблонов в отчете

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

Импорт пакетов API DOM и отчетов

Импортируйте пакеты API DOM и Report, чтобы избежать использования полных имен классов.

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

Создайте контейнер отчета.

rpt = Report("report","pdf");

Добавить титульную страницу

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

title = TitlePage("Title", "Magic Squares");
title.Subtitle = "Columns, Rows, Diagonals: All Equal Sums";
title.Author = "Albrecht Durer"; 

Используйте пользовательский шаблон титульной страницы для создания титульной страницы.

title.TemplateSrc = fullfile(pwd,"titlePageTemplate.pdftx");

Добавьте титульную страницу в отчет.

append(rpt,title);

Добавление оглавления

toc = TableOfContents;

Используйте пользовательский шаблон оглавления для создания оглавления.

toc.TemplateSrc = fullfile(pwd,"tableOfContentsTemplate.pdftx");

Добавьте оглавление к отчету.

append(rpt,toc);

Добавление главы

Создайте главу и укажите название.

chapter = Chapter("Introduction"); 

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

chapter.TemplateSrc = fullfile(pwd,"chapterTemplate.pdftx");

Создайте раздел и добавьте к нему абзац.

sec1 = Section("What is a Magic Square?"); 
para = Paragraph(['A magic square is an N-by-N matrix '... 
'constructed from the integers 1 through N^2 '... 
'with equal row, column, and diagonal sums.']); 
append(sec1,para);

Добавьте раздел к главе.

append(chapter,sec1);

Создайте другой раздел и добавьте к нему абзац.

sec2 = Section("Albrect Durer and the Magic Square"); 
para = Paragraph([ ... 
'The German artist Albrecht Durer (1471-1528) created '... 
'many woodcuts and prints with religious and '... 
'scientific symbolism. One of his most famous works, '... 
'Melancholia I, explores the depressed state of mind '... 
'which opposes inspiration and expression. '... 
'Renaissance astrologers believed that the Jupiter '... 
'magic square (shown in the upper right portion of '... 
'the image) could aid in the cure of melancholy. The '... 
'engraving''s date (1514) can be found in the '... 
'lower row of numbers in the square.']); 
append(sec2,para);

Добавьте раздел к главе.

append(chapter,sec2);

Добавьте главу в отчет.

append(rpt,chapter);

Закрыть и просмотреть документ

close(rpt);
rptview(rpt);

См. также

| |

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