【问题标题】:Indesign scripting - Save CopyIndesign 脚本 - 保存副本
【发布时间】:2010-03-31 11:13:12
【问题描述】:

我正在使用 Objective-C 脚本桥与 InDesign CS3/CS4 进行通信。不幸的是,我被困在保存命令上,该命令似乎仅作为标准套件的一部分存在,并且没有在 InDesign 中再次定义。因此,看起来我可以保存、另存为但不能保存复制文档。有谁知道如何进行?

只是简单解释一下保存和保存副本之间的区别 - 使用保存副本不会改变当前文档,这与保存或另存为相反。

【问题讨论】:

  • 为什么要保持打开的副本不变?

标签: objective-c applescript adobe-indesign


【解决方案1】:

除了philip-regan 建议的以外,唯一的其他选择。将使用 GUI 脚本,但我仍然不确定重点是什么。如果您想节省不关闭和重新打开的时间,您可以保存文档,通过查找器制作副本,然后在 indesgn 中继续前进,而无需关闭和重新打开位

【讨论】:

    【解决方案2】:

    我一直认为Save AsSave Copy 之间的区别比任何东西都更具语义性,因为该命令实际上所做的只是执行Save As,但在文件名后面附加“副本”(例如,“MyLayout. indd”变成“MyLayout copy.indd”)。只需使用 Save 作为 Save Copy 的替代方法,并在保存文档时为其指定一个替代名称。

    根据 OP 的 cmets 进行编辑: 你说得对,字典中没有定义保存副本。我看到的唯一方法是通过保存到具有新名称的位置、关闭当前尚未重命名的文档并重新打开原始文档来模仿命令的行为。不理想,我知道,但我看不到另一种解决方法,除非我怀疑在 Javascript API 中定义了 Save Copy。

    【讨论】:

    • 不,两者都有区别。假设您打开了一个名为“Layout1”的文档并正在处理它。当您使用另存为命令时,应用程序将要求您输入新名称,保存文档并使其保持打开状态。您当前的文档成为新保存的文件。当您选择 Save Copy 时,对话框将让您命名它,以新名称保存它,但“Layout1”仍然是当前文档。
    • 啊,你是对的。忘记了那一点。我从来没有真正看到这一点,但每个人都有自己的看法。我将编辑我的答案。
    【解决方案3】:

    嗯, 由于脚本字典中没有定义保存副本,因此唯一的方法是保存当前文档并通过 Finder 创建副本。

    【讨论】:

    • 无意冒犯您或菲利普,但您在这里所说的不是我在您之前 11 小时所说的,当我告诉您希望您应该做的时候,他如何获得答案的功劳?
    • 只是让你从两个答案中接受我没想到你会改变它我只是好奇
    【解决方案4】:

    如果你在头文件中搜索 InDesign,这些是弹出的方法:

    - (InDesignDocument *) saveTo:(id)to stationery:(BOOL)stationery versionComments:(NSString *)versionComments forceSave:(BOOL)forceSave;  // Save the document
    
    - (void) saveACopyTo:(id)to stationery:(BOOL)stationery;  // Saves a copy of the document.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-14
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      相关资源
      最近更新 更多