Термин «контекст» иногда используется для ссылки на объект, на который ссылается this . Его использование неуместно, потому что оно не подходит ни семантически, ни технически с помощью ECMAScript в этом .
«Контекст» означает обстоятельства, окружающие что-то, что добавляет смысл , или некоторая предшествующая и следующая информация, которая дает дополнительный смысл. Термин «контекст» используется в ECMAScript для ссылки на контекст выполнения , который является всеми параметрами, областью действия и этой в рамках некоторого исполняемого кода.
Это показано в разделе 10.4.2 ECMA-262 :
Установите значение ThisBinding на то же значение, что и ThisBinding для контекста выполнения вызова
, в котором четко указано, что этот является частью контекста выполнения.
Контекст выполнения предоставляет информацию, которая добавляет смысл в код, который выполняется , Он содержит гораздо больше информации о том, что только thisBinding .
Таким образом, значение этого не является «контекстом», это всего лишь одна часть выполнения контекст. Это, по сути, локальная переменная, которая может быть задана вызовом любого объекта и в строгом режиме для любого значения вообще.
Предполагая, что вы добавляете текущее содержимое с помощью document.add()
, вы должны убедиться, что вы определили нижнее поле, которое достаточно велико, чтобы разместить нижний колонтитул.
Вы не разделяете код вы имеете в своем OnEndPage
методе, но предположите, что у вас есть что-то вроде:
canvas.MoveTo(36, 50);
canvas.LineTo(559, 50);
canvas.Strike();
Это рисует линию от x = 36
до x = 559
в y = 50
.
Предположим, что вы создали свой Document
следующим образом:
Document document = new Document();
В этом случае вы создаете документ со страницами формата А4 (595 x 842 пользовательских единиц) и полями в 36 пользовательских единицах , Поскольку нижний край составляет всего 36 единиц пользователей, ваш контент рискует совпадать с линией, составленной из 50 пользовательских единиц снизу.
Вы должны изменить строку, в которой вы создаете Document
, как это:
Document document = new Document(PageSize.A4, 36, 36, 36, 55);
Теперь у вас есть нижний край в 55 пользовательских единиц, а линия, которую вы рисуете на 50 пользовательских единицах, больше не перекрывается.
Примечание: Я использую пользовательские единицы / g0], так как мы определяем измерения в PDF. По умолчанию 1 пользовательский блок равен 1 точке. По умолчанию используется 36 пользовательских единиц или полдюйма.