2013-07-17 2 views
2

Я создаю директорию сообщества сценариев, и я использую метки сценариев для поиска текстовых полей и заполнения их соответствующей информацией из файла JSON. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как разместить изображение в кадре, к которому у меня уже есть ссылка. Путь к файлу находится в файле JSON, и я знаю, что он существует. Кто-нибудь знает, как загрузить файл и заменить содержимое окна изображением, которое у меня есть. Кроме того, если изображение может быть установлено на размер этого окна, как он будет работать?Как разместить изображение в текстовом фрейме с помощью javascript в Indesign?

ответ

4

Так вы есть текстовый фрейм (заполненный ваши данные), и вы хотите заменить его с изображением?

Используйте это - первая линия предполагает, что вы выбрали свой текстовый фрейм, но, конечно, вы можете заменить его ссылкой:

a_frame = app.selection[0]; 
a_frame.place (File(Folder.myDocuments+'/yourImageName.png'), false); 
a_frame.fit (FitOptions.CONTENT_TO_FRAME); 
a_frame.fit (FitOptions.PROPORTIONALLY); 
a_frame.fit (FitOptions.CENTER_CONTENT); 

См TextFrame.place на «место», и TextFrame.fit для «примерки». На самом деле не имеет значения, что вы используете команды TextFrame здесь, чтобы разместить и подгонять изображение - все ID использует его фрейм.

3 FitOptions в строке гарантируют, что 1. изображение целиком помещается внутри вашего кадра, но, скорее всего, вне пропорции; 2. пропорционально уменьшается; и 3. центрирует изображение внутри рамки. Вид странный, но кажется, что параметры интерфейса пользователя InDesign не все отражены в сценарии FitOptions.

+0

Вместо 'Folder.myDocuments', есть ли способ перехода от файла indesign? – clankill3r

+0

@ clankill3r: Документ имеет ссылку на свой собственный [полный путь к файлу] (http://jongware.mit.edu/idcs6js/pc_Document.html#filePath), поэтому вы можете напрямую использовать 'a_frame.place (Файл (приложение .activeDocument.filePath + '/ .. (ваше изображение)')) '. – usr2564301