当前位置: 首页 > 知识库问答 >
问题:

Swift/macOS:如何在文本视图中打开odt(打开文档格式)?

罗茂实
2023-03-14

我正在尝试制作一个小的macOS查看器应用程序,它将显示ODT(打开文档)文件的内容,但不允许以TextEdit的方式进行编辑。在一个在线教程的帮助下,我制作了一个RTF查看器,其中包含了document.swift:

override func read(from data: Data, ofType typeName: String) throws {
     if let contents = NSAttributedString(rtf: data, documentAttributes: nil) {
        text = contents
    }
}

我想不通的是如何让程序读取ODT数据而不是RTF数据,也找不到任何有助于解决问题的文档。所以我的问题是:我如何重写那些代码以读取ODT文件而不是RTF文件?

共有1个答案

濮阳赞
2023-03-14

重写read(from url:…,而不是read(from data:…,并使用nsattributedstringinit(url:options:documentattributes:)

override func read(from url: URL, ofType typeName: String) throws {
    text = try NSAttributedString(url: url, options: [:], documentAttributes: nil)
}
 类似资料:
  • 我正在尝试使用docx4j将word文件转换为pdf,到目前为止我已经成功地转换了doc和docx文件,但是当我尝试加载odt文件时,我得到并且通过使用zip打开odt文件,我可以看到文件(但不是)

  • 它返回 有人知道如何在macos中从命令行打开Sublime文本3吗?

  • 问题内容: 我想从Java程序中打开excel文档。实际上,我想在程序中单击按钮时打开excel文档。我努力了 其中workbook.xls位于项目文件夹的根目录中,但不起作用。异常表示无法打开程序workbook.xls。我怎样才能做到这一点 问题答案: 我想您要使用默认程序(例如Excel)打开Excel文件吗?如果是这样,您可以使用-class:

  • 问题内容: 我试过了 它回答: 如何以unicode而不是as形式打开文本文件? 问题答案: 编辑 对于Python 3,使用作为这个答案介绍是最好的选择。以下答案对于2.x可能仍然有用。我认为即使对于3.x,下面的任何内容实际上都不正确,但仍然更好。 如果文件是utf-8,则可以使用: 如果您要遍历可以使用的文件,则无法使用。 请注意,这两种方法对于多字节编码都不一定是安全的。例如,小尾数UTF

  • 我试图在本地计算机上使用swagger-ui打开我自己生成的swagger规范文件。 所以我下载了最新的标签V2.1.8-M1并提取了zip。然后进入子文件夹并将文件复制到其中。现在,我打开了,想要浏览。问题就从这里开始了: 如果我输入一个本地路径,它总是以包含的当前url作为前缀。因此我无法打开我的档案。我尝试了以下所有组合,但没有成功: null