Я добавил функцию ниже, чтобы изменить поля для страницы при каждой смене страницы. я нашел форум метод, который устанавливает размер страницы:itextsharp change margin no document.SetPageSize
document.SetPageSize (New Rectangle (36.0F, 36.0F, 52.0F, PageFooter.TotalHeight))
Но я не хочу, чтобы изменить размер страницы, но эти поля. благодаря
public override void OnEndPage(PdfWriter writer, Document document)
{
try
{
DataSet dsReport = new DataSet();
foreach (DataSet obj in report.arrayDs)
{
dsReport = obj;
break;
}
Single topMargin = 0;
if (document.PageNumber != 1)
{
if (report.repeatHead) //ripete l'intestazione del report su tutte le pagine di stampa
{
repeatHead(writer, document);
topMargin = 60;
}
else
{
if (document.PageNumber == 2) //ripete l'intestazione del report solo sulla second pagina dopo la copertina
{
repeatHead(writer, document);
topMargin = 60;
}
else
{
topMargin = Convert.ToSingle(dsReport.Tables["REPORT_STYLE"].Rows[0]["topMargin"]) * 10;
}
}
document.SetMargins(Convert.ToSingle(dsReport.Tables["REPORT_STYLE"].Rows[0]["leftMargin"]) * 10,
Convert.ToSingle(dsReport.Tables["REPORT_STYLE"].Rows[0]["rightMargin"]) * 10,
topMargin,
Convert.ToSingle(dsReport.Tables["REPORT_STYLE"].Rows[0]["bottomMargin"]) * 10);
}
}
catch
{ throw; }
}
Я вижу, что вы нашли метод 'SetMargins()', который в порядке, но ** не разрешено ** изменять «Документ» в событии страницы. Почему вы делаете это в событии страницы? –
Привет и спасибо за ответ. Должен ли я меняться с каждым изменением страницы, где их лечить? спасибо – memmo77
Возможно, вы захотите перефразировать этот вопрос. Я не понимаю, о чем вы спрашиваете. –