如何在Markdown文件中添加页眉和页脚?

6
我有一个更一般化的用例,在将Markdown转换为PDF文档时需要将公司徽标添加到每个页面的页眉中。需要注意的是,这不是最基本的问题,我需要的是类似于Word文件中的页眉和页脚。
我尝试找出解决方案,发现可以在R Markdown和Sweave中实现。我的Markdown是Github Markdown。
我使用Typora创建Markdown,但Typora没有提供相应选项。幸运的是,我发现可以通过在VS-Code中添加名为"Markdown-Pdf"的扩展程序来向Markdown添加页眉和页脚,但仍无法配置页眉和页脚。
Markdown-pdf的官方文档提供了markdown-pdf.headerTemplate设置,但给该参数指定样式并不起作用。

我可以推荐使用pandoc,详见https://pandoc.org/MANUAL.html#creating-a-pdf和https://pandoc.org/MANUAL.html#templates。 - mb21
2个回答

0
你需要在扩展的选项中添加HTML代码。
打开设置,搜索markdown-pdf.headerTemplate,并添加你的标题样式,包括图片。图片必须使用base64编码。
以下是我如何使用这些设置的示例,包括标题和图片。
"markdown-pdf.headerTemplate": "<div style=\"font-size: 9px; margin-left: 1cm;\"> <span>Some specific header text</span></div> 
<div style=\"margin-left: auto; margin-right: 1cm; \"> 
<img style='display:block; width:55px;' id='base64image' 
src=\"data:image/jpeg;base64,/9j/4A...A/9k=\"/></div>"

很遗憾,只有Base64编码的图片能够正常工作。对于较大的图片来说,这意味着需要大量的代码。

0
我也遇到过这个问题。通过编写一个Python脚本解决了它。它接受一张图片,将其转换为Base64,并自动更新VS Code的settings.json中的markdown-pdf.headerTemplate。你甚至可以加入自己的HTML模板。只需运行脚本,你的下一个Markdown PDF将拥有你想要的页眉。
import argparse, base64, json, logging, os, platform from PIL import Image

示例用法:

python3 ImageBase64VscodeConfigurator.py --i input.png --o output.txt --c 85 --s 50 --html new_template.html --header

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接