如何以彩色打印iPython Notebook预览?

7 投票
2 回答
5212 浏览
提问于 2025-04-18 02:04

我在使用Windows系统的Python 2.7.6和iPython 2.0.0。当我在笔记本上预览打印时,看到的输出非常漂亮,有丰富的颜色和语法高亮。

但是一旦我进行打印预览或者直接打印,输出就变成了黑白的,语法高亮也消失了。我该怎么做才能在打印时保留颜色和高亮呢?

2 个回答

9

我知道这个问题有点老了,但对于可能在寻找这个答案的人来说,这里有个解答:

在Windows系统上,IPython默认安装在 C:\Python27\site-packages\IPython 这个路径下。如果你把Python安装在其他地方,路径的开头会有所不同。对于Linux用户来说,它会安装在 /usr/lib/python2.7/site-packages/IPython

进入IPython文件夹后,找到 html\static\style 这个文件夹。你应该能看到一个叫 style.min.css 的文件。

确保你有管理员权限,然后用你喜欢的文本编辑器打开 style.min.css。如果你不知道什么是文本编辑器,直接双击这个文件就可以了。在 style.min.css 文件中,找到以 @media print 开头的那一行。在这一行的开头附近,你会看到 color: #000 !important;。只需删除这一部分,然后保存文件。

我用的是IPython 2.3.0,所以你版本可能会有所不同,但我说的这一行在修改前后的样子是这样的(只显示了部分内容):

@media print{*{text-shadow:none !important;color:#000 !important;background:tran...

@media print{*{text-shadow:none !important;background:transparent !important;box...
10

一个解决办法是,把笔记本保存为HTML格式。这样生成的文件会把样式(CSS)嵌入其中。然后用文本编辑器打开这个HTML文件,搜索

@media print

找到后,删除里面的

!important;color:#000

保存文件后,用浏览器打开它,然后进行打印。

虽然这个方法不是最完美的,但你不需要去修改CSS或者重新编译你的网站包。

这只是为了给那些寻找更简单解决办法的人提供一个参考。

撰写回答