#target "indesign"
#targetengine "GeminiLinksFixer_Final_SystemPaste"
function main() {
if (app.documents.length === 0) return;
var doc = app.activeDocument;
var links = doc.hyperlinks;
var data = [];
var memoryFile = new File(Folder.myDocuments + "/InDesign_Links_Memory.json");
var memory = {};
if (memoryFile.exists) {
memoryFile.open("r");
var content = memoryFile.read();
memoryFile.close();
if (content != "") { try { memory = eval("(" + content + ")"); } catch(e) {} }
}
for (var i = 0; i < links.length; i++) {
try {
var dest = links[i].destination;
if (dest && dest.hasOwnProperty("destinationURL")) {
var name = (links[i].source instanceof HyperlinkTextSource) ?
links[i].source.sourceText.contents : links[i].name;
var currentUrl = dest.destinationURL;
var targetUrl = (memory[name]) ? memory[name] : currentUrl;
data.push({ text: name, url: targetUrl, originalUrl: currentUrl, link: links[i] });
}
} catch(e){}
}
// פונקציה לשליפת טקסט מהלוח באמצעות PowerShell (עוקף את אינדיזיין)
function getSystemClipboard() {
var psScript = 'powershell -command "Get-Clipboard"';
try {
var result = app.doScript(psScript, ScriptLanguage.VISUAL_BASIC);
// בשימוש ב-doScript עם VB על ווינדוס הוא מחזיר את פלט המערכת
if (!result) {
// שיטה חלופית אם הראשונה לא מחזירה ערך בגרסה שלך
var cmd = 'powershell -command "Get-Clipboard" > "%temp%\\clip.txt"';
app.doScript('Set shell = CreateObject("WScript.Shell"): shell.Run "cmd.exe /c ' + cmd + '", 0, True', ScriptLanguage.VISUAL_BASIC);
var f = new File(Folder.temp + "/clip.txt");
if (f.exists) {
f.open("r");
var txt = f.read();
f.close();
return txt;
}
}
return result;
} catch (e) { return ""; }
}
var win = new Window("palette", "תיקון קישורים - הדבקה נקייה");
win.orientation = "column";
win.spacing = 5;
win.margins = 15;
var mainGroup = win.add("group {orientation: 'row', alignChildren: ['right', 'fill']}");
var fieldsGroup = mainGroup.add("group {orientation: 'column', spacing: 2}");
var uiRows = [];
for (var r = 0; r < 12; r++) {
var row = fieldsGroup.add("group");
var btnPaste = row.add("button", [0, 0, 50, 22], "הדבק");
var edt = row.add("edittext", [0, 0, 380, 22], "");
var btnSel = row.add("button", [0, 0, 40, 22], "בחר");
var txtLabel = row.add("statictext", [0, 0, 300, 22], "");
btnSel.onClick = (function(e) {
return function() { e.active = true; e.selection = [0, e.text.length]; };
})(edt);
btnPaste.onClick = (function(e) {
return function() {
var clipText = getSystemClipboard();
if (clipText && clipText != "") {
// ניקוי רווחים וירידות שורה מיותרות מהקצוות
e.text = clipText.replace(/^\s+|\s+$/g, "");
e.active = true;
}
};
})(edt);
uiRows.push({row: row, txtLabel: txtLabel, edt: edt, dataIdx: -1});
}
var sb = mainGroup.add("scrollbar", [0, 0, 20, 300]);
function refresh(start) {
var startIdx = Math.floor(start);
for (var k = 0; k < uiRows.length; k++) {
var idx = startIdx + k;
if (idx < data.length) {
uiRows[k].txtLabel.text = data[idx].text.substring(0, 45);
uiRows[k].edt.text = data[idx].url;
uiRows[k].dataIdx = idx;
uiRows[k].row.visible = true;
} else { uiRows[k].row.visible = false; }
}
}
sb.onChanging = function() { refresh(this.value); };
sb.minvalue = 0;
sb.maxvalue = Math.max(0, data.length - uiRows.length);
var btnSave = win.add("button", undefined, "עדכן ושמור");
btnSave.alignment = "center";
btnSave.onClick = function() {
for (var j = 0; j < data.length; j++) {
for(var i=0; i<uiRows.length; i++) {
if(uiRows[i].dataIdx === j) data[j].url = uiRows[i].edt.text;
}
if (data[j].url !== data[j].originalUrl) {
try { data[j].link.destination.destinationURL = data[j].url; } catch(e){}
}
memory[data[j].text] = data[j].url;
}
memoryFile.open("w");
memoryFile.write(memory.toSource());
memoryFile.close();
alert("נשמר!");
};
refresh(0);
win.show();
}
main();
כן.מישהו יודע אם אני בפורום הנכון?
לא הבאת מספיק מידע, לא קובץ ניסיון.מישהו יודע אם אני בפורום הנכון?
rhon.co.il
מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!
חלה שגיאה בשליחה. נסו שוב!
לוח לימודים
מסלולי לימוד שאפשר להצטרף
אליהם ממש עכשיו:
תהילים פרק כה
אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
הנושאים החמים



Reactions: אבסולוט פרימה בלרינה, חלומות ירוקים, Harmonyapro ועוד 113 משתמשים116 //