Originalgröße in Indesign anzeigen lassen

In Indesign gibt es die Funktion sich das Dokument in Originalgröße anzeigen zu lassen. Leider rechnet Indesign hier wenig dynamisch mit einer Auflösung von 72 px pro Inch. Heutzutage haben aber viele Displays höhere Auflösungen. Damit man sich auch hier die Sachen auf Originalgröße anzeigen lassen kann, habe ich ein wirklich kleines Skript geschrieben.

Damit es richtig funktioniert muss man nur die Displayinformationen richtig eintragen in der Zeile “var myDispayInfo = {widthpx:1920, displayWidthmm:517}” Einmal die Auflösungsbreite des Displays in Pixeln und einmal die physikalische Breite des Displays in Milimetern. Sehr praktisch ist es übrigens sich das Script per Tastenkürzel in Indesign zugänglich zu machen.

Download

// Jan Kampling 2010-04-01 http://apple-gadgets.de

// Adjust your Displayinformations in the next line
var myDispayInfo = {widthpx:1920, displayWidthmm:517}

var myPxPerInch = Math.round(myDispayInfo.widthpx / myDispayInfo.displayWidthmm * 25.4);
var myChange = Math.round(myPxPerInch / 72 * 100);
app.activeWindow.zoomPercentage = myChange;

Originalgröße in Indesign anzeigen lassen

In Indesign gibt es die Funktion sich das Dokument in Originalgröße anzeigen zu lassen. Leider rechnet Indesign hier wenig dynamisch mit einer Auflösung von 72 px pro Inch. Heutzutage haben aber viele Displays höhere Auflösungen. Damit man sich auch hier die Sachen auf Originalgröße anzeigen lassen kann, habe ich ein wirklich kleines Skript geschrieben. Damit es richtig funktioniert muss man nur die Displayinformationen richtig eintragen in der Zeile “var myDispayInfo = {widthpx:1920, displayWidthmm:517}” Einmal die Auflösungsbreite des Displays und einmal die physikalische Breite des Displays. Sehr praktisch ist es übrigens sich das Script per Tastenkürzel in Indesign zugänglich zu machen.

Download

// Jan Kampling 2010-04-01 www.blogadresse.de

// Adjust your Displayinformations in the next line
var myDispayInfo = {widthpx:1920,  displayWidthmm:517}

var myPxPerInch = Math.round(myDispayInfo.widthpx / myDispayInfo.displayWidthmm * 25.4);
var myChange = Math.round(myPxPerInch / 72 * 100);
app.activeWindow.zoomPercentage = myChange;

ReSave alle Indesign Dateien

Indesign hat die Eigenart beim Speichern von Dateien immer alles hinten an das Dateiende an zu hängen, dadurch werden die Dateien manchmal sehr groß. Hier hilft es einem “Speichern als” auszuführen, dabei wird die Datei dann komplett neugeschrieben und alle unnötigen Daten gelöscht. Auf diese Art kann man schon mal gerne 50 bis 80% der Dateigröße einsparen.

Um diesen Prozess nicht für alle alten Indesign Dateien ausführen zu müssen, habe ich ein JavaScript geschrieben, dass diesen Prozess automatisiert.

Ich übernehme keine Haftung für irgendwelche Fehler beim ausführen. Zu beachten ist, dass nur Indesign-Dateien mit der Dateiendung .indd bearbeitet werden. Dateien die in einer alten Indesign-Version gespeichert wurden, werden umgewandelt und in der neusten Version gespeichert. Beim Ausführen einfach einen Ordner mit Indesign-Dateien wählen. Es werden alle Unterordner automatisch mitbearbeitet.

Für den Fall, dass Indsign während des Ausführens des Scripts abstürzt, wird eine eine Log-Datei ReSave.log angelegt, so kann man sehen, bei welchem Dokument Indesign Probleme macht.

Download

var myFolder = Folder.selectDialog();
var logFile = makeLogFile("ReSave", myFolder, true, false);
processFolder(myFolder);

function processFolder (myFolder) {
	try {
	var myItems = myFolder.getFiles("*.indd");
	reSave(myItems);
	} catch (e) {
		// nix
		}

	try {
	var myItems = myFolder.getFiles("*");
	for (var i = 0; i < myItems.length-1; i++) {
		processFolder (myItems[i]);
		}
	} catch (e) {
		// nix
		}
	}

function reSave(myItems) {

	for (var i = 0; i < myItems.length; i++) {
		app.scriptPreferences.userInteractionLevel = UserInteractionLevels.neverInteract;

		var myDocument = app.open(myItems[i]);
		log(logFile, ("Opened " + myDocument.name));
		myDocument.save(myItems[i]);

		myDocument.close();
		app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

		}
	}

function makeLogFile(aName, logLoc, deleteIt, useExisting) {
	var aFile = File(logLoc + "/" + aName + ".log");
	if (deleteIt) {
		aFile.remove();
		return aFile;
	}
	if (!useExisting) {
		var n = 1;
		while (aFile.exists) {
			aFile = File(logLoc + "/" + aName + "_" + String(n) + ".log");
			n++
		}
	}
	return aFile
}

function getScriptPath() { // This function returns the path to the active script, even when running ESTK
	try {
		return app.activeScript;
	} catch(e) {
		return File(e.fileName);
	}
}

function log(aFile, message) {
	var today = new Date();
	if (!aFile.exists) { // make new log file
		aFile.open("w");
		aFile.write(String(today) + " New Script started\n\n");
		aFile.close();
	}
	aFile.open("e");
	aFile.seek(0, 2);
	aFile.write(String(today) + " " + message + "\n");
	aFile.close();
}