如何在不使用屏幕截图的情况下在Open Office组织演示文稿中嵌入源代码或HTML?

我需要在我的编程课上写很多课程演示文稿,而且我经常需要显示源代码(主要是C代码)。 我找不到一个简单的方法: 从我的编辑器(kate)复制我的源代码 将其格式化并将源突出显示到Open Office Presentation(OOP)。 我用来做的是如果代码很小的快照,或者如果它太大则停止演示并在数据池中打开Kate。 在另一个问题中,有人建议嵌入HTML代码。所以我安装了QSource-Highlight,可以轻松地将C代码转换为HTML(也包括gnu source-highlight,code2html等)。他们都不能将源代码转换为突出显示的RTF(富文本格式)的版本,这将是另一种方式。 拥有HTML没有帮助,因为我找不到一种简单的方法将HTML插入到演示文稿中。这个网站显示了一个非常特殊的Windows解决方它需要使用特定的Windows程序将c代码转换为HTML,该程序可以选择将HTML复制为RTF,之后您需要通过Word或Wordpad中的RTF,之后您将特殊的RTF转换为PowerPoint。一切都很好,但我是一个Linux用户,我认为可能有更好的方法。 此外,还有另一种可能的解决方案,将openoo扩展安装到openoffice。我不知道为什么,但尝试在我的系统中安装此扩展程序会给我一个错误。 Synaptic告诉我,openoffice.org-core和许多其他应该被标记。我点击下一步,它告诉我它要删除所有的包,并且该coooder需要这个包才能工作,所以它不会被安装。好... 我使用的是Linux UBUNTU 10.04和Open Office 3.2 谢谢! 贝乔。 PS: 这个问题在meta中进行了辩论,因此可能重复上述问题。但我的理解是,旧问题并没有解决这个具体问题。 PPS:关于coooder bug,我在这里发布了一个错误报告 编辑(2015-08-19) 要将RTF文本插入演示文稿LibreOffice,您可以使用菜单
insert
file
rtf
(或
HTML
)。     
已邀请:
有些人说从Eclipse编辑器复制代码效果很好(UPDATE:Proven FALSE)。另一种方法是从Highlight导出到RTF(也可以导出行号)或剪贴板,然后在OpenOffice.org中打开/粘贴它。 (更新:证明是真的) 这是一个Highlight GUI屏幕截图: 您也可以从OpenOffice.org切换到LibreOffice,并从此处获取COOoder。     
这个答案非常适合这项工作: 将代码文本复制到http://markup.su/highlighter/,然后 将格式化的代码复制回Open Office。     
我有完全相同的问题,但使用PHP代码而不是C.我几乎解决方案是将代码作为HTML复制到Kate中并将其粘贴到临时的Open Office Writer文档中。这会将其转换为Open Office自己的样式文本格式,然后您可以将其复制并粘贴到Impress中。除了稍微烦人的双步复制和粘贴之外,这大部分工作正常,除了完全以粗体显示的线条失去了它们的支撑,我必须手动修复它们。还可能出现一些其他奇怪的错误 - Impress从OOWriter导入样式文本似乎有点儿麻烦。     
你可以轻松地做到这一点 从你最喜欢的编辑器中复制文本 去打动,做一个新的文本字段 按CTRL + SHIFT + V(或编辑→粘贴内容) 然后选择RTF格式(RTF)。 我已经使用Ubuntu下的LibreOffice 4.2.8进行了测试。     
更新:我已将此宏发布为LibreOffice扩展。您可以从官方网站安装它:Code Highlighter 我有同样的问题,但对于Java,最后我找到了一个使用Python宏的本机解决方案,在LibreOffice 5中进行了测试。 安装 第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 Writer并转到工具 - >自定义 - >键盘 选择LibreOffice选项按钮(左上角可用) 选择所需的快捷方式 在功能类别下选择share / Highlight / Highlight_source_code 单击“修改”按钮以设置快捷方式 用法 LibreOffice令人印象深刻 打开LibreOffice Impress。 插入文本框(插入 - >文本框)。 将任何代码段复制并粘贴到该文本框中。 创建一个新样式(右键单击现有样式 - >新建...) 将样式命名为
code-<language>
将样式应用于代码段文本框。 选择文本框。 使用快捷键执行宏。 LibreOffice Writer / Calc 打开LibreOffice Writer / Calc。 插入文本框(插入 - >文本框)。 将任何代码段复制并粘贴到该文本框中。 右键单击文本框,然后选择“描述”。 按以下格式添加说明:
code-<language>
选择文本框 使用快捷键执行宏。 更新: 我已为此扩展添加了自定义样式支持。默认样式使用
code-<language>
,自定义样式使用
code-<language>-<style>
。可用的样式列在我的Git Hub页面中。 例如,
Code-Java-Emacs
将使用Emacs样式着色Java代码。 有关更多详细信息,请访问Git Hub链接:libreoffice-code-highlighter     
如果您熟悉LaTeX,则应考虑使用beamer来创建演示文稿。维基百科页面包含许多教程和文档的指针。用户指南可能是我发现的最好的用户指南。 这可以为您提供LaTeX的所有功能,包括源代码片段(列表包或您喜欢的任何其他内容)以及您习惯使用的LaTeX的其他常用功能。它捆绑了一些非常好的主题。     
您可以轻松地使用包含1行和1列的表格,从您的最爱IDE复制并通过您的代码,开放式办公室将保留您的代码样式。     
从Eclipse到OpenOffice Impress直接粘贴似乎失去了色彩。 然而,首先粘贴到OO Writer并从那里进入OO Impress确实有效。     
我一直在Windows下使用源代码的开放式办公室这样做。在您喜欢的编辑器中查看代码(emacs,记事本,...),然后选择/复制感兴趣的文本。在开放式办公室中制作一个文本框,然后粘贴。这是有效的,因为所有Windows工具都共享一个全局剪切缓冲区。我没有足够使用Linux来知道它是否有这样的共享切割缓冲区,如果没有,我会理解你的问题。(如果确实如此,我真的不明白你的问题)。我的解决方案当然没有得到格式良好/突出显示的代码本身。 具体步骤: 在打开幻灯片的Open Office Impress(“演示文稿”)中,单击下方工具栏上标有“T”的框(或按F2)。然后在幻灯片上大致单击要放置文本的位置,然后拖动以使框大小合适。单击框,您可以输入文本。对于代码,我从一些编辑器窗口剪切,并在选择文本框后粘贴。如果单击文本框的轮廓,则可以更改字体(courier new对代码有用)和打印尺寸。 在正确调整文本大小后,您可以重新访问特定的子字符串,如果需要花哨的文本,请选择/粗体或选择/颜色。 您可以考虑从JavaDoc或Doxygen输出中剪切和粘贴;您可能会获得格式化数据以及文本。     

要回复问题请先登录注册