打印:如何将每页的页脚粘贴到底部?

2023-12-13

我正在尝试将生成的 HTML 文档打印为 PDF。文档本身可以容纳多页。每个页面都是这样构建的:

<!-- Header -->

<!-- Content -->

<!-- Footer -->

这三者在每一页上看起来都很好。唯一的问题是页脚不会粘在底部...页脚将始终赶上页面的最后一个元素。只要页面填充了足够的内容,页脚就会像您期望的那样位于底部。

这是我的CSS:

.docFooter{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding-right: 2cm;
    padding-bottom: 1cm;
}

我还尝试生成一个单独的 CSS,如下所示:

@media print{
    .docFooter{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        position: absolute;
        bottom: 0;
        padding-right: 2cm;
        padding-bottom: 1cm;
    }
}

当然,我使用的是这样的 CSS:

<link rel="stylesheet" href="./main.min.css" media="all">

旁注:

  • 我只需要 Chrome 支持,因为我正在使用electron framework
  • 我正在使用这个:https://github.com/delight-im/HTML-Sheets-of-PaperCSS 文件使页面可见,就像它们将被打印给用户一样。
  • 逻辑是使用 Node.js 7.5 构建的

我做了一些研究并尝试了这些问题的答案但没有成功:

  • 打印时将每页上的自定义页脚粘贴到底部
  • 在打印时在特定页面的底部创建一个 div
  • 如何使用 HTML 在文档的每个打印页上打印页眉和页脚?

那么有没有可能用纯 CSS 来实现这一点呢?如果没有,我还会构建一些逻辑来填充页脚上方的所有空白空间,直到页面达到其最大大小。


好吧,由于某些奇怪的原因,解决方案非常简单。 不过我已经改变了我的CSS:

.docFooter{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    position: absolute;
    bottom: 0;
    padding-right: 2cm;
    padding-bottom: 1cm;
}

to this:

display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    position: absolute;
    top: 27.7cm !important;
    padding-right: 2cm !important;

因为我知道 A4 页面不会超过 29.7 厘米,所以很容易将元素设置到底部,同时使其从顶部绝对定位top: 27.7cm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印:如何将每页的页脚粘贴到底部? 的相关文章

随机推荐

  • JToken.WriteToAsync 不写入 JsonWriter

    我正在尝试创建一个以某种方式更改请求的中间件 我能够阅读它并更改内容 但我无法弄清楚如何正确设置流编写器来创建新的正文 当我打电话时normalized WriteToAsync jsonWriter the MemoryStream仍然是
  • VS2017 和 VS2015 应用程序与 dll 之间的官方二进制不兼容性是否准确?

    TL DR MS 文档指出 VS2015 和 VS2017 库之间的二进制兼容性是one way 虽然我认为这必然是双向的 问题在哪里 首先 背景 任何 MSVC 构建的库都是正式二进制兼容VS2015 和 VS2017 之间 具体来说 您
  • sqldf、csv 和包含逗号的字段

    我花了一段时间才弄清楚这一点 我也是回答我自己的问题 您有一些 csv 您想要加载它fast 你想使用sqldf包裹 您常用的代码会被一些烦人的字段所困扰 例子 1001 Amy 9 43 00 99 2 1002 Ben Jr 9 43
  • HTTPS URL 是否加密?

    使用 TLS SSL HTTPS 加密时是否所有 URL 均已加密 我想知道 因为我希望在使用 TLS SSL HTTPS 时隐藏所有 URL 数据 如果 TLS SSL 为您提供全面的 URL 加密 那么我就不必担心隐藏 URL 中的机密
  • 为什么我的 WCF 服务不使用我的实体模型?

    我在同时使用 WCF 服务和实体模型时遇到问题 我已经从现有数据库创建了一个实体模型 这可以如下所示 在来自 实体对象代码生成器 的任何控制台应用程序中使用我的类时没有任何问题 然后 我创建了 WCF 服务 其接口如下 ServiceCon
  • python 正则表达式包含缺少的逗号

    我需要确保字符串具有逗号分隔的值 我读取的字符串可能有空格分隔的值 我的输入字符串中可能缺少一些逗号 也就是说 如果存在任何空格分隔的值而没有逗号 我必须包含一个逗号 我不应该对单引号或双引号内的字符串进行任何更改 这些带引号的值可以包含除
  • 如何以编程方式快速调用 UIView 上的手势点击

    我有一个 UIView 并且我向它添加了点击手势 let tap UITapGestureRecognizer target self action Selector handleTap tap delegate self myView a
  • 在 IAsyncResult 中使用异步方法

    我正在实施令牌提供者班级来自Microsoft ServiceBus命名空间 我正在重写以下方法 protected override IAsyncResult OnBeginGetToken string appliesTo string
  • 使用 C 语言的 NXP Mifare Ultralight 从 NFC 腕带读取正确的数据

    我对 NFC 设备读取非常陌生 但我已经设法使用以下代码在我自己的项目中实现NFC mfultralight c libnfc 我不明白的是 当我从 MIFARE Ultralight 手环读取数据时 我得到了很多垃圾 例如 我的标签中有数
  • 如何将类的每个实例与另一个类的每个实例关联起来?

    一般问题 我正在研究一个简单的本体 使用 Prot g 4 3 并尝试创建一个模型 以便类的每个实例C有一些特殊的价值v 这是一个类的实例V 对于给定的属性p 我可以使用公理得到这个推论 C 子类 p value v 但我想我希望能够更进一
  • Java javax.swing.Timer - 冻结我的 GUI。解决方案?

    我有一个使用 javax swing Timer 运行的任务 它每隔几分钟执行一次 该任务需要一两秒钟 并且它冻结了我的 GUI 我可以做什么来解决这个问题 计时器任务在事件调度线程上执行 因此当您的任务运行时 不会发生其他 Swing 事
  • 如何在 Swift 中过滤 NSArray?

    self filteredUserData self userData filter listing NSDictionary gt Bool in let stringMatch listing name rangeOfString se
  • 对方案中的列表进行排序

    我想创建对列表进行排序的函数 例如我有这个列表 x1 x2 x3 xn or 1 2 3 4 5 6 我想按以下顺序显示数字 x1 xn x2 xn 1 or 1 6 2 5 3 4 你能帮我写这个例子吗 通常 当我们谈论排序时 我们指的是
  • Internet Explorer 8 和复选框 CSS 问题

    目前 我遇到了 Internet Explorer 8 忽略列表中包含复选框的填充 行高的问题 首先是我的 CSS 和 XHTML 标记here 问题发生在列表元素上 其中包括Private 目前 Firefox 3 Internet Ex
  • 向 WooCommerce 中的特定支付网关添加自定义百分比费用和固定成本

    在 WooCommerce 中 我需要为特定支付网关申请自定义手续费 按百分比成本收取的自定义手续费和按固定成本收取的自定义手续费 我有这个2 pieces代码 A 百分比成本 函数 PERCENTACE COST Add a custom
  • 如何使用假客户端为 client-go 编写简单的测试?

    Problem 我正在寻找正确的方法来测试下面的代码 我找不到任何示例如何做到这一点 仅有的main test go但它缺少 main go 对我来说 如何使用它并不明显 我也浏览过Githubissues但我找不到任何有用的东西 功能 i
  • 如何在 PHP 上将任何字符编码转换为 UTF8

    我正在开发一个网络爬虫 它可以从世界各地的网站抓取数据 并处理不同的语言和编码 目前我正在使用以下函数 它在 99 的情况下都有效 但有这1 让我头疼 function convertEncoding str return iconv mb
  • PHP - 按 MySQL 字段值过滤

    我有一个表 其中一些行包含 3 个字段 类别 标题 图像 首先 我创建了一个 foreach 循环 它返回一些带有每行信息的 html 但是 现在我实际上想创建一个可以按类别 过滤 循环的场景 我的意思是说 我想创建一个函数 它只会为类别字
  • 在React应用程序中刷新/使用带有Google OAuth2的刷新令牌后保持用户登录

    我正在构建一个 React 应用程序 其中功能的关键部分是用户可以登录他们的 Google 帐户 然后访问他们最近的 Google Drive Docs 提及和通知的提要 用户到达我的网站 我在其中加载 Google OAuth2 客户端c
  • 打印:如何将每页的页脚粘贴到底部?

    我正在尝试将生成的 HTML 文档打印为 PDF 文档本身可以容纳多页 每个页面都是这样构建的 这三者在每一页上看起来都很好 唯一的问题是页脚不会粘在底部 页脚将始终赶上页面的最后一个元素 只要页面填充了足够的内容 页脚就会像您期望的那样位