InDesign 链接:Mac 和 PC 之间的路径冲突

InDesign 链接:Mac 和 PC 之间的路径冲突

我的公司多年来一直在 Windows 上使用 InDesign。当他们创建“链接”时,它们会指向网络驱动器,因此文件路径以驱动器号开头,例如“N:...”。我们最近买了 iMac,但这些链接无法使用,因为 Mac 路径不是以驱动器号开头的。

我们可以手动更新所有链接,但这几乎是不可能的,因为有成千上万个文件。此外,我们仍然有 Windows 用户,因此更改链接会导致它们在这些机器上中断。我不知道是否可以以编程方式更新链接,但即使可以,也必须将它们更改为在 PC 和 Mac 上都能正常工作的链接。

据我所知,像我们以前那样使用网络驱动器并不是明智之举,但我不确定还有其他选择。

有快速解决方法吗?如果没有,我们需要采取什么步骤来解决这个问题?

答案1

Adobe 的解决方案是让您使用 Adob​​e Bridge。这个问题Stack Exchange/Graphic Design 对这个问题进行了很好的讨论。

当遇到此“PC 链接”问题时,印前公司的 Mac 用户会运行以下 Applescript 来重新链接他们的文件。也许您会发现它很有用。

global foundPaths, foundPathNames
set foundPathNames to {}
set foundPaths to {}
set missedLinks to "" -- name of links not found
tell application "Adobe InDesign CS5"
    activate
    -- choose pic folder
    set folderpath to (choose folder with prompt "Choose folder containing pictures:") as Unicode text
    tell document 1
        set missingLinks to every link whose status is link missing
        if missingLinks is not {} then
            set missingLinkNames to name of every link whose status is link missing
            set linkcount to count of items of missingLinkNames
            -- search for file recursively
            my checkforfile(folderpath, missingLinkNames, linkcount)
            set foundCount to count of items of foundPathNames
            -- see if file was found, and relink if so
            repeat with i from 1 to linkcount
                repeat with j from 1 to foundCount
                    if contents of item j of foundPathNames = contents of item i of missingLinkNames then
                        relink item i of missingLinks to alias (item j of foundPaths)
                        exit repeat
                    else if j = foundCount then
                        set missedLinks to missedLinks & (item i of missingLinkNames) & ", "
                    end if
                end repeat
            end repeat
            try -- in case there aren't any
                update (every link whose status is link out of date)
            end try
            if missedLinks = "" then
                display dialog "All links updated."
            else
                display dialog "The following links weren't found: " & return & (text 1 thru -3 of missedLinks)
            end if
        else
            display dialog "No links missing."
        end if
    end tell
end tell

on checkforfile(folderpath, fileNames, n)
    set theList to list folder file folderpath without invisibles
    repeat with anItem in theList
        set thePath to alias (folderpath & anItem) as Unicode text
        if thePath ends with ":" then
            set searchResult to my checkforfile(thePath, fileNames, n)
            if searchResult is false then
                return false
            end if
        else if contents of anItem is in fileNames then
            set end of foundPathNames to contents of anItem
            set end of foundPaths to thePath
            if (count of items of foundPaths) = n then
                return false
            end if
        end if
    end repeat
    return true
end checkforfile

相关内容