在下面的例子中,我还需要添加目录。在xhtml2pdf中,<pdf:toc />需要插入到html文件中才能添加目录。但问题是在哪里添加它。xhtml2pdf文档只说添加到html文件。我不知道该把它添加到哪里。我尝试在很多地方添加它,所有的地方都返回了一些错误。我也在网上搜索过任何例子,都找不到。
from xhtml2pdf import pisa # import python module
# Define your data
sourceHtml = """
html>
<head>
<style>
@page {
size: a4 portrait;
@frame header_frame { /* Static Frame */
-pdf-frame-content: header_content;
left: 50pt; width: 512pt; top: 50pt; height: 40pt;
}
@frame content_frame { /* Content Frame */
left: 50pt; width: 512pt; top: 90pt; height: 632pt;
}
@frame footer_frame { /* Another static Frame */
-pdf-frame-content: footer_content;
left: 50pt; width: 512pt; top: 772pt; height: 20pt;
}
}
</style>
</head>
<body>
<!-- Content for Static Frame 'header_frame' -->
<div id="header_content">Lyrics-R-Us</div>
<!-- Content for Static Frame 'footer_frame' -->
<div id="footer_content">(c) - page <pdf:pagenumber>
of <pdf:pagecount>
</div>
<!-- HTML Content -->
<h1>Title Page</h1>
<h1>Chapter 1</h1>
</body>
</html>
"""
outputFilename = "test.pdf"
# Utility function
def convertHtmlToPdf(sourceHtml, outputFilename):
# open output file for writing (truncated binary)
resultFile = open(outputFilename, "w+b")
# convert HTML to PDF
pisaStatus = pisa.CreatePDF(
sourceHtml, # the HTML to convert
dest=resultFile) # file handle to recieve result
# close output file
resultFile.close() # close output file
# return True on success and False on errors
return pisaStatus.err
# Main program
if __name__ == "__main__":
pisa.showLogging()
convertHtmlToPdf(sourceHtml, outputFilename)发布于 2021-01-28 21:23:20
把它放在你喜欢的任何地方,注意它在某种程度上是空格敏感的,所以为了使它工作,粘贴如下所示的div
<div>
<pdf:toc />
</div>https://stackoverflow.com/questions/58696471
复制相似问题