وبلاگ
🚀 راهنمای جامع نصب و عیبیابی اسکریپت در Adobe InDesign؛ از JSX و JSXBIN تا IDJS و UXP
- مدیریت آموزشگاه اندیشه
- بدون نظر
اگر با Adobe InDesign کار میکنید، احتمالاً برای انجام کارهای تکراری و زمانبر به سراغ Scriptها رفتهاید. اسکریپتها میتوانند بسیاری از عملیات مربوط به صفحهآرایی، ویرایش متن، مدیریت آبجکتها، شمارهگذاری، ساخت کاتالوگ، پردازش فایلها و حتی عملیات پیچیده روی اسناد چندصدصفحهای را بهصورت خودکار انجام دهند.
اما نصب و اجرای Script همیشه به سادگی کپی کردن یک فایل نیست.
ممکن است با مشکلاتی مانند این موارد مواجه شوید:
- ❌ اسکریپت در پنل Scripts دیده نمیشود.
- ❌ فایل JSX اجرا نمیشود.
- ❌ فایل JSXBIN یا JSBIN کار نمیکند.
- ❌ فایل IDJS در نسخه قدیمی InDesign اجرا نمیشود.
- ❌ اسکریپت بعد از نصب نسخه جدید InDesign ناپدید شده است.
- ❌ Script روی یک نسخه InDesign کار میکند ولی روی نسخه دیگر خطا میدهد.
- ❌ با اجرای Script خطای Object، Method یا Property دریافت میکنید.
- ❌ اسکریپت فارسی یا راستبهچپ درست عمل نمیکند.
- ❌ Script باعث بسته شدن یا Crash شدن InDesign میشود.
در این مقاله، نصب اسکریپت InDesign در ویندوز، تفاوت JSX، JSXBIN، JSBIN و IDJS، مشکلات نصب، خطاهای اجرای Script و مسائل سازگاری نسخههای مختلف InDesign را مرحلهبهمرحله بررسی میکنیم.
🎯 هدف این راهنما: پاسخ کامل به رایجترین جستوجوهای کاربران درباره «آموزش نصب اسکریپت در InDesign»، «نصب JSXBIN در InDesign»، «JSBIN چیست؟»، «رفع خطای Script در InDesign» و «سازگاری اسکریپت با نسخههای مختلف InDesign».
📌 اسکریپت InDesign چیست؟
Script در Adobe InDesign یک برنامه کوچک است که با استفاده از امکانات برنامهنویسی InDesign میتواند بخشی از کارهای دستی را بهصورت خودکار انجام دهد.
خود Adobe نیز Scripts را ابزاری برای اتوماسیون کارهای تکراری معرفی میکند و پنل Scripts را برای اجرای این فایلها در اختیار کاربران قرار داده است. (Adobe Help Center)
برای مثال، یک Script میتواند:
- صفحات جدید ایجاد کند.
- Text Frame بسازد.
- متن را تغییر دهد.
- فونت یا استایل را اصلاح کند.
- آبجکتها را جابهجا کند.
- تصاویر را وارد یا مدیریت کند.
- شماره صفحات یا آیتمها را کنترل کند.
- عملیات Find/Change انجام دهد.
- فایلهای متعدد را پردازش کند.
- خروجی PDF بگیرد.
- ساختار یک کتاب یا کاتالوگ را مدیریت کند.
به همین دلیل Scriptها برای طراحان گرافیک، صفحهآراها، ناشران، اپراتورهای چاپ و تولیدکنندگان محتوای حجیم بسیار ارزشمند هستند.
⚡ چرا استفاده از Script در InDesign اهمیت دارد؟
فرض کنید باید در یک فایل ۵۰۰ صفحهای، روی صدها Text Frame عملیات مشابه انجام دهید.
روش دستی:
انتخاب → تغییر تنظیمات → تکرار → بررسی → اصلاح
اما Script میتواند همین عملیات را به شکل خودکار انجام دهد.
در نتیجه استفاده از Script میتواند باعث:
- ⏱️ صرفهجویی قابل توجه در زمان
- 🎯 کاهش خطای انسانی
- 🔄 اجرای عملیات تکراری با یک کلیک
- 📚 پردازش اسناد حجیم
- 📐 استانداردسازی صفحهآرایی
- 🤖 اتوماسیون فرآیندهای تولید محتوا
شود.
Adobe نیز Scripts را یکی از روشهای اصلی خودکارسازی Workflow در InDesign معرفی میکند. (Adobe Help Center)
🧩 انواع اسکریپت در InDesign
یکی از مهمترین نکات برای نصب و عیبیابی Script این است که بدانیم با چه نوع اسکریپتی روبهرو هستیم.
مهمترین فرمتهایی که ممکن است با آنها مواجه شوید عبارتاند از:
1️⃣ JSX
اسکریپتهای ExtendScript
2️⃣ JSXBIN
نسخه Binary/کامپایلشده اسکریپت ExtendScript
3️⃣ JSBIN
اصطلاحی که در بعضی Scriptهای قدیمی یا بستههای قدیمی با آن مواجه میشوید و ممکن است به فایلهای باینری JavaScript/ExtendScript اشاره داشته باشد؛ بنابراین باید پسوند واقعی فایل و مستندات همان Script بررسی شود.
4️⃣ IDJS
اسکریپتهای جدید مبتنی بر UXP در InDesign
این چهار مورد را نباید با یکدیگر یکسان دانست.
🔵 JSX چیست؟
JSX رایجترین فرمتی است که در Scriptهای قدیمی و بسیاری از Scriptهای InDesign مشاهده میکنید.
برای مثال:
AutoPage.jsx
این فایل معمولاً یک اسکریپت ExtendScript است.
ExtendScript از نسل قدیمیتر JavaScript استفاده میکند و Adobe در راهنمای مهاجرت خود توضیح میدهد که ExtendScript بر مبنای JavaScript قدیمی ES3 قرار دارد، در حالی که UXP از موتور V8 و قابلیتهای مدرنتر JavaScript استفاده میکند. (developer.adobe.com)
📌 نکته
وجود پسوند .jsx به این معنی نیست که Script حتماً با همه نسخههای InDesign سازگار است.
یک JSX ممکن است:
- روی InDesign CS6 کار کند؛
- روی InDesign 2020 کار کند؛
- روی نسخه جدید نیز کار کند؛
اما ممکن است Script دیگری به API خاصی وابسته باشد و روی بعضی نسخهها اجرا نشود.
🟣 JSXBIN چیست؟
اینجا به یکی از مهمترین موضوعات مقاله میرسیم.
JSXBIN نسخه باینریشده یک اسکریپت ExtendScript است.
بهجای اینکه کد Script را به شکل متنی و قابل مطالعه در فایل JSX ببینید، کد به فرم باینری/کامپایلشده ارائه میشود.
برای مثال:
MyScript.jsx
ممکن است به شکل:
MyScript.jsxbin
توزیع شود.
یکی از کاربردهای مهم JSXBIN این است که توسعهدهنده میتواند کد Script را بهصورت مستقیم و خوانا در اختیار کاربر قرار ندهد.
به همین دلیل ممکن است Scriptهای تجاری یا Scriptهایی که توسعهدهنده نمیخواهد سورس آنها بهراحتی قابل مشاهده باشد، به صورت JSXBIN توزیع شوند.
نمونههای مربوط به اکوسیستم ExtendScript نیز استفاده از JSXBIN را برای خروجی Scriptهای ExtendScript نشان میدهند. (GitHub)
🟠 JSBIN چیست؟
عبارت JSBIN یکی از مواردی است که در منابع و Scriptهای قدیمی ممکن است باعث سردرگمی شود.
اینجا باید یک نکته مهم را در نظر گرفت:
JSBIN و JSXBIN را نباید صرفاً بر اساس نامشان معادل IDJS یا UXP Script دانست.
در اکوسیستم قدیمی Adobe، فایلهای Script میتوانستند به شکل باینری یا کامپایلشده توزیع شوند و در برخی پروژهها و ابزارهای قدیمی با اصطلاحات متفاوتی برای فایلهای باینری JavaScript مواجه میشویم.
بنابراین اگر فایل شما مثلاً نامی مانند:
MyScript.jsbin
یا:
MyScript.jsxbin
دارد، قبل از تغییر نام فایل یا تبدیل آن به فرمت دیگری، باید مستندات Script را بررسی کنید.
⚠️ یک اشتباه بسیار رایج
این کار را انجام ندهید:
MyScript.jsbin
↓
MyScript.jsx
صرفاً با تغییر نام فایل، یک فایل Binary تبدیل به JSX نمیشود.
تغییر Extension مساوی با تبدیل فرمت نیست.
🆚 تفاوت JSX، JSXBIN، JSBIN و IDJS
| فرمت | فناوری اصلی | نوع فایل | قابل ویرایش مستقیم؟ | نسل کلی |
|---|---|---|---|---|
.jsx |
ExtendScript | متن JavaScript | ✅ معمولاً بله | قدیمی/Legacy |
.jsxbin |
ExtendScript Binary | باینری | ❌ به شکل معمول خیر | Legacy |
.jsbin |
بسته به Script/ابزار | باینری/قدیمی | ❌ معمولاً خیر | Legacy |
.idjs |
UXP | JavaScript | ✅ بله | جدید |
نکته مهم: IDJS جایگزین مستقیم JSXBIN نیست.
JSX/JSXBIN در اکوسیستم ExtendScript قرار میگیرند، در حالی که IDJS مربوط به UXP است. Adobe برای UXP در InDesign پسوند .idjs را تعریف کرده است. (developer.adobe.com)
🆕 IDJS چیست؟
در نسخههای جدید InDesign، Adobe از UXP Scripting پشتیبانی میکند.
پسوند Scriptهای UXP در InDesign:
.idjs
است.
برای مثال:
AutoLayout.idjs
Adobe اعلام کرده است که InDesign از UXP Scripts از نسخه 18.0 به بعد پشتیبانی میکند. (developer.adobe.com)
بنابراین:
InDesign 18.0+
↓
پشتیبانی از UXP Scripts
↓
.idjs
🧠 ExtendScript و UXP چه تفاوتی دارند؟
دو محیط اصلی که باید بشناسید:
ExtendScript
.jsx
.jsxbin
UXP
.idjs
ExtendScript از JavaScript قدیمیتر استفاده میکند، در حالی که UXP بر پایه موتور V8 و قابلیتهای مدرنتر JavaScript ساخته شده است. (developer.adobe.com)
بنابراین یک Script که برای UXP نوشته شده، لزوماً قابل تبدیل مستقیم به JSX نیست.
🖥️ پنل Scripts در InDesign کجاست؟
برای باز کردن پنل Scripts:
Window → Utilities → Scripts
را انتخاب کنید.
Adobe در مستندات فعلی نیز همین مسیر را برای باز کردن Scripts Panel معرفی میکند. (Adobe Help Center)
در این پنل معمولاً Scriptهای موجود در پوشههای مربوط به InDesign و Preferences نمایش داده میشوند.
📂 بهترین روش پیدا کردن پوشه نصب Script در Windows
به جای اینکه مسیر پوشه را حدس بزنید، بهترین روش این است که:
- InDesign را باز کنید.
- به Window → Utilities → Scripts بروید.
- روی یک Script موجود کلیک راست کنید.
- گزینه Reveal in Explorer را بزنید.
- پوشه Scripts Panel باز میشود.
- فایل Script خود را در همان محل قرار دهید.
Adobe نیز همین روش را بهعنوان راه سریع پیدا کردن Scripts Panel در Windows توصیه میکند. (Adobe Help Center)
📁 مسیر پوشه Scripts در Windows
مسیر عمومی پوشه Scripts کاربر در Windows به شکل زیر است:
C:\Users\USERNAME\AppData\Roaming\Adobe\InDesign\VERSION\LANGUAGE\Scripts\Scripts Panel
Adobe مسیر Windows را نیز به همین ساختار معرفی میکند. (Adobe Help Center)
برای مثال:
C:\Users\Ali\AppData\Roaming\Adobe\InDesign\Version 20.0\en_US\Scripts\Scripts Panel
البته نام نسخه و زبان بسته به نصب شما متفاوت خواهد بود.
🚀 نصب JSX در InDesign
فرض کنیم فایل زیر را دارید:
AutoPage.jsx
مراحل نصب
مرحله ۱: InDesign را باز کنید.
مرحله ۲: به:
Window → Utilities → Scripts
بروید.
مرحله ۳: روی یک Script کلیک راست کنید.
مرحله ۴: گزینه:
Reveal in Explorer
را بزنید.
مرحله ۵: فایل:
AutoPage.jsx
را داخل پوشه Scripts Panel قرار دهید.
مرحله ۶: به InDesign برگردید.
مرحله ۷: Script را در پنل پیدا کنید.
مرحله ۸: روی آن دوبار کلیک کنید.
🚀 نصب JSXBIN در InDesign
اگر فایل شما:
AutoPage.jsxbin
است، آن را نیز باید بهعنوان Script مربوط به اکوسیستم ExtendScript در نظر بگیرید.
در حالت معمول:
- InDesign را باز کنید.
- Scripts Panel را باز کنید.
- پوشه Scripts Panel را با Reveal in Explorer پیدا کنید.
- فایل
.jsxbinرا در آن قرار دهید. - به پنل Scripts برگردید.
- Script را اجرا کنید.
⚠️ نکته بسیار مهم درباره JSXBIN
JSXBIN سورس قابل ویرایش معمولی نیست.
اگر یک Script با پسوند JSXBIN دریافت کردهاید و خطا میدهد، معمولاً نمیتوانید مثل JSX آن را باز کنید و خط کد مشکلدار را بهسادگی اصلاح کنید.
در این شرایط بهتر است:
- نسخه InDesign را بررسی کنید.
- نسخه Script را بررسی کنید.
- مستندات Script را بخوانید.
- نسخه جدید Script را از سازنده دریافت کنید.
🟠 نصب JSBIN؛ آیا باید آن را تغییر نام دهیم؟
خیر.
اگر فایل واقعاً:
MyScript.jsbin
است، صرفاً آن را به .jsx تغییر ندهید.
ابتدا باید مشخص شود این فایل توسط چه ابزار یا Scriptی تولید شده و برای چه محیطی طراحی شده است.
این نکته برای عیبیابی بسیار مهم است، زیرا Extension بهتنهایی مشخص نمیکند که فایل متعلق به کدام نسل Script یا چه Workflow قدیمی است.
🆕 نصب IDJS در InDesign
اگر فایل شما:
MyScript.idjs
است، با یک UXP Script روبهرو هستید.
Adobe در راهنمای UXP توضیح میدهد که IDJS یک فایل JavaScript با Extension ویژه برای شناسایی آن بهعنوان UXP Script در InDesign است. (developer.adobe.com)
مراحل
- InDesign 18.0 یا جدیدتر داشته باشید.
- Scripts Panel را باز کنید.
- پوشه Scripts را پیدا کنید.
- فایل
.idjsرا در محل مناسب قرار دهید. - Script را از پنل اجرا کنید.
Adobe برای UXP Script نیز قرار دادن فایل در Scripts Panel را یکی از روشهای اجرای Script معرفی میکند. (developer.adobe.com)
🪟 نصب Script در Windows 10
در Windows 10 بهترین روش استفاده از:
%APPDATA%
است.
در File Explorer وارد کنید:
%APPDATA%\Adobe\InDesign
سپس نسخه InDesign موردنظر را پیدا کنید.
🪟 نصب Script در Windows 11
روش Windows 11 نیز تقریباً همان است.
در File Explorer بنویسید:
%APPDATA%\Adobe\InDesign
و وارد پوشه نسخه موردنظر شوید.
⭐ پیشنهاد حرفهای
در Windows 10 و 11، به جای جستوجوی دستی، از:
Reveal in Explorer
استفاده کنید.
این روش احتمال قرار دادن Script در پوشه اشتباه را بسیار کم میکند. (Adobe Help Center)
🪟 نصب Script در Windows 7 و نسخههای قدیمیتر
در نسخههای قدیمیتر Windows نیز ساختار Preferences و Scripts در AppData قرار داشته است.
مستندات قدیمی Adobe برای Windows Vista و Windows 7 نیز مسیر زیر را برای Scripts Panel نشان میدهند:
Users\[username]\AppData\Roaming\Adobe\InDesign\[version]\[language]\Scripts\Scripts Panel
در نسخههای بسیار قدیمی Windows ممکن است مسیر دقیق متفاوت باشد؛ بنابراین برای نسخههای قدیمی نیز روش Reveal in Explorer بهترین گزینه است.
🔄 نصب Script در نسخههای مختلف InDesign
یکی از دلایل رایج گم شدن Script بعد از Update این است که نسخههای مختلف InDesign پوشههای Preferences جداگانهای دارند.
برای مثال ممکن است روی سیستم شما این پوشهها وجود داشته باشد:
Version 18.0
Version 19.0
Version 20.0
Version 21.0
اگر Script را در پوشه:
Version 19.0
قرار داده باشید، نباید فرض کنید که بهطور خودکار در:
Version 20.0
هم ظاهر خواهد شد.
راهحل
در نسخه جدید InDesign:
Window → Utilities → Scripts
را باز کنید و Reveal in Explorer را بزنید.
سپس Script را در مسیر نسخه جدید قرار دهید.
🧩 چرا Script بعد از آپدیت InDesign ناپدید میشود؟
چند دلیل مهم وجود دارد:
دلیل اول: Preferences جدید
نسخه جدید ممکن است پوشه Preferences مخصوص خودش را داشته باشد.
دلیل دوم: تغییر فناوری
ممکن است Script قدیمی ExtendScript باشد و نسخه جدید محیط یا API متفاوتی داشته باشد.
دلیل سوم: Script از UXP استفاده میکند
اگر فایل .idjs باشد، نسخه InDesign باید UXP Scripts را پشتیبانی کند.
دلیل چهارم: Script داخل پوشه نسخه قبلی نصب شده است.
❌ مشکل اول: Script در پنل Scripts دیده نمیشود
دلایل احتمالی
- فایل در پوشه اشتباه است.
- Script در پوشه نسخه دیگری قرار دارد.
- Extension اشتباه است.
- فایل ZIP هنوز Extract نشده است.
- فایل واقعی
.jsx.txtاست. - فایل فرمت ناشناختهای دارد.
- Script متعلق به محیط دیگری است.
راهحل
از داخل InDesign:
Reveal in Explorer
را انتخاب کنید و Script را در همان پوشه قرار دهید.
❌ مشکل دوم: فایل JSX به صورت TXT ذخیره شده
ممکن است Windows فایل را اینگونه نمایش دهد:
MyScript.jsx
در حالی که نام واقعی آن:
MyScript.jsx.txt
باشد.
راهحل
در File Explorer گزینه نمایش Extensionها را فعال کنید:
View → Show → File name extensions
سپس نام واقعی فایل را بررسی کنید.
❌ مشکل سوم: JSXBIN در پنل نمایش داده نمیشود
ابتدا بررسی کنید:
- پسوند واقعی
.jsxbinباشد. - فایل ناقص نباشد.
- فایل در Scripts Panel نسخه درست قرار گرفته باشد.
- Script برای نسخه InDesign شما ساخته شده باشد.
نکته
اگر JSXBIN در نسخهای اجرا نمیشود، تغییر نام آن به JSX راهحل نیست.
❌ مشکل چهارم: JSBIN اجرا نمیشود
این مورد نیازمند بررسی دقیقتر است.
اگر فایل:
something.jsbin
است، ابتدا باید مشخص شود که:
- توسط چه نرمافزاری ساخته شده؟
- برای چه نسخهای از InDesign است؟
- آیا واقعاً Script مخصوص InDesign است؟
- آیا همراه آن فایل راهنما وجود دارد؟
JSBIN را صرفاً با تغییر Extension به JSX تبدیل نکنید.
❌ مشکل پنجم: IDJS در InDesign قدیمی اجرا نمیشود
اگر Script شما:
MyScript.idjs
است، نسخه InDesign را بررسی کنید.
UXP Scripts در InDesign از نسخه 18.0 پشتیبانی میشوند. (developer.adobe.com)
پس اگر نسخه شما قبل از 18.0 است، IDJS انتخاب مناسبی برای آن محیط نیست.
❌ مشکل ششم: Script دیده میشود اما اجرا نمیشود
این وضعیت نشان میدهد که احتمالاً مشکل صرفاً Path نیست.
ممکن است مشکل مربوط به:
- API
- نسخه InDesign
- Document
- Selection
- Font
- Dependency
- Permission
- Encoding
- Syntax
- Runtime
باشد.
💥 خطای Syntax چیست؟
Syntax Error یعنی ساختار کد برای موتور JavaScript قابل قبول نیست.
مثلاً:
if (x > 10 {
یک ساختار ناقص است.
در JSX معمولاً باید کد توسط توسعهدهنده اصلاح شود.
اما اگر فایل JSXBIN باشد، امکان بررسی مستقیم سورس مانند JSX معمولی وجود ندارد.
💥 خطای Runtime چیست؟
در این حالت کد از نظر Syntax قابل قبول است، اما هنگام اجرا اتفاقی رخ میدهد که Script انتظار آن را نداشته است.
مثلاً Script انتظار دارد:
- Document باز باشد.
- Text Frame انتخاب شده باشد.
- فونت مشخصی نصب باشد.
- فایل خاصی وجود داشته باشد.
اما این شرایط برقرار نیست.
💥 خطای Object is invalid
این خطا معمولاً به Objectهای InDesign مربوط میشود.
مثلاً Script به یک Object اشاره میکند که:
- حذف شده،
- دیگر معتبر نیست،
- Document مربوط به آن تغییر کرده،
- یا Object در زمان اجرای دستور وجود ندارد.
💥 خطای undefined is not an object
این خطا معمولاً یعنی Script انتظار دارد Object یا Property خاصی وجود داشته باشد اما آن را پیدا نمیکند.
دلایل رایج:
- نسخه InDesign ناسازگار است.
- API موردنظر وجود ندارد.
- Document یا Selection مناسب نیست.
- کد برای محیط دیگری نوشته شده است.
💥 خطای Method یا Property ناشناخته
اگر Script از Method یا Propertyای استفاده کند که در نسخه موردنظر موجود نیست، ممکن است خطایی در همین زمینه مشاهده کنید.
این مورد یکی از نشانههای مهم API Compatibility است.
در UXP، Adobe صراحتاً درباره نسخهبندی APIها و تفاوت قابلیتهای موجود در نسخههای مختلف Host توضیح داده است. (developer.adobe.com)
🧠 چرا Script روی InDesign قدیمی کار میکند ولی روی نسخه جدید نه؟
ممکن است برخلاف تصور، نسخه جدید همیشه با Script قدیمی سازگار نباشد.
علت میتواند:
- تغییر API
- تغییر رفتار DOM
- تغییر موتور Script
- تغییر نحوه مدیریت Objectها
- تغییرات مربوط به متن
- تغییرات مربوط به UXP
باشد.
🧠 چرا Script جدید روی InDesign قدیمی کار نمیکند؟
این حالت حتی واضحتر است.
ممکن است Script از قابلیتی استفاده کند که در نسخه قدیمی وجود ندارد.
این موضوع برای IDJS اهمیت ویژهای دارد؛ چون UXP Script از InDesign 18.0 به بعد پشتیبانی میشود. (developer.adobe.com)
🔀 تفاوت خطای نصب با خطای Compatibility
این دو را از هم جدا کنید.
اگر Script اصلاً در پنل نیست:
احتمالاً مشکل:
Installation / Path
است.
اگر Script در پنل هست ولی اجرا نمیشود:
احتمالاً باید بررسی کنید:
Compatibility / API / Runtime / Dependency
اگر Script اجرا میشود ولی خروجی اشتباه است:
احتمالاً:
Logic / Data / Document Structure
را باید بررسی کرد.
🌍 مشکل Scriptهای فارسی و راستبهچپ
برای پروژههای فارسی، Script ممکن است با موارد زیر درگیر باشد:
- Unicode
- RTL
- فونت
- Paragraph Direction
- Character Direction
- Composer
- GREP
- Encoding
در نسخههای جدید InDesign نیز تغییرات مرتبط با موتور شکلدهی متن میتواند در رفتار پروژههای فارسی و عربی مؤثر باشد.
Adobe اعلام کرده است که از InDesign 19.0، Harfbuzz موتور پیشفرض شکلدهی متن برای World-Ready Composer شده است. (Adobe Help Center)
بنابراین اگر Script قدیمی مربوط به متن فارسی در نسخه جدید رفتار متفاوتی دارد، فقط خود Script را بررسی نکنید؛ تنظیمات متن و موتور شکلدهی را نیز بررسی کنید.
🧯 اگر Script باعث Crash شدن InDesign شد
اگر InDesign بعد از اجرای یک Script بسته میشود:
ابتدا Script را دوباره اجرا نکنید.
سپس:
- از Document اصلی Backup بگیرید.
- یک Document خالی بسازید.
- Script را روی آن اجرا کنید.
- بررسی کنید Crash فقط در یک Document رخ میدهد یا همه Documents.
- نسخه InDesign را ثبت کنید.
- نسخه Script را بررسی کنید.
- اگر Script قدیمی است، نسخه جدید آن را از سازنده دریافت کنید.
📦 اگر Script به صورت ZIP دانلود شده باشد
اگر فایل این شکل است:
MyScript.zip
ابتدا آن را Extract کنید.
ممکن است داخل آن این ساختار وجود داشته باشد:
MyScript
│
├── MyScript.jsx
├── config.txt
├── data.json
└── lib
در این شرایط فقط فایل اصلی را بدون توجه به ساختار بسته کپی نکنید.
ممکن است Script به فایلهای جانبی وابسته باشد.
🔗 Dependency چیست و چرا مهم است؟
Dependency یعنی Script برای اجرای کامل به فایل یا کتابخانه دیگری نیاز داشته باشد.
برای مثال:
MainScript.jsx
Library.jsx
Config.json
اگر فقط:
MainScript.jsx
را نصب کنید، ممکن است Script اجرا نشود.
این موضوع بهخصوص در Scriptهای حرفهای اهمیت دارد.
🔐 آیا Scriptهای JSXBIN را میتوان ویرایش کرد؟
به شکل معمول، خیر.
یکی از تفاوتهای مهم JSX و JSXBIN این است که JSX یک فایل متنی قابل مطالعه است، اما JSXBIN به شکل باینری توزیع میشود.
بنابراین اگر:
MyScript.jsx
خطا دهد، توسعهدهنده میتواند کد را بررسی و اصلاح کند.
اما اگر:
MyScript.jsxbin
خطا دهد، معمولاً کاربر باید از سازنده Script نسخه اصلاحشده دریافت کند.
🧪 بهترین روش تست یک Script ناشناس
اگر Script را از اینترنت دانلود کردهاید:
مرحله اول
یک Copy از Document اصلی بسازید.
مرحله دوم
یک Document خالی ایجاد کنید.
مرحله سوم
Script را اجرا کنید.
مرحله چهارم
نتیجه را بررسی کنید.
مرحله پنجم
اگر Script درست کار کرد، روی Copy فایل اصلی آزمایش کنید.
مرحله ششم
بعد از اطمینان، روی پروژه اصلی استفاده کنید.
🛡️ نکته امنیتی درباره Scriptهای ناشناس
Script فقط یک فایل بیخطر برای «تغییر چند تنظیم» نیست.
یک Script میتواند عملیات متعددی روی Document و Workflow انجام دهد.
بنابراین Scriptهای ناشناس را بدون بررسی روی فایلهای مهم اجرا نکنید.
بهخصوص در مورد فایلهای:
.jsx
.jsxbin
.jsbin
.idjs
منبع Script و توضیحات سازنده اهمیت دارد.
🗃️ بهترین روش مدیریت Scriptهای InDesign
اگر تعداد زیادی Script دارید، یک پوشه اصلی خارج از Adobe ایجاد کنید:
D:\InDesign Scripts\
و آن را دستهبندی کنید:
D:\InDesign Scripts\
│
├── Text
├── Layout
├── FindChange
├── Images
├── Tables
├── Export
├── PDF
├── JSX
├── JSXBIN
└── UXP
این کار باعث میشود با حذف یا نصب نسخه جدید InDesign، نسخه اصلی Scriptهای شما حفظ شود.
📋 چکلیست کامل عیبیابی Script InDesign
اگر Script شما کار نمیکند، این موارد را بهترتیب بررسی کنید:
- نسخه دقیق InDesign مشخص شده است.
- نسخه Windows مشخص شده است.
- Extension واقعی فایل بررسی شده است.
- مشخص شده Script از نوع JSX است یا JSXBIN یا JSBIN یا IDJS.
- فایل
.jsx.txtنیست. - فایل ZIP Extract شده است.
- Script در Scripts Panel نسخه درست قرار گرفته است.
- از Reveal in Explorer برای پیدا کردن مسیر استفاده شده است.
- Document موردنیاز باز است.
- Selection موردنیاز انجام شده است.
- فونتهای موردنیاز نصب هستند.
- Dependencyهای Script وجود دارند.
- Script برای نسخه فعلی InDesign ساخته شده است.
- اگر IDJS است، InDesign از UXP پشتیبانی میکند.
- اگر JSXBIN است، انتظار ویرایش مستقیم سورس ندارید.
- Script ابتدا روی یک فایل آزمایشی تست شده است.
- از فایل اصلی Backup گرفته شده است.
📊 جدول جامع خطاهای Script در InDesign
| مشکل | احتمال اصلی | اقدام پیشنهادی |
|---|---|---|
| Script دیده نمیشود | مسیر اشتباه | Reveal in Explorer |
| JSX اجرا نمیشود | Syntax/Compatibility | بررسی Script و نسخه |
| JSXBIN اجرا نمیشود | Compatibility | بررسی نسخه و دریافت نسخه جدید |
| JSBIN اجرا نمیشود | فرمت/محیط نامشخص | بررسی سازنده و مستندات |
| IDJS اجرا نمیشود | UXP/نسخه InDesign | بررسی InDesign 18+ |
.jsx.txt |
Extension مخفی | نمایش File Extensions |
| Property ناشناخته | API ناسازگار | بررسی نسخه |
| Method ناشناخته | API ناسازگار | بررسی Documentation |
| Object invalid | Object حذف/نامعتبر | بررسی Document |
| Undefined | Object/Property وجود ندارد | بررسی Context |
| فارسی خراب | Encoding/RTL | بررسی Unicode و تنظیمات متن |
| فونت پیدا نمیشود | Font Dependency | نصب فونت |
| Crash | Script/Compatibility | تست روی Document خالی |
| بعد از Update ناپدید شده | پوشه نسخه قبلی | نصب در پوشه نسخه جدید |
| فقط روی یک فایل خراب است | ساختار Document | تست روی فایل جدید |
🤖 کلیدواژههای مهم برای SEO و AI Search
برای اینکه این مقاله در پاسخ به جستوجوهای کاربران و موتورهای جستوجوی مبتنی بر هوش مصنوعی شانس خوبی داشته باشد، موضوعات زیر باید به شکل طبیعی پوشش داده شوند:
کلیدواژههای اصلی:
- آموزش نصب اسکریپت InDesign
- نصب اسکریپت در InDesign
- نصب Script در Adobe InDesign
- آموزش نصب JSX در InDesign
- نصب JSXBIN در InDesign
- نصب JSBIN در InDesign
- JSBIN چیست؟
- JSXBIN چیست؟
- IDJS چیست؟
- نصب IDJS در InDesign
- نصب UXP Script در InDesign
- نصب اسکریپت InDesign در Windows
- نصب اسکریپت InDesign در Windows 10
- نصب اسکریپت InDesign در Windows 11
- نصب اسکریپت InDesign در Windows 7
- پوشه Scripts InDesign
- مسیر نصب Script InDesign
- Scripts Panel InDesign
- اسکریپت InDesign اجرا نمیشود
- اسکریپت InDesign نمایش داده نمیشود
- رفع خطای Script در InDesign
- خطای JSX در InDesign
- خطای JSXBIN در InDesign
- خطای IDJS در InDesign
- خطای UXP در InDesign
- عیبیابی اسکریپت InDesign
- سازگاری اسکریپت با نسخه InDesign
- InDesign Script Compatibility
- ExtendScript InDesign
- UXP InDesign
- تفاوت JSX و IDJS
- تفاوت JSXBIN و IDJS
- تفاوت ExtendScript و UXP
- آموزش Script نویسی InDesign
❓ سوالات متداول درباره نصب اسکریپت InDesign
آیا JSX و JSXBIN یکی هستند؟
خیر.
هر دو در اکوسیستم ExtendScript قرار میگیرند، اما JSX یک فایل متنی Script است و JSXBIN نسخه باینریشده آن است.
آیا JSXBIN را میتوان به JSX تبدیل کرد؟
بهسادگی نمیتوان آن را مانند یک فایل متنی باز و ویرایش کرد.
اگر به سورس نیاز دارید، بهترین راه دریافت فایل JSX اصلی از توسعهدهنده است.
JSBIN و JSXBIN چه تفاوتی دارند؟
این دو نام را نباید بدون بررسی زمینه Script معادل فرض کرد.
JSXBIN مشخصاً به فایل باینریشده ExtendScript اشاره دارد، اما JSBIN میتواند در پروژهها و ابزارهای قدیمی با معانی یا فرمتهای متفاوت دیده شود.
بنابراین Extension را تغییر ندهید و ابتدا مستندات همان Script را بررسی کنید.
آیا تغییر نام JSBIN به JSX مشکل را حل میکند؟
❌ خیر.
تغییر Extension باعث تبدیل فرمت فایل نمیشود.
آیا IDJS همان JSX جدید است؟
❌ خیر.
IDJS متعلق به UXP Scripting است و JSX معمولاً مربوط به ExtendScript است.
Adobe برای UXP Scriptهای InDesign پسوند .idjs را تعریف کرده است. (developer.adobe.com)
IDJS روی کدام نسخه InDesign اجرا میشود؟
UXP Scripts در InDesign از نسخه 18.0 به بعد پشتیبانی میشوند. (developer.adobe.com)
چرا Script من در InDesign دیده نمیشود؟
احتمالاً در Scripts Panel نسخه اشتباه قرار گرفته است.
از:
Window → Utilities → Scripts → Reveal in Explorer
استفاده کنید. (Adobe Help Center)
چرا Script بعد از نصب InDesign جدید ناپدید شده؟
احتمالاً Script در پوشه Preferences نسخه قدیمی قرار داشته است.
پوشه Scripts نسخه جدید را پیدا کنید و Script را در آن قرار دهید.
آیا Windows 10 و Windows 11 روش نصب متفاوتی دارند؟
در روش اصلی نصب Script تفاوت مهمی ندارند.
در هر دو میتوانید از مسیر:
%APPDATA%\Adobe\InDesign
استفاده کنید یا بهتر از آن، از Reveal in Explorer کمک بگیرید.
چرا Script در پنل دیده میشود اما اجرا نمیشود؟
در این شرایط مشکل الزاماً نصب نیست.
موارد زیر را بررسی کنید:
Version → API → Document → Selection → Dependency → Font → Runtime
🏁 جمعبندی نهایی
نصب و عیبیابی Script در Adobe InDesign زمانی ساده میشود که ابتدا نوع فایل را درست تشخیص دهید.
اگر فایل شما:
.jsx
است، احتمالاً با ExtendScript روبهرو هستید.
اگر:
.jsxbin
است، با یک نسخه باینریشده از ExtendScript مواجه هستید.
اگر:
.jsbin
است، نباید بدون بررسی زمینه و مستندات Script درباره ماهیت آن نتیجهگیری کنید یا Extension را تغییر دهید.
و اگر:
.idjs
است، با UXP Script طرف هستید.
در حال حاضر Adobe برای InDesign از UXP Scripts پشتیبانی میکند و این قابلیت از نسخه 18.0 در دسترس است. (developer.adobe.com)
از طرف دیگر، مسیر نصب در Windows معمولاً در Preferences مربوط به همان نسخه InDesign قرار دارد و Adobe توصیه میکند برای پیدا کردن مسیر صحیح از گزینه Reveal in Explorer استفاده کنید. (Adobe Help Center)
بنابراین برای عیبیابی حرفهای، این ترتیب را به خاطر بسپارید:
نوع فایل → نسخه InDesign → محل نصب → پیشنیازهای Script → API/Compatibility → خطای اجرا
اگر این پنج مرحله را درست بررسی کنید، بخش بزرگی از مشکلات مربوط به نصب اسکریپت InDesign، JSX، JSXBIN، JSBIN، IDJS و UXP قابل تشخیص خواهد بود.
و یک نکته مهم آخر:
اگر Script در پنل Scripts دیده نمیشود، اول دنبال مشکل نصب و مسیر بگردید؛ اگر دیده میشود ولی اجرا نمیشود، احتمال Compatibility یا خطای خود Script را بررسی کنید.
این تفکیک ساده، یکی از مهمترین اصول عیبیابی Script در InDesign است.
ماکروهای ورد