Skip to main content
Known Participant
November 3, 2023
Question

Actual Size on Monitor is Not Accurate

  • November 3, 2023
  • 2 replies
  • 698 views

How do I tell InDesign the exact screen resolution?

In Photoshop, I can set the Screen Resolution to 90 pixels/inch and what I'm seeing on the screen matches the size of the document. But with  InDesign  (latest version) on Windows 10, the 7x10" greeting card shows up larger than 7x10" and I can't find a place to tell InDesign the true screen resolution. In other words, when I place a real ruler over the screen, it doesn't match the InDesign's ruler.


There's an old post that proports to "answer" the question, but it doesn't say how to do it. And if it involves Java Script, then how is that implemented?

 

Thanks so much!

Mike

This topic has been closed for replies.

2 replies

Colin Flashman
Community Expert
Community Expert
November 4, 2023

I believe Marc Autret may have a script that assists: https://indiscripts.com/category/projects/PhysicalSize

If the answer wasn't in my post, perhaps it might be on my blog at colecandoo!
James Gifford—NitroPress
Legend
November 3, 2023

Wait again... both scripts are correct but my description is bollixed. (Curses not being a Script Wizard™!)

 

The short script will instantly set your display to true 100% display, one inch to one inch, but by changing the zoom percentage. Set the '115' value to whatever gives you that exact screen measurement.

 

/* SetRealScrnPercentage100 */
try {app.layoutWindows[0].zoomPercentage = 115 } catch (e) {};

 

(I can't remember if this is another script of Rob's, or from Bob Levine.)

 

The one you want, to adjust your screen rez to an odd value and get that 1:1 correspondence for your 100% zoom setting, is this one. Just run it and enter adjusted values until you have 100% display at the 100% zoom setting. It's a sticky setting and will persist at least until major updates; if not, re-run it with your established value as needed:

 

/*
* Set a custom display resolution
* Rob Day 2020-2022
*/
var mm = app.generalPreferences.mainMonitorPpi.toFixed (2);
$.writeln(Number(mm))

makeDialog()
var cRes, ckBox;
function makeDialog(){
    var theDialog = app.dialogs.add({name:"Display Resolution", canCancel:true});
    with(theDialog.dialogColumns.add()){
        staticTexts.add({staticLabel:"Custom Resolution:"});
        staticTexts.add({staticLabel:"Use System Setting: " + mm + "  "});
    }
    with(theDialog.dialogColumns.add()){
        cRes = realEditboxes.add({editValue:Number(mm), minWidth:100});
        ckBox = checkboxControls.add({checkedState:false, minWidth:150});
    }
    if(theDialog.show() == true){
        cRes = cRes.editValue;
        ckBox = ckBox.checkedState;
        setCustomRes()
        theDialog.destroy();
	}
}


/**
* Discription 
* @ return value 
* 
*/
function setCustomRes(){
    if (ckBox) {
        app.generalPreferences.customMonitorPpi = 72;
        app.generalPreferences.useCustomMonitorResolution = false;
    } else {
        app.generalPreferences.customMonitorPpi = cRes
        app.generalPreferences.useCustomMonitorResolution = true;
    }
    app.activeWindow.zoomPercentage = 100;
}

 

 

Known Participant
November 6, 2023

Hi, James!


Thanks so much for the script. It works, but it requires me to enter it every time I open the program. However, is there a startup script that could  simply set the resolution to 90 ppi? It's weird because Windows 10 thinks it's 96 ppi, but the screen is set to 1680 pixels wide (18.65 inches wide) or 90 ppi.

 

Thanks for your time and patience.
Mike

James Gifford—NitroPress
Legend
November 6, 2023

Sorry, I am a.... something just above novice with scripts myself, which is odd because I do elaborate coding and scripting in other areas. But yes, I assumed you knew what to do with all that gibberish. You can look up good tutorials on how to install scripts if this isn't sufficient:

 

  • Cut and paste that code (each separately) into a plain text file (in Notepad or the equivalent).
  • Save it as something useful like SetScreenPPI.jsx. This name is what you'll see in the script list.
  • Open the Scripts panel in ID.
  • Right-click on the User folder, and click "Open in Finder/Explorer"
  • Click on Scripts Panel.
  • Drag the new script file there.

 

You will now have an entry "SetScreenPPI.jsx" under Scripts | User. Click it to run. The latter, larger script will give you an entry window for the desired PPI. Adjust until you have the exact screen display scale you want.

 

(For the shorter script, you have to right click and edit the script to change the PPI, then run it. It's an active script and has to be run to set the display to that value, so it's a bit of a hack rather than the solution the larger script is.)