5

希望有人可能已经解决了这个问题。在 Google 上没有看到有人使用它。

我在 Python 中使用 xhtml2pdf,试图生成一个带有页眉、页脚的简单文档,我的内容是带有标题的文本块。我想在每条内容周围都有一个边框,但我却在每个子元素周围都有边框。

这是我的 HTML

@page {
  size: letter;
  border: 0;
  @frame header_frame {
    -pdf-frame-content: header;
    border: 0pt solid white;
    left: .75in;
    width: 7in;
    top: .5in;
    height: 1.5in;
  }
  @frame content_frame {
    border: 0pt solid white;
    left: .75in;
    width: 7in;
    top: 1.5in;
    height: 7.5in;
  }
  @frame footer_frame {
    -pdf-frame-content: footer;
    border: 0pt solid white;
    left: .75in;
    width: 7in;
    top: 9.5in;
    height: 1in;
  }
}

h1 {
  padding-top: 5pt;
}

.desc {
  margin-top: 3px;
  margin-bottom: 3px;
  padding: 3px;
  border: 1px solid blue;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
  <title>TEST TEST TEST</title>
</head>

<body>
  <div id="header">
    <h1>HEADER</h1>
  </div>
  <div id="footer">
    FOOTER
  </div>
  <div class="desc">
    <div class="title">TITLE OF ARTICLE</div>
    <span>TEST 2</span>
    <div>TEST 3</div>
    <table>
      <tr>
        <td>Test4</td>
        <td>Test 5</td>
      </tr>
    </table>
  </div>
</body>

</html>

我现在只是在运行xhtml2pdf命令行工具,所以没有 python 可以显示。当我在调试模式下运行它时,我确实注意到了一件事,它显示“xhtml = false”,即使我有一个 XHTML DTD。我不确定这是否会有所作为。

这是我在浏览器中看到的内容,大致是我期望 pdf 的样子(当然忽略页脚位置):

预期产出

相反,我得到:

在此处输入图像描述

编辑:我发现 xhtml 是一个可以通过的选项,但除非安装了旧版本的 html5lib,否则通过它会失败。看起来我的问题的答案是这个库没有得到积极维护,我需要找到一个新的解决方案:-/

4

0 回答 0