蚊章汇 - 文件格式
type: channel
link: https://linuxcn.bwsl.wang/tag/%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F/
items: 用 Collabora Online 在不同类型的文件间转换
items: 如何将文本文件在 Unix 和 DOS（Windows）格式之间转换

用 Collabora Online 在不同类型的文件间转换
type: item
date: 2023-04-12T01:30:00+08:00
description: 探索 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 通常是为一个单元格定义的，但也可以将共享相同数据范围和属性的多个 Sparkl…

如何将文本文件在 Unix 和 DOS（Windows）格式之间转换
type: item
date: 2020-08-28T07:57:03+08:00
description: 作为一名 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 instal…