我有一个Python项目,我动态创建epub文件。为此,我使用ebooklib库。我试图添加一个背景图像到每个页面作为水印的形式。按照www.example.com上的说明http://docs.sourcefabric.org/projects/ebooklib/en/latest/tutorial.html#creating-epub添加样式表,我写的代码
style = 'body { background-image: url(../watermark.png); background-repeat: no-repeat; background-attachment: fixed; }'
nav_css = epub.EpubItem(uid="style_nav",
file_name="style/nav.css",
media_type="text/css",
content=style)
book.add_item(nav_css)
无法添加图像。我想可能是路径不正确,所以将其更改为
style = 'body { color: red; }'
nav_css = epub.EpubItem(uid="style_nav",
file_name="style/nav.css",
media_type="text/css",
content=style)
book.add_item(nav_css)
在文本中添加红色,这样我就可以看到添加样式表是否有效。它没有。当我在calibri中打开这本书时,文本仍然是黑色的。我尝试在每章中添加nav_css,仍然是一样的。我做错了什么?
编辑:我只是想补充一下,我在calibri中点击了“编辑”这本书,nav.css文件确实被包含在内了。但是我没有看到任何风格上的改变。
1条答案
按热度按时间col17t5w1#
在calibri中以编辑模式打开epub并查看epub的各个部分后,我终于发现了问题所在。原来我需要将
nav_css
样式表添加到整本书和**我希望应用样式的每个章节。我还需要将用作背景水印的图像添加到书中:最后,我添加了最后一个,因为它可能会帮助其他人,似乎calibri有一个通用的设置,默认情况下将文本显示为黑色。即使我正确应用了样式,我也没有看到整个文本为红色(但是,我看到了背景图像)。只有当我在编辑模式下打开epub时,我才能在预览中看到红色文本。