探索 Collabora Online 的互操作性，使文档和电子表格在所有办公套件中兼容。Collabora Online 支持各种各样的文件和格式。不过，这个开源办公套件在互操作性方面的表现如何？本文仔细研究了 Collabora Online 与不同办公套件（如 Microsoft 365 和 Google Workspace）交换复杂文本文档和电子表格的能力。Collabora Online 是一款适用于云端或内部的开源办公套件，可以保护你的隐私，让你完全控制你的数据。该软件由位于剑桥的 Collabora Productivity Ltd 开发，其团队在世界各地工作。Collabora Online 以 LibreOffice 技术为基础，并主要使用 Mozilla Public License 2.0 许可。Collabora Online 可以在任何现代网络浏览器中运行，不需要额外的插件或附加组件。它有一个完整的基于云的办公套件，包括一个文字处理器（Writer）、电子表格程序（Calc）、演示软件（Impress）和一个设计矢量图的应用（Draw）。本文介绍了 Collabora Online 的一些新的互操作性功能，包括宏、动态字体加载和电子表格应用程序的 Sparklines 支持。这些功能扩展了现有的对微软文件格式的出色处理。什么是互操作性，为什么它很重要？一般来说，互操作性是指不同的设备或应用在一起工作和无缝交换数据的能力。在办公套件的背景下，互操作性主要是指文件格式。用户应该能够打开、编辑和保存 .doc 和 .docx、.xls 和 .xlsx、.odt 和 .ods文件，无论它们是用微软的 Word、苹果的 iWork 还是 LibreOffice 创建。对于在线办公套件也是如此。通过确保文件可以在 Microsoft 365、Google Workspace 和 Collabora Online 之间交换，互操作性有助于提高生产力和促进协作。所有在线办公套件都可以保存各种格式的文件。它们还可以导入和导出最初在其他办公套件中创建的文档、电子表格和演示文稿。管理宏，确保文件处理顺畅经常引起问题的是带有宏的文件。它们通常是用特定的编程语言开发的，适用于某个特定的应用。虽然在 Google Sheets 中记录和编辑宏是可能的，但在微软 Office 中用 Visual Basic for Applications（VBA）实现的宏不能被转换，必须用 Google Apps Script 重新创建。打开带有 VBA 宏的 Word 文档会产生错误，并通知用户这些宏将被忽略或禁用。Collabora Online 支持宏，并在容器内的服务器端运行它们。该功能默认是禁用的，管理员必须在 coolwsd.xml 配置文件中明确激活它。之后，用户可以选择在加载文档时允许使用宏。不过，有几个限制。例如，它不可能访问数据库源，访问其他（外部）文件，调用外部程序，使用控制形状，等等。多年来，由于活跃的社区以及客户和合作伙伴的贡献，Collabora Online 支持的代码和对象的数量已经大大增加。Collabora Online：动态字体加载办公套件中互操作性的另一个关键方面是字体。使用含有在特定平台上无法使用的字体的文档，可能会导致错误、意外的格式变化，甚至是内容的完全丢失。微软 Office 文档经常使用 Google Workspace 或 Collabora Online 中没有的默认字体。为了解决这个问题，办公套件经常建议替换掉缺失的字体。这通常是有用的，但有时会导致不好的结果。从 22.05.7 版本（2022 年 11 月发布）开始，Collabora Online 可以列出缺失的字体并建议替换。它还可以下载必要的字体并将其添加到服务器上。一切都是动态进行的，而不会停机。新的字体在几分钟内就可以在编辑会话中使用，实现最佳的互操作性。为了实现这一目标，在文档被渲染的同时，通过 API 追踪丢失字体的信息。一个 JSON 文件存储了需要添加的字体列表。coolwsd.xml 文件（服务器端的设置）指向该 JSON 文件。它每分钟检查一次修改情况，并下载缺少的字体。探索 Sparkline：显示电子表格中的数据趋势Sparkline 是在工作表中单个单元格内的微小图表，它可以将数据的趋势可视化。这些微型图表有不同的风格，包括线、条和柱。Sparkline 还支持不同的颜色和水平/垂直轴。与显示尽可能多的数据并与文本流分开的大型图表不同，Sparkline 被缩减为核心值，通常放在同一单元格中数据本身的旁边或后面。Sparkline 通常是为一个单元格定义的，但也可以将共享相同数据范围和属性的多个 Sparkline 进行分组，以便进行渲染。Sparkline 是一个紧凑的参考，提供了一个快速的方法来说明趋势、模式、统计异常、增加和减少，同时避免了完整图表的复杂性。下面是一些不同的 Sparkline 类型：线形图： 通过线段从左到右连接各点，对于显示在一定时间内变化的数据特别有用。条形图： 使用水平排列的条形图表示数据，通常用于比较数字数据。柱状图： 是比较一系列数值的理想选择。柱是垂直的，其长度表示数据的相对大小/价值。柱状图经常被用来表示不同类别或群体的数据。要创建一个 Sparkline，你首先要为该函数定义一个输入数据范围（一列或一行中的两个或多个单元格）。你还可以决定你希望 Sparkline 出现的单元格。在大多数电子表格应用中，你右键点击迷你图表来调整其属性，选择图表类型，并选择颜色。Collabora Online 为此提供了一个单独的对话框，使得改变微型图表的风格变得简单而方便。在三个线上办公软件之间交换带有 Sparkline 的文件是可能的，不会丢失图表及其格式。如果你想在 Microsoft 365、Google Workspace 和 Collabora Online 之间共享电子表格，请确保使用微软格式的 .xlsx 进行导入和导出，因为 Google Sheets 不能很好地处理 .ods 文件。文件交换很容易Collabora Online 提供了几个新的互操作性功能，使得与其他办公套件交换文件变得容易。宏程序支持、动态字体加载和 Sparkline 确保了文档的无缝处理，避免了意外的格式变化。使用 Collabora Online 来统一和简化你的办公工作。（题图：MJ:Office docs process dark plain background Illustration ）via: https://opensource.com/article/23/4/open-source-collabora-online-interoperability作者：Heike Jurzik 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
作为一名 Linux 管理员，你可能已经注意到了一些开发者请求将文件从 DOS 格式转换为 Unix 格式，反之亦然。这是因为这些文件是在 Windows 系统上创建的，并由于某种原因被复制到 Linux 系统上。这本身没什么问题，但 Linux 系统上的一些应用可能不能理解这些新的换行符，所以在使用之前，你需要转换它们。DOS 文本文件带有回车（CR 或 \r）和换行（LF 或 \n）一对字符作为它们的换行符，而 Unix 文本只有换行（LF）符。有很多方法可以将 DOS 文本文件转换为 Unix 格式。但我推荐使用一个名为 dos2unix / unix2dos 的特殊工具将文本在 DOS 和 Unix 格式之间转换。dos2unix ：将文本文件从 DOS 格式转换为 Unix 格式。unix2dos ：将文本文件从 Unix 格式转换为 DOS 格式。tr、awk 和 sed 命令：这些可以用于相同的目的。使用 od（ 八进制转储 octal dump ）命令可以很容易地识别文件是 DOS 格式还是 Unix 格式，如下图所示：# od -bc windows.txt 0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157 U n i x i s a f r e e o 0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164 p e n s o u r c e o p e r a t 0000040 151 156 147 040 163 171 163 164 145 155 015 012 123 165 160 145 i n g s y s t e m \r \n S u p e 0000060 162 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040 r c o m p u t e r s a r e 0000100 162 165 156 156 151 156 147 040 157 156 040 125 116 111 130 015 r u n n i n g o n U N I X \r 0000120 012 071 065 045 040 157 146 040 167 145 142 163 151 164 145 163 \n 9 5 % o f w e b s i t e s 0000140 040 141 162 145 040 162 165 156 156 151 156 147 040 157 156 040 a r e r u n n i n g o n 0000160 114 151 156 165 170 040 117 123 015 012 101 156 171 164 150 151 L i n u x O S \r \n A n y t h i 0000200 156 147 040 143 141 156 040 142 145 040 144 157 156 145 040 157 n g c a n b e d o n e o 0000220 156 040 114 151 156 165 170 015 012 n L i n u x \r \n 0000231 上面的输出清楚地表明这是一个 DOS 格式的文件，因为它包含了转义序列 ``。同时，当你在终端上打印文件输出时，你会得到下面的输出：# cat windows.txt Unix is a free opensource operating system Super computers are running on UNIX 95% of websites are running on Linux OS Anything can be done on Linux 如何在 Linux 上安装 dos2unix？dos2unix 可以很容易地从发行版的官方仓库中安装。对于 RHEL/CentOS 6/7 系统，使用 yum 命令 安装 dos2unix。$ sudo yum install -y dos2unix 对于 RHEL/CentOS 8 和 Fedora 系统，使用 dnf 命令 安装 dos2unix。$ sudo yum install -y dos2unix 对于基于 Debian 的系统，使用 apt 命令 或 apt-get 命令 来安装 dos2unix。$ sudo apt-get update $ sudo apt-get install dos2unix 对于 openSUSE 系统，使用 zypper命令 安装 dos2unix。$ sudo zypper install -y dos2unix 1）如何将 DOS 文件转换为 UNIX 格式？以下命令将 windows.txt 文件从 DOS 转换为 Unix 格式。对该文件的修改是删除文件每行的 \r。# dos2unix windows.txt dos2unix: converting file windows.txt to Unix format … # cat windows.txt 0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157 U n i x i s a f r e e o 0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164 p e n s o u r c e o p e r a t 0000040 151 156 147 040 163 171 163 164 145 155 012 123 165 160 145 162 i n g s y s t e m \n S u p e r 0000060 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040 162 c o m p u t e r s a r e r 0000100 165 156 156 151 156 147 040 157 156 040 125 116 111 130 012 071 u n n i n g o n U N I X \n 9 0000120 065 045 040 157 146 040 167 145 142 163 151 164 145 163 040 141 5 % o f w e b s i t e s a 0000140 162 145 040 162 165 156 156 151 156 147 040 157 156 040 114 151 r e r u n n i n g o n L i 0000160 156 165 170 040 117 123 012 101 156 171 164 150 151 156 147 040 n u x O S \n A n y t h i n g 0000200 143 141 156 040 142 145 040 144 157 156 145 040 157 156 040 114 c a n b e d o n e o n L 0000220 151 156 165 170 012 i n u x \n 0000225 上面的命令将覆盖原始文件。如果你想保留原始文件，请使用以下命令。这将把转换后的输出保存为一个新文件。# dos2unix -n windows.txt unix.txt dos2unix: converting file windows.txt to file unix.txt in Unix format … 1a）如何使用 tr 命令将 DOS 文件转换为 UNIX 格式。正如文章开头所讨论的，你可以如下所示使用 tr 命令将 DOS 文件转换为 Unix 格式。Syntax: tr -d '\r' < source_file > output_file 下面的 tr 命令将 DOS 格式的文件 windows.txt 转换为 Unix 格式文件 unix.txt。# tr -d '\r' < windows.txt >unix.txt 注意：不能使用 tr 命令将文件从 Unix 格式转换为 Windows（DOS）。1b）如何使用 awk 命令将 DOS 文件转换为 UNIX 格式。使用以下 awk 命令格式将 DOS 文件转换为 Unix 格式。Syntax: awk '{ sub("\r$", ""); print }' source_file.txt > output_file.txt 以下 awk 命令将 DOS 文件 windows.txt 转换为 Unix 格式文件 unix.txt。# awk '{ sub("\r$", ""); print }' windows.txt > unix.txt 2）如何将 UNIX 文件转换为 DOS 格式？当你把一个文件从 UNIX 转换为 DOS 格式时，它会在每一行中添加一个回车（CR 或 \r）。# unix2dos unix.txt unix2dos: converting file unix.txt to DOS format … 该命令将保留原始文件。# unix2dos -n unix.txt windows.txt unix2dos: converting file unix.txt to file windows.txt in DOS format … 2a）如何使用 awk 命令将 UNIX 文件转换为 DOS 格式？使用以下 awk 命令格式将 UNIX 文件转换为 DOS 格式。Syntax: awk 'sub("$", "\r")' source_file.txt > output_file.txt 下面的 awk 命令将 unix.txt 文件转换为 DOS 格式文件 windows.txt。# awk 'sub("$", "\r")' unix.txt > windows.txt via: https://www.2daygeek.com/how-to-convert-text-files-between-unix-and-dos-windows-formats/作者：Magesh Maruthamuthu 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出