c# - 在 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,但我找不到任何选项来做到这一点。它存在吗?
解决方案
使用边距是不可能做到这一点的。但是,您可以使用页眉/页脚解决此问题:
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;
推荐阅读
- react-native - 模态打开时尺寸不正确
- javascript - esbuild 无法解析 Node.js 模块“事件”
- sql - 如何组合两个具有相同值但不相同的 INNER JOIN 的选择
- c# - 使用 Json 文件作为数据库
- vertica - 垂直表分析
- android - 如果应用程序在前台,则向状态栏发送通知
- assembly - 为什么在这种情况下可以显示一个字符,但在汇编语言中使用 `int 0x10` 的字符串却不能?
- vb.net - VB.NET 将选中的 DataGridView 行导出为 CSV
- javascript - 防止恶意用户滥用和发送未经身份验证的开放 API
- java - Hibernate:没有定义查询(没有实体类)