如何在Open Office Org演示文稿中embedded源代码或HTML而不使用屏幕截图?

我需要为我的编程类写很多类的课程演示 ,而且我经常需要显示源代码 (主要是C代码)。

在这里输入图像说明

我找不到一个简单的方法来:

  1. 复制我的编辑器(凯特)和我的源代码
  2. 将其粘贴,并将源代码高亮显示Open Office演示文稿 (OOP)。

如果代码太小,我所做的只是一个快照 ,或者如果太大,停止演示并在数据库中打开Kate。

在这个其他问题一些build议embeddedHTML代码。 所以我安装了QSource-Highlight ,很容易将C代码转换成HTML (也是GNU源代码高亮,code2html等等)。 他们都不能将源代码转换为突出显示的RTF (富文本格式)的版本,这将是另一种方式。

拥有HTML并没有帮助,因为我找不到将HTML插入到演示文稿的简单方法。 这个网站展示了一个非常绝招的Windows 解决 它需要将c代码转换为HTML使用特定的Windows程序,有一个选项将HTML复制为RTF,之后,您需要通过Word或Wordpad中的RTF,之后,你特别过去的RTF到PowerPoint。 所有的好,但我是一个Linux用户,我认为可能有更好的方法。

此外,还有另一种可能的解决scheme,安装coooder扩展到openoffice。 我不知道为什么,但试图在我的系统中安装这个扩展给我一个错误。 突触告诉我,openoffice.org核心和许多其他应该被标记。 我点击下一步,它告诉我,它想要删除所有的软件包,而coooder需要这个软件包工作,所以它不会被安装。 好…

我正在使用Linux UBUNTU 10.04和Open Office 3.2

谢谢! 贝乔。

PS:这个问题在元辩论中,以便重复上面提到的问题。 但是我的理解是,旧的问题并没有解决这个具体的问题。

PPS:关于coooder错误,我在这里发布了一个错误报告


编辑(2015-08-19)

要将RTF文本插入演示文稿LibreOffice,可以使用菜单insertfilertf (或HTML )。

有些人说从Eclipse编辑器复制代码效果不错(UPDATE:Proven FALSE )。 另一种方法是从突出显示然后在OpenOffice.org中打开/粘贴导出到RTF(也可以导出行号)或剪贴板。 (更新:certificate真实

这里是一个高亮的GUI屏幕截图: 突出显示GUI(KDE)

您也可以从OpenOffice.org切换到LibreOffice ,并从这里获取COOoder。

这个答案是完美的工作:

我有完全相同的问题,但与PHP代码而不是C.我几乎解决scheme是将代码复制为HTML在Kate中,并将其粘贴到一个临时的Open Office Writer文档。 这将其转换为Open Office自己的样式文本格式,然后可以将其复制并粘贴到Impress中。 除了稍微烦人的两步复制和粘贴,这大部分工作正常, 除了完全是粗体的线条失去其emboldening,我不得不手动修复它们。 其他一些奇怪的错误也可能发生 – Impress从OOWriter中导入样式化的文本看起来有点错误。

你可以轻松地做到这一点

  • 复制你最喜欢的编辑器的文本
  • 去打动,做一个新的文本字段
  • CTRL + SHIFT + V (或编辑→粘贴内容
  • 然后selectRTF格式(RTF)

我已经在Ubuntu下使用LibreOffice 4.2.8testing过了。

更新:我已经发布了这个macros作为LibreOffice扩展。 你可以从官方网站上安装它: Code Highlighter


我有同样的问题,但对于Java,最后我find了一个使用Pythonmacros在LibreOffice 5testing本地解决scheme。

安装

第1步:安装libreoffice-script-provider-python:

 sudo apt-get install libreoffice-script-provider-python 

第2步:安装Python 3的pygments:

 sudo pip3 install python3-pygments 

第3步:下载Highlight.py

第4步:将Highlight.py复制到/ usr / lib / libreoffice / share / Scripts / python /

 sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/ 

第5步:将只读权限设置为脚本。

 sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py 

第6步:打开LibreOffice作家,并转到工具 – >自定义 – >键盘

  • selectLibreOffice选项button(在左上angular可用)
  • select所需的快捷方式
  • 在function分类下selectshare / Highlight / Highlight_source_code
  • 点击修改button来设置快捷方式

用法

LibreOffice Impress

  • 打开LibreOffice印象。
  • 插入文本框(插入 – >文本框)。
  • 将任何代码片段复制并粘贴到该文本框中。
  • 创build一个新的样式(右键单击现有样式 – >新build…)
  • 将样式命名为code-<language>
  • 将样式应用于您的代码段文本框。
  • select文本框。
  • 使用您的快捷键来执行macros。

LibreOffice Writer / Calc

  • 打开LibreOffice Writer / Calc。
  • 插入文本框(插入 – >文本框)。
  • 将任何代码片段复制并粘贴到该文本框中。
  • 右键单击文本框并select“描述”。
  • 按以下格式添加说明: code-<language>
  • select文本框
  • 使用您的快捷键来执行macros。

更新:

我已经为此扩展添加了自定义样式支持。 对于自定义样式,使用默认样式的code-<language>-<style>code-<language>-<style> 。 可用的样式列在我的Git Hub页面中。

例如Code-Java-Emacs将使用Emacs风格着色Java代码。

有关更多详细信息,请访问Git Hub链接: libreoffice-code-highlighter

如果您熟悉LaTeX,则应考虑使用Beamer来创build演示文稿。 维基百科页面指向许多教程和文档。 用户指南可能是我find的最好的。

这可以给你所有的LaTeX的源代码片段(上市包或任何其他你喜欢)的function,以及其他常用的LaTeXfunction,你习惯了。 它捆绑了一些非常好的主题。

您可以轻松使用1行1列的表格,从您最喜欢的IDE复制并过滤您的代码,open office将保留您的代码风格。

直接从Eclipse粘贴到OpenOffice Impress似乎失去了色彩。 但是,首先粘贴到OO Writer并从那里进入OO Impress是行不通的。

我一直在用Windows下的源代码打开办公室。 在您最喜爱的编辑器(emacs,记事本,…)中查看代码,然后select/复制感兴趣的文本。 在公开的办公室打一个文本框,并粘贴。 这是有效的,因为所有的Windows工具共享一个全局剪切缓冲区。 我没有足够的Linux知道它是否有这样一个共享的剪切缓冲区,如果没有,我有点理解你的问题(如果是这样,我真的不明白你的问题)。 当然,我的解决scheme本身并不能很好地格式化/突出显示代码。

具体步骤:在Open Office Impress(“演示文稿”)中打开幻灯片,单击下方工具栏上标有“T”的框(或按F2)。 然后,在大致您想要的文本上单击幻灯片,然后拖动以创build正确大小的框。 点击方框,你可以input文字。 对于代码,我从一些编辑器窗口中剪切,并select文本框后粘贴。 如果你点击文本框的大纲,你可以改变字体(新快递有利于代码)和打印大小。

在获得正确的文本大小后,您可以重新访问特定的子string,并select/粗体或select/颜色,如果你想花哨的文字。

您可能会考虑从JavaDoc或Doxygen输出中剪切和粘贴; 您可能会将格式数据与文本一起获取。