1

我正在尝试将 Word 文档保存为纯文本文档。目前,有时重音会变成其他符号(通常是相同的符号,例如:é 变成 theta)。其他时候它工作正常。我该如何防止这种情况?

目前使用的线路:

另存为活动文档 文件名 FullDocPath 文件格式 Unicode 文本

当我遇到这个错误时,我可以使用对话框保存文档(选择西方 Mac OS 罗马编码......这可以解决问题。

applescript Word 词典提到:

[文本编码无符号整数]:保存为文本文件时使用的文本编码

我不知道这是否是我缺少的部分或如何使用它(是否有一个指定西方 Mac OS 罗马编码的集合整数?)

有人有想法么?

4

2 回答 2

2

尝试:

set wordDoc to choose file
do shell script "textutil -convert txt " & quoted form of POSIX path of (wordDoc as text)

使用 textutil查看StefanK 的解决方案

于 2013-07-12T05:39:52.647 回答
0

这是对您以“感谢 Stefan 和 bibadiak”开头的评论的回应

对于 .txt 文件格式,没有通用的方法来指定文件内部文件的编码,因此要么应用程序必须猜测,要么你必须知道编码并且应用程序必须让你告诉它。

AFAIK,如果您在使用 textutil 将 .doc 或 .docx 格式转换为文本时未指定输出编码,则会得到 UTF-8。但是当您尝试以编程方式或在 UI 中打开它时,Mac Word 似乎并没有意识到这一点。

所以我认为你需要做一些混合以下操作:

一个。保存并使用使用 16 位 Unicode 编码的格式。Word 应该认识到这一点,当然如果 BOM 被保留

湾。保存为 UTF 并在其他地方使用 UTF,但在 Mac Word 中重新打开文档之前,请使用 textutil 将其转换回(比如说).docx

C。如果您的所有字符都可以使用 Mac OS Roman 进行编码,请使用例如

textutil -convert txt -encoding 30 

要保存,请确保您仅使用该字符集,然后使用 Word 重新打开。(30 是苹果 NSString 值 NSMacOSRomanStringEncoding 的值)。我认为 textutil 将无法转换包含 MacOS 罗马字符集之外的字符的文档。

于 2013-07-13T13:56:17.477 回答