使用 HTML 生成的 pdf 第二页上的重叠标题

2024-04-01

Target:为动态生成的 pdf 提供最多 8 厘米的边距,每页都有重复的页眉和页脚。

当前的问题:虽然我可以给pdf留出边距,并且内容在第一页上正确对齐,但从第二页开始,正文内容开始与页面标题重叠,

第 2 页及以后 - 问题

How it SHOULD LOOK LIKE How it SHOULD LOOK LIKE

我尝试过的:尝试了相关问题的解决方案,例如:-内容与 PDF 第二页上的页眉重叠 https://stackoverflow.com/questions/62781259/content-overlapping-with-header-on-second-page-of-pdf and 打印/PDF 时表格标题重叠在第二页上 https://stackoverflow.com/questions/67463956/table-headers-overlapping-on-second-page-when-printing-pdf还有其他的,但它们似乎都不起作用。

Code:-

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="preconnect" href="https://fonts.gstatic.com" />
    <link
      href="https://fonts.googleapis.com/css2?family=Mulish:wght@400;700&display=swap"
      rel="stylesheet"
    />
    <link
      href="https://cdn.jsdelivr.net/npm/[email protected] /cdn-cgi/l/email-protection/dist/css/bootstrap.min.css"
      rel="stylesheet"
      integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl"
      crossorigin="anonymous"
    />
    <title>Document</title>
    <style>
      /* Styles go here */
      @media print {
        * {
          -webkit-print-color-adjust: exact !important;
        }
      }
      * {
        font-family: "Mulish", sans-serif;
      }
      .section-padding {
        padding-bottom: 20px;
      }
      .table > :not(:last-child) > :last-child > * {
        border-bottom-color: inherit;
      }
      strong {
        font-weight: 700 !important;
      }
      .page-header,
      .page-header-space {
        height: 250px;
      }
      .page-footer,
      .page-footer-space {
        height: 100px;
      }
      .page-footer {
        position: fixed;
        bottom: 0;
        width: 100%;
      }
      .page-header {
        position: fixed;
        top: 0mm;
        width: 100%;
      }
      .page {
        page-break-after: always;
      }
      @page {
        margin: 5cm;
      }
      @media print {
        thead {
          display: table-header-group;
        }
        tfoot {
          display: table-footer-group;
        }
        body {
          margin: 0;
        }
        table {
          page-break-inside: auto;
        }
        tr,
        div {
          page-break-inside: avoid;
          page-break-after: auto;
        }
      }

    </style>
  </head>
  <body>
    <div class="page-header">
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
      Header</br>
    </div>
    <div class="page-footer">
      Footer
    </div>
    <table style="padding: 0; margin: 0; width: 100%;">
      <thead>
        <tr>
          <td>
            <!--place holder for the fixed-position header-->
            <div class="page-header-space"></div>
          </td>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>
            <div class="page" style="color: green; font-weight: bold;">
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
                Main content</br>
            </div>
          </td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <td>
            <!--place holder for the fixed-position footer-->
            <div class="page-footer-space"></div>
          </td>
        </tr>
      </tfoot>
    </table>
    <script
      src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected] /cdn-cgi/l/email-protection/dist/umd/popper.min.js"
      integrity="sha384-KsvD1yqQ1/1+IA7gi3P0tyJcT3vR+NdBTt13hSJ2lnve8agRGXTTyNaBYmCR/Nwi"
      crossorigin="anonymous"
    ></script>
    <script
      src="https://cdn.jsdelivr.net/npm/[email protected] /cdn-cgi/l/email-protection/dist/js/bootstrap.min.js"
      integrity="sha384-nsg8ua9HAw1y0W1btsyWgBklPnCUAFLuTMS2G72MMONqmOymq585AcH49TLBQObG"
      crossorigin="anonymous"
    ></script>
  </body>
</html>

PS:仅当边距超过 1.5 厘米时,该问题才会重现,如果任何其他第三方工具或任何其他方式可以实现目标,请随时分享。

谢谢你!


经过大量资料搜索后,最后我可以得出结论,随着页边距的增加,可以赋予页眉的最大值即<thead>减少。

例如,

  • 0 厘米页边距 - 最大标题高度可为 250 像素
  • 1 厘米页边距 - 最大标题高度可为 230 像素

等等。

.page-header,
.page-header-space {
  height: 250px;
}

需要补充的一点是,给出的值不是严格的值,会根据您的用例而变化,但通过根据边距值改变标头大小,可以实现问题中给出的目标。

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

使用 HTML 生成的 pdf 第二页上的重叠标题 的相关文章

  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • 来自 HTML5 的 Phonegap Bonjour/Zeroconf 或 Websocket IP 发现

    我正在尝试实现一个 Phonegap HTML5 应用程序 该应用程序连接到 Websocket 服务器 在嵌入式设备中运行 也有 Bonjour 服务 以在家庭网络内交换数据 我想知道使用 Phonegap 检测服务器 IP 的最佳方法
  • 当共享相同的行和列时,将网格项设置为不重叠

    现在 当两个网格项共享相同的行和列时 它们会相互重叠 div class some grid container div Item 1 div div Item 2 div div 我如何让它们不重叠 当共享相同的行和列时 其行为可能类似于
  • 先按行再按列布局 div

    我有一个容器div and 3 div里面如下 div div 1 div div 2 div div 3 div div 不知道每一个的内容div内部 但它们的高度和宽度是可变的 集装箱的高度由最高的决定div inside 我想展示这些
  • jQuery - 如何从 div > p 获取文本

    如何从 div 类中获取主题名称 div class subject img src image eng jpg p English p div div class subject img src image bio jpg p Biolo
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 暂停除了已激活的玩家之外的所有其他玩家。

    我有这个插件 它可以将不同的样式应用于 html5
  • 如何使用 JavaScript 创建链接?

    我有一个标题字符串和一个链接字符串 我不知道如何将两者放在一起以使用 JavaScript 在页面上创建链接 任何帮助表示赞赏 我试图解决这个问题的原因是因为我有一个 RSS 源并且有一个标题和 URL 列表 我想将标题链接到 URL 以使
  • 为什么我的淘汰单选按钮在另一个具有点击绑定的元素内时会失败?

    我有一个单选按钮列表 我想要点击 li 他们还检查单选按钮 这一切都有效 直到我放了一个name单选元素上的属性 然后我的代码停止工作 我的代码如下所示 ul li li ul li
  • 悬停此元素时隐藏元素后的伪元素

    我的菜单垂直放置在页面左侧和菜单之间 li 我有一个 after那是一个分隔符 我想要的是当我悬停元素本身 如果它是第一个元素 时隐藏 after 元素 或者当它是中间元素时隐藏上面和底部的元素 如果它是最后一个子元素 则隐藏 after前
  • 将图像作为框架放置在 iframe 周围?

    我有一个网站尝试以移动格式显示 但在宽屏幕上 我确信 iframe 是正确的选择 我正在尝试将 iframe 加载到 iPhone 的图像中 你可以看一个例子here http webfro gs south tour iframe tes
  • 响应式图像 - srcset 和尺寸属性 - 如何正确使用两者:基于设备像素比和基于视口的选择一起?

    到目前为止 我经常读到这个问题 并且它也发生在我自己的项目中 这里介绍一下我到目前为止所发现的关于 srcset 和 size 属性的内容 关于如何使用有两种不同的可能性srcset 属性 来源 w3c http w3c github io
  • 有角度的动态背景图片

    在 html 模板中 我有这种带有动态图像的样式 div style background none width 200px height 150px div 它适用于网络浏览器和 Android 浏览器 但是 使用 style 的动态背景
  • Jquery 数据表列总和

    我只是参考一下这个链接 https datatables net examples advanced init footer callback html了解如何获取 jquery 数据表中的列总计 但我已经完成了一半的项目 我在html页面
  • 使用 CSS 使一行 div 高度相同

    我有一排必须具有相同高度的 div 但我无法提前知道该高度可能是多少 内容来自外部源 我最初尝试将 div 放置在封闭的 div 中并将它们向左浮动 然后我将它们的高度设置为 100 但这没有明显的效果 通过将封闭 div 的高度设置为固定
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • CSS3 信封形状

    正如您可能已经猜到的 该图像是邮件信封形状的一部分 如果可能的话 我想使用 CSS3 创建该形状 我已经制作了其他部分 但这个很棘手 该形状需要两侧都有三角形切口和圆角 大概是 border radius bottom left borde

随机推荐

  • 单击 Firebase 动态链接后 - DynamicLinks.dynamicLinks().handleUniversalLink 返回 false

    我正在使用 Firebase 动态链接 并且在 Firebase 控制台中创建的链接很少 这是我复制粘贴到电子邮件并单击的示例短链接 https app xxx com deeplink xyz https app xxx com deep
  • 对象跟随鼠标光标

    我正在做一个Wpf应用程序 我创建了一个眼睛形状的控件 我在画布中放置了一个椭圆 眼睛 我的目的是当鼠标光标进入画布时 椭圆跟随鼠标光标 您对如何执行此任务有什么建议吗 非常感谢您的关注 Cheers EDIT 我已经更新了 Xaml 中的
  • 创建特定大小的零向量

    我想初始化一个具有在运行时确定的特定大小的零向量 在 C 语言中 它会是这样的 int main void uint size get uchar int A size size memset A 0 size size sizeof in
  • C++/CLI pin_ptr

    是 C CLI 的pin ptr http msdn microsoft com en us library 1dz8byfh 28v vs 80 29 aspx相当于C 的固定陈述 http msdn microsoft com en u
  • 警告:错误的管道:没有元素“x264enc”

    过去几天我一直在努力让它运行 我有一个需要 x264enc 的 gstreamer 命令 我正在运行一个Mac我似乎无法安装 x264 开发库 我已经安装了gst plugins bad但这没有帮助 我在论坛中读到 在安装之前我需要先安装
  • 如何拆分 Visual Studio 解决方案?

    我有一个 Visual Studio 2008 解决方案 其中包含超过 40 个相互依赖的 C 和 C CLI 项目 使用该解决方案的速度非常慢 通常我一次只需要几个项目 因此我决定将解决方案拆分为包含 3 5 个项目的多个解决方案 我还想
  • php 5.x 7.x,ssl pdo 错误:对等证书 CN=`someName' 与预期的 CN='someIP' 不匹配

    我们有一个在端口 3306 上带有 mysql 的服务器 我们有证书和密钥 并且我们尝试连接到该服务器 但我们看到这样的问题 对等证书 CN SomeName 与预期的 CN someIP 不匹配 我读了很多文章 但找不到 PDO PHP
  • Symfony 2 安全性:不断从用户提供商重新加载数据?

    当用户已经登录时 安全组件会在每次请求时不断从用户提供程序重新加载数据 有办法避免这种情况吗 当您的用户提供程序不在本地数据库中 例如在 Web 服务中 时 这可能会显着降低系统速度 对于每个请求我都会得到这个 2012 08 15 20
  • 如何将变量从一个应用程序域传递到另一个应用程序域

    我想知道 如果我有一个变量 例如一个字符串 如何将其值传递到我的新应用程序域 static string str static void Main string args str abc AppDomain domain AppDomain
  • 未在虚拟机内分配外部 IP

    我正在尝试设置几个 Centos 6 虚拟机 我为它们分配了静态 IP 但运行 ifconfig 时 我看不到外部 IP 只看到内部 IP Google 不允许这种功能吗 除了Anderson所说的之外 这是从实例本身查询外部IP的命令 c
  • 是否有 API 可以通过编程方式制作 MS Office 365 Powerpoint 演示文稿?

    可以用谷歌来完成 但我们这里使用微软的产品 我希望能够发出 JSON 请求 向其发送一些可访问图像的 URL 并为每个图像创建一张幻灯片 有几种方法可以解决这个问题 第一种是使用 MS PPT 中附带的内置 API 它是一组 COM 对象
  • 每个 Unix 文件描述都有自己的读/写缓冲区吗?

    在参照这个问题 https stackoverflow com q 5200923 1586关于 read 和 write 我想知道每个打开的文件描述是否都有自己的读写缓冲区 或者当文件一次打开多次时 文件是否可能有一个读写缓冲区 我很好奇
  • 启动 Eclipse 导致无法创建 Java 虚拟机

    启动 eclipse exe 时出现错误消息 创建Java虚拟机失败 当我单击 eclipsec exe 时 Eclipse 将启动 有什么区别eclipse exe and eclipsec exe 为什么昨天运行的 eclipse ex
  • gRPC 客户端在 Kubernetes 内重新连接

    如果我们在 Kubernetes Pod 中定义微服务 那么当服务 Pod 重新启动时 我们是否需要检测 gRPC 客户端重新连接 当 Pod 重新启动时 主机名不会更改 但我们不能保证 IP 地址保持不变 那么 gRPC 客户端是否仍然能
  • React Native Android:显示来自 Java 的 Activity

    我需要在 React native 中显示一个 Activity Native android Java 我知道这个问题已经被问过几次了 但没有一个对我有帮助 我没有找到任何关于如何在 React Native 中调用 打开 Activit
  • Python Popen().stdout.read() 挂起

    我正在尝试使用 Python 获取另一个脚本的输出subprocess Popen就像下面这样 process Popen command stdout PIPE shell True exitcode process wait outpu
  • 如何在不伴随装箱(即逐项化)的情况下将值分配给哈希键?

    来自 哪里这个问题 https stackoverflow com questions 65456629 assignment to a list container confusion 我想有一个List 或者一般来说是非标量的东西 作为
  • 如何动态地将首选项添加到首选项屏幕并绑定它们的值?

    我是安卓新手 在我的应用程序中我想做这样的事情 我有一个容器 我想动态添加项目到其中 在一个项目中可能有一些字段 所以树会像这样 main container item 1 field 1 field 2 field n item 2 fi
  • 引用所需的重载泛型方法

    given public Class Example public static void Foo lt T gt int ID public static void Foo lt T U gt int ID 问题 称其为 重载通用方法 是
  • 使用 HTML 生成的 pdf 第二页上的重叠标题

    Target 为动态生成的 pdf 提供最多 8 厘米的边距 每页都有重复的页眉和页脚 当前的问题 虽然我可以给pdf留出边距 并且内容在第一页上正确对齐 但从第二页开始 正文内容开始与页面标题重叠 第 2 页及以后 问题 How it S