Apple скрипт для приложения Sketch
Я пытаюсь написать Apple Script
для Sketch.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, используя скрипт Apple?
Или есть ли другой способ для этого.
Обновить
Я изменил путь к формату скрипта Apple и установил индекс документа на 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
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", выше). Эскиз 2, кажется, имеет другую схему (параметр с as
это не строка). Если я сохраню без as
параметр в Sketch 3, он сохраняется в собственном формате Sketch. Так что вы можете попробовать это без кавычек (как у вас). Я просто делаю то, что говорит мне словарь v3. Вот несколько решений и советов:
document 1
должен работать, чтобы ссылаться на передний документ;Если вы хотите по какой-то причине записать свой путь с помощью 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 позволяет вам найти).
Там есть что поиграть.