• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Is There an Easy way to Find Grayscale Images in an InDesign File?

Explorer ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

We create 30 catalogs that contain thousands of images in each one. Occasionally, between the image creation process and placing those images in the catalogs, a grayscale image might sneak through. Our commercial printer now says that we need to convert those to CMYK. I can't image clicking on thousands of images to see if any of them are grayscale...is there an easier way to find them?

Thanks,

Lloyd

Views

1.1K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Jan 15, 2018 Jan 15, 2018

You can do it with preflight, but your printer really shouldn't care. Grayscales have the advantage of perfect neutrality—if the CMYK profile used to make a conversion isn't perfect for the press, or if the press gray balance changes during the run you will get a color cast. On the other hand, if handled correctly, CMYK has better dynamic range—richer blacks. The choice should be yours.

Screen Shot 16.png

This preflight profile finds the grayscale and skips the CMYK version

Screen Shot 17.png

Votes

Translate

Translate
Community Expert ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

You can do it with preflight, but your printer really shouldn't care. Grayscales have the advantage of perfect neutrality—if the CMYK profile used to make a conversion isn't perfect for the press, or if the press gray balance changes during the run you will get a color cast. On the other hand, if handled correctly, CMYK has better dynamic range—richer blacks. The choice should be yours.

Screen Shot 16.png

This preflight profile finds the grayscale and skips the CMYK version

Screen Shot 17.png

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

Hi Lloyd,

Package your book and click the Links and Images group in the Package dialog box. The Type column lists the color space. Create a report and you'll see how many images don't use your CMYK profile. 

You can also use bridge to see the links folder with your graphic files. View the folder as a list and sort the Color Profile column. You should see all of the grayscale images because the color profile is not your regular CMYK profile.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

The advantage of a preflight profile is it will generate a list where you can click on the items, which selects and takes you to the image in the layout. From there you can right-click or option click to edit the original and make the conversion.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

How do I click on all of these replies as "Correct." Each of you has given me the answer!

I appreciate it...thank you!

Lloyd

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

Choose helpful. There can only be one correct answer.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 15, 2018 Jan 15, 2018

Copy link to clipboard

Copied

All excellent options, and they even can be combined!

Pick the one for a workflow you are comfortable with: selecting one by one and fixing them through Edit Original, or create a list so you can edit them in Photoshop en masse and then update the links.

If all images must be converted then you can skip this and export to a greyscale profile PDF.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Jan 16, 2018 Jan 16, 2018

Copy link to clipboard

Copied

LATEST

What about an apple script:

Its a quickndirty modification of a quickndirty script, so dont exspect perfection.

Look at line 40: set fname to space of …

Originally I was looking for a name in my linklist. I change that.

set ProgrammName to "Æ’{s} FiLL"

set ProgrammNameLang to "Æ’{s} FiLL (Find In Link-List)"

set myLinks to {}

set errormsg to ""

set Proz to "100%"

tell application "Adobe InDesign CC 2017"

    activate

    if (count documents) = 0 then set errormsg to "Kein Dokument geöffnet."

    try

        tell active document

            set AlleBilder to every link

        end tell

        if (count AlleBilder) = 0 then set errormsg to "Keine Verknüpfungen vorhanden."

    end try

  

    if errormsg is not "" then

        display dialog "" & errormsg buttons {"Mist!"} default button 1 with icon 0

    else

        tell active document

            set DokName to name

          

            set FindWhat to ""

          

            repeat until FindWhat ≠ ""

                set DialogResult to (display dialog "Dokument " & DokName & linefeed & " durchsuchen nach: " with title ProgrammNameLang with icon 1 buttons {"Los", "Beenden"} default button "Los" default answer "12345")

                if button returned of DialogResult = "Beenden" then

                    return

                end if

                set FindWhat to text returned of DialogResult

            end repeat

          

            my myProgressBarCreate(ProgrammNameLang, "Untersuche Verknüpfung…", length of AlleBilder)

          

          

          

            repeat with k from 1 to (length of AlleBilder)

                set myItem2 to parent of item k of AlleBilder

                if class of myItem2 as string = "image" then

                    set fname to space of myItem2 as string

                else

                    set fname to ""

                end if

              

                set myItem to item k of AlleBilder

              

                if link type of myItem = "EXCLUDE SOMETHING" then

                    beep (1)

                else

                    --set fname to file path of myItem as string

                    if FindWhat is in fname then copy myItem to the end of myLinks

                  

                  

                    -- my ZoomSelection(MyItem)

                  

                    set whatsleft to (((length of AlleBilder) + 1) - k)

                    my myProgressBarStatustext("(" & whatsleft & ") – " & fname)

                    set tempzent to round ((((100 / (length of AlleBilder))) * k)) as real

                    my myProgressBarIncrement(tempzent & "%")

                end if

            end repeat

            my myProgressBarClose()

            -- display dialog "End with " & length of AlleBilder

        end tell

        -- end repeat

    end if

  

    if (length of myLinks) = 0 then

        display dialog "Nix gefunden" with title ProgrammNameLang with icon 0 buttons {"Hmpf."} default button "Hmpf." giving up after 3

        return

    end if

  

  

  

    if length of myLinks = 1 then

        --        set LinkPage to name of parent page of parent of parent of link LinkNum

        set SmallResult to button returned of (display dialog "Gefunden:" & linefeed & name of item 1 of myLinks & linefeed & linefeed & "Seite " & name of parent page of parent of parent of item 1 of myLinks & " in " & linefeed & linefeed & DokName with title ProgrammNameLang with icon 1 buttons {"Anzeigen", "Beenden"} default button "Anzeigen")

        if SmallResult = "Anzeigen" then

            try

                my GotoLink(item 1 of myLinks)

            end try

        end if

    else

        set showResults to {}

        repeat with k from 1 to (length of myLinks)

            set TempName to name of item k of myLinks

            if length of TempName > 25 then set TempName to (((characters 1 thru 25 of TempName) as string) & "…")

            -- copy "" & k & ". " & "Seite " & name of parent page of parent of parent of item k of myLinks & " | \"" & TempName & "\" | id" & id of item k of myLinks to the end of showResults

            copy "" & k & ". " & " | \"" & TempName & "\" | id" & id of item k of myLinks to the end of showResults

        end repeat

        set BigResult to true

        set last_item to item 1 of showResults

        repeat until BigResult = false

            set BigResult to choose from list showResults with title ProgrammNameLang with prompt "Vorkommnisse gefunden: " & (length of myLinks) OK button name "Anzeigen" cancel button name "Beenden" default items {last_item}

            if BigResult ≠ false then set last_item to item 1 of BigResult

          

            repeat with J from 1 to length of showResults

                if "" & BigResult = "" & (item J of showResults) then

                    my GotoLink(item J of myLinks)

                end if

            end repeat

          

        end repeat

    end if

  

  

  

end tell

tell application "Finder"

    try

        -- my myProgressBarClose()

    on error the error_message number the error_number

        display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1

    end try

end tell

on GotoLink(VAR)

    tell application "Adobe InDesign CC 2017"

        set selection to nothing

        select parent of VAR

        set GotoLinkAction to menu action id 132629

        --invoke GotoLinkAction

    end tell

end GotoLink

on ZoomSelection(vari)

    tell application "Adobe InDesign CC 2017"

        set selection to nothing

        select parent of vari

        set ZoomSelectionAction to menu action id 118790

        invoke ZoomSelectionAction

    end tell

end ZoomSelection

on myProgressBarCreate(pbBarName, firstAction, pbMax)

  

    set pbJS to "#targetengine 'pbar'

    var ProgressBar = function(/*str*/title)

    {

         var w = new Window('palette', ' '+title, {x:0, y:0, width:360, height:60}),

              pb = w.add('progressbar', {x:10, y:12, width:300, height:12}, 0, 100),

        pt = w.add('statictext', {x:320, y:10, width:40, height:20}, ''),

              st = w.add('statictext', {x:10, y:36, width:360, height:20}, '');

         st.justify = 'left';         w.center();

         this.reset = function(msg,maxValue)

              {

              st.text = msg;

              pb.value = 0;

              pb.maxvalue = maxValue||0;

              pb.visible = !!maxValue;

              w.show();

              };

         this.statustext = function(msg)

              {

              st.text = msg;

              w.show();

              };

        this.prozent = function(msg)

              {

              pt.text = msg;

              w.show();

              };                  

        

         this.hit = function() {++pb.value;};

         this.hide = function() {w.hide();};

         this.close = function() {w.close();};

    };

    

    

    pBar = new ProgressBar('" & pbBarName & "');

    pBar.reset('" & firstAction & "', " & pbMax & ");"

    tell application "Adobe InDesign CC 2017"

        activate

        do script pbJS language javascript

    end tell

end myProgressBarCreate

on myProgressBarStatustext(newText)

    set pbJS to "#targetengine 'pbar'

    pBar.statustext('" & newText & "');"

    tell application "Adobe InDesign CC 2017" to do script pbJS language javascript

end myProgressBarStatustext

on myProgressBarIncrement(prozent)

    set pbJS to "#targetengine 'pbar'

      pBar.hit()"

    tell application "Adobe InDesign CC 2017" to do script pbJS language javascript

    set pbJS to "#targetengine 'pbar'

    pBar.prozent('" & prozent & "');"

    tell application "Adobe InDesign CC 2017" to do script pbJS language javascript

end myProgressBarIncrement

on myProgressBarReset(newAction, newMax)

    set pbJS to "#targetengine 'pbar'

      pBar.reset('" & newAction & "', " & newMax & ");"

    tell application "Adobe InDesign CC 2017" to do script pbJS language javascript

end myProgressBarReset

on myProgressBarClose()

    set pbJS to "#targetengine 'pbar'

      pBar.close();"

    tell application "Adobe InDesign CC 2017" to do script pbJS language javascript

end myProgressBarClose

on replaceString(theText, oldString, newString)

    local ASTID, theText, oldString, newString, lst

    set ASTID to AppleScript's text item delimiters

    try

        considering case

            set AppleScript's text item delimiters to oldString

            set lst to every text item of theText

            set AppleScript's text item delimiters to newString

            set theText to lst as string

        end considering

        set AppleScript's text item delimiters to ASTID

        return theText

    on error eMsg number eNum

        set AppleScript's text item delimiters to ASTID

        error "Can't replaceString: " & eMsg number eNum

    end try

end replaceString

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines