3

我正在尝试Apple ScriptSketch.app (com.bohemiancoding.sketch3)编写一个。我想要做的是,创建一些可以从 Sketch 文档在浏览器中呈现的图像文件。

当我打开Sketch.app字典时,Script Editior我看到

saveable file format enum
    Sketch : The native Sketch 2 file format
    PDF : Portable Document Format
    TIFF : Tagged Image File Format

所以我考虑TIFF使用以下脚本生成,但它不起作用

tell application "Sketch"
  set curdoc to document 0    
  save curdoc in "/Users/mirza/Downloads/mew2" as TIFF
end tell

我可以使用保存命令创建草图副本,.sketch但不能使用 PDF 或 TIFF。草图是否支持使用苹果脚本的 PDF 和 TIFF?

或者有没有其他方法可以解决这个问题。

更新

我将路径更改为苹果脚本格式并将文档索引设置为 1。现在脚本看起来像这样

set thisFilePath to (POSIX file "/Users/mirza/Downloads/mew2")
log thisFilePath
tell application "Sketch"
    curdoc to document 1
    save curdoc in thisFilePath as TIFF -- Tried with quotes as well, gives same error
end tell

但是当我运行脚本时出现以下错误

Result:
error "Sketch got an error: Can’t continue curdoc." number -1708

更新 2

修正错字

set thisFilePath to (POSIX file "/Users/mirza/Downloads/mew2")
log thisFilePath
tell application "Sketch"
    set curdoc to document 1
    log (path of curdoc)
    save curdoc in thisFilePath as "TIFF"
end tell

但是当我运行脚本时出现以下错误

Result:
error "Sketch got an error: The document cannot be exported to the \"TIFF\" format." number -50
4

1 回答 1

1

您的代码有很多问题,但首先,您会发现使用不再可用的软件很难获得明确的答案。Sketch 的版本 3 已经有一段时间了,AppleScript 字典可能已经改变。话虽如此,这里有一些关于您的代码的想法:

如果这是 Sketch 2 AS 字典读取的内容,那么 AS 功能在 v3 中发生了变化。我想帮忙,但我在任何地方都找不到 v2,所以我只能在黑暗中这样做。

set thisFilePath to choose file name--use this to select a new file;
------- a Mac AppleScript path is returned (a file specification,
------- actually, which is different from a string or alias
------- (but an alias is kind of like a file spec)
tell application "Sketch"
    set curdoc to document 1--not zero-based; 1 is frontmost doc
    save curdoc in thisFilePath as "TIFF"--*this is a guess
end tell

所以,我不知道最后save一行会做什么,但它可能会起作用。在 Sketch 3 中,“TIFF”格式不允许保存,但它确实有一个as参数作为保存的一部分,它应该与表示格式的文本字符串配对(如上面的“TIFF”)。Sketch 2 似乎有不同的方案(参数 withas不是字符串)。如果我as在 Sketch 3 中不带参数保存,它会以 Sketch 的本机格式保存。所以你可以试试这个不带引号(就像你一样)。我只是在做 v3 字典告诉我做的事情。以下是一些解决方案和提示:

  1. document 1应该参考最前面的文件;

  2. 如果您出于某种原因想使用 POSIX 写出您的路径(就像您所做的那样),您可以使用

    POSIX 文件“/Users/mirza/Downloads/mew2”

返回 AppleScript 的 Mac 风格路径,其形式如下:

"yourHardDriveName:Users:mirza:Downloads:new2"

你也可以通过做得到我在这里的“yourHardDriveHame:”

tell application "Finder" to set sDr to startup disk as string

然后通过做连接

sDr & "Users:mirza:Downloads:new2"

你也可以做

tell application "Finder" to set myHome to home as string

这应该将 Mac 样式的路径返回到主文件夹。(是的,Finder 还允许您获得其他路径)。

有一些东西可以玩。

于 2015-09-16T08:54:07.717 回答