首页 > 解决方案 > 在 SelectPDF 生成的 PDF 中,有没有办法仅删除第一页的上边距?

问题描述

我正在尝试使用 SelectPDF 生成 PDF 报告。该报告是多页长的,因此我需要分页符。每当出现这些分页符时,我都需要顶部和底部边距,这样报告就不会看起来难看,但我只能找到为每一页或没有页面添加边距的选项,而不是“除了第一页之外的每一页”。

报告的来源是我设置的 HTML/CSS。内容是动态的,所以我无法手动控制文本......我拥有的最大粒度是控制 CSS。

HtmlToPdf converter = new HtmlToPdf();
converter.Options.PdfPageSize = PdfPageSize.A4;
converter.Options.PageBreaksEnhancedAlgorithm = true;
converter.Options.MarginTop = 20;
converter.Options.MarginBottom = 20;

“MarginTop”选项为每一页添加上边距。它适用于除第一个页面之外的每个页面,我需要它为 0,但我找不到任何选项来做到这一点。它存在吗?

标签: c#selectpdf

解决方案


使用边距是不可能做到这一点的。但是,您可以使用页眉/页脚解决此问题:

HtmlToPdf converter = new HtmlToPdf();
converter.Options.PdfPageSize = PdfPageSize.A4;
converter.Options.PageBreaksEnhancedAlgorithm = true;

converter.Options.DisplayHeader = true;
converter.Header.Height = 20;
converter.Header.DisplayOnFirstPage = false;

converter.Options.DisplayFooter = true;
converter.Footer.Height = 20;

推荐阅读