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

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

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

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

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

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

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

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

unzipTemplate("titlePageTemplate.pdftx"); 

Откройте titlePageTemplate unzipped folder.

В 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 файл.

ZIP шаблон.

zipTemplate("titlePageTemplate.pdftx");

Настройка Таблицы содержимого PDF-шаблона

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

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

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

unzipTemplate("tableOfContentsTemplate.pdftx"); 

Откройте ableOfContentsTemplate t unzipped folder.

В 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 файл.

ZIP шаблон.

zipTemplate("tableOfContentsTemplate.pdftx");

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

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

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

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

unzipTemplate("chapterTemplate.pdftx"); 

Откройте chapterTemplate unzipped folder.

В 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 файл.

ZIP шаблон.

zipTemplate("chapterTemplate.pdftx");

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

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

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

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

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

См. также

| |

Похожие темы