WPS 演示中如何实现文本框中的代码高亮

之前在 mac 上使用 PPT 时可以使用 pygmentize 将高亮后的代码以 rtf 形式复制到剪贴板中。现在在 KDE Wayland 下使用类似的方法,粘贴到 WPS 演示中是原始 RTF 文本,不是高亮的代码形式,使用的命令如下:

pygmentize test.cpp -l cpp -f rtf | wl-copy -t text/rtf

执行完后 wl-paste -l 输出如下:

text/rtf
text/plain
text/plain;charset=utf-8
TEXT
STRING
UTF8_STRING

请问 WPS 演示中还有其他方法可以插入文本形式的高亮代码吗?

试试text/html?

text/html 也试了,粘贴到 WPS 演示里还是原始 HTML 文本

你把 wl-clipboard 代码里 src/wl-copy.c#L305 这一行的条件改成 false 然后重新编译运行试试?

改成 false 重新编译后,使用 wl-copy 复制 pygmentizewl-paste -l 输出如下:

text/rtf

但此时无法粘贴任何内容到 WPS 演示内,无论格式是 text/rtf 还是 text/html,似乎 WPS 演示本身就不支持 rtf 或者 html 格式文本的粘贴

那看上去这就是原因了,应该是 wps 就不支持

找到个曲线救国的法子,WPS 文字是支持 rtf 格式粘贴的,可以粘贴到 WPS 文字中然后保存,再在 WPS 演示中通过插入对象实现代码高亮。

2 Likes