之前在 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 也试了,粘贴到 WPS 演示里还是原始 HTML 文本
你把 wl-clipboard 代码里 src/wl-copy.c#L305 这一行的条件改成 false 然后重新编译运行试试?
改成 false 重新编译后,使用 wl-copy 复制 pygmentize,wl-paste -l 输出如下:
text/rtf
但此时无法粘贴任何内容到 WPS 演示内,无论格式是 text/rtf 还是 text/html,似乎 WPS 演示本身就不支持 rtf 或者 html 格式文本的粘贴
找到个曲线救国的法子,WPS 文字是支持 rtf 格式粘贴的,可以粘贴到 WPS 文字中然后保存,再在 WPS 演示中通过插入对象实现代码高亮。
2 Likes