希望有人可能已经解决了这个问题。在 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,否则通过它会失败。看起来我的问题的答案是这个库没有得到积极维护,我需要找到一个新的解决方案:-/