我有一个解压缩的 IDML 文件。我现在想将展开的文件夹压缩回一个 IDML 文件。我可以使用 Mac 或 Linux 机器。
我有什么方法可以做到这一点?
使用 zip(命令行)或 Keka、BetterZip 或存档实用程序压缩文件不起作用。InDesign 发出错误:
无法打开文件。Adobe InDesign 可能不支持该文件格式,可能缺少支持该文件格式的插件,或者该文件可能已在其他应用程序中打开。
我有一个解压缩的 IDML 文件。我现在想将展开的文件夹压缩回一个 IDML 文件。我可以使用 Mac 或 Linux 机器。
我有什么方法可以做到这一点?
使用 zip(命令行)或 Keka、BetterZip 或存档实用程序压缩文件不起作用。InDesign 发出错误:
无法打开文件。Adobe InDesign 可能不支持该文件格式,可能缺少支持该文件格式的插件,或者该文件可能已在其他应用程序中打开。
常规 zip 的问题在于,如果您希望 InDesign 识别新创建的 IDML,则 zip 存档包含不应压缩的“mimetype”文件。所以你必须重新压缩文件的方式(以及 ePub 脚本的工作方式)是这样的:
他们首先创建一个 zip 存档,其中仅包含未压缩的 mimetype 文件。zip -X0 'myfile.idml' mimetype
然后他们将其余文件/文件夹添加到 zip 存档中,这次是完全压缩。zip -rDX9 "myfile.idml" * -x "*.DS_Store" -x mimetype
在 shell 脚本术语中,ePub 脚本执行此操作(假设当前目录是包含所有 IDML 内容的目录):
zip -X0 'myfile.idml' mimetype
# 创建 zip 存档“myfile.idml”,仅包含“mimetype”文件,没有压缩
zip -rDX9 "myfile.idml" * -x "*.DS_Store" -x mimetype
# 将其他所有内容添加到“myfile.idml”存档中,除了 .DS_Store 文件和“mimetype”文件(上一步已经存在)
为了节省您阅读 zip 手册页的时间,以下是所有这些选项的含义:
-X
= “no extra” — 不要为每个文件保存额外的文件属性,例如用户/组 ID
-0
=“压缩级别零” - 不压缩
-r
= “递归路径” — 遍历目录中的所有内容,包括嵌套的子文件夹
-D
= “无目录条目” — 不要在目录的 zip 存档中放入特殊内容
-9
= “压缩级别 9(最佳)”</p>
-x
= “排除这些文件”</p>
按照这个巫术,你应该能够创建合法的 IDML 文件。
来源:http: //indesignsecrets.com/topic/how-do-i-re-zipcompress-an-expanded-idml-file