• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

[QuarkXPress] JPG's mit Tiff-Dateien aktualisieren

HFPatzi

Jonagold
Registriert
29.07.10
Beiträge
18
Guten Morgen zusammen,

ich hab da mal n Problem ;)
Kurz zur Erklärung, ich arbeite in einem Reprounternehmen mit Schwerpunkt Versandhauskataloge, sprich wir haben täglich einen riesen Durchsatz an QXP-Dokumenten. Wobei es mein Job ist, die Dokumente vorzubereiten, sprich: Bild/Text-Ebenentrennung, Bildrecherche und Bilder aktualisieren. Jetzt bin ich seit neuestem mit dem Fall konfrontiert, dass die Grafiker ihre Seiten mit jpg-Daten aufbauen, wir aber mit tiff's arbeiten. Das kostet mich momentan beim Aktualisieren der Bilder reichlich Zeit und Nerven, da ich zur Zeit jedes Bild einzeln aktualisieren muss, obwohl alle Bilder im selben Ordner liegen und abgesehen vom suffix auch gleich heißen.
Gibt es irgendwie die Möglichkeit (in QXP selber oder Xtension) das Quark in der Verwendung den Suffix der Bilddaten quasi "ignoriert", so dass ich alle Bilder auf einen Schlag auf "modifiziert" stehen hab und das nicht für jedes der immerhin 10-30 Bilder pro Seite tun muss?
Falls es dafür eine XTension gibt, darf diese auch ruhig was kosten.

Danke schonmal im Voraus und noch einen angenehmen Samstag ;)

Greetz
Patzi
 

abstarter

Spätblühender Taffetapfe
Registriert
26.11.04
Beiträge
2.789
ja die gibt es, ist aber bei uns eine in house extension ;)
weiteres gerne via pm
 

-hans-

Jamba
Registriert
02.09.10
Beiträge
56
Hi,

versuchs mal mit diesem ApplesScript. Getestet mit QXP 8.1.6 und OS X 10.4.11.

Das Script wäre auf jeden Fall auch noch erweiterbar ...

Im ScriptEditor öffnen und im Quark-Script-Ordner ablegen.
Bei geöffnetem Quark-Doc aus der Scriptpalette starten ... (Man kannes auch direkt ab ScriptEditor ausführen ...)

Hoffe es klappt ;)

Gruß

Hans

Code:
(*
Getestet mit QXP 8.1.6 unter OS X 10.4.11
Tauscht alle Bilddateien mit Suffix "jpg" gegen "tif"

Voraussetzung:
• Alle Tif-Dateien liegen im selben Ordner wie die Jpg's
• Aussenmaße der Bilddateien sind gleich
• no broken links
*)


tell application "QuarkXPress"
	set CurrentDoc to front document
	tell CurrentDoc
		repeat with i from 1 to count of pages
			my loadTiff(i)
		end repeat
	end tell
end tell

on loadTiff(CurrentPage)
	tell application "QuarkXPress"
		tell front document
			
			tell page CurrentPage
				repeat with j from 1 to count of every image
					select image j
					tell image j
						set ThePath to file path
					end tell
					set newPath to my getPath(ThePath)
					try
						set image j to alias (newPath)
					on error
						activate
						display dialog "Die Datei: " & newPath & " kann nicht importiert werden."
					end try
				end repeat
			end tell
		end tell
	end tell
end loadTiff

on getPath(picalias)
	set tid to AppleScript's text item delimiters
	set AppleScript's text item delimiters to ""
	set wholePicPath to picalias as text
	set AppleScript's text item delimiters to "."
	if text item -1 of wholePicPath is "tif" then
		set newPath to wholePicPath
		return newPath
	else if text item -1 of wholePicPath is "jpg" then
		set newPath to (text items 1 thru -2 of wholePicPath & "tif") as text
		return newPath
	end if
	set AppleScript's text item delimiters to tid
end getPath
 

HFPatzi

Jonagold
Registriert
29.07.10
Beiträge
18
Hi hans,

vielen Dank erstmal für dein Script. Funktioniert tadellos und hält was es verspricht. Das Problem an der Sache ist, das ich die JPG's mit denen die Grafiker arbeiten nicht habe, sondern nur die Tiff's mit denen wir Arbeiten. Ich dachte da eher daran, die Verwendung von Quark etwas hinters Licht zu führen, in dem man (sollte man da irgendwie zugreifen können) wenn die Bilder noch nicht aktualisiert sind, der Verwendung sagt: Nenne mir die Dateien xyz.jpg in xyz.tif um. So dass ich nachher beim Aktualisieren nur noch ein Bild auswählen muss und die Restlichen dann auch auf "modifiziert" stehen. Aktualisieren will ich die Bilder dann später schon von Hand, da nicht 100%ig auszuschliessen ist, das diese verspringen und somit das Risiko, Seiten mit falschem Stand abzugeben zu groß ist.
Wenn also Du oder auch andere Mitleser eine kostenlose bis kostengünstige Lösung für mein Problem hast/habt, wäre das eine tolle Sache ;)

Trotzdem, wie gesagt, vielen Dank für dein Script. Bin gerade dabei es zu entschlüsseln und kann es sicherlich an anderer Stelle noch gebrauchen ;)

Bis denne!

Der Patzi
 

-hans-

Jamba
Registriert
02.09.10
Beiträge
56
Hallo Patzi,

QXP bietet die Daten der actual bounds und scale. Liest- und wertet man diese aus, dann kann man die Maße "JPG <-> Tif" vergleichen. Sollte die Symmetrie gleich sein, dann kann man den korrekten Bildausschnitt errechnen.

Probiere einmal folgendes: Erstelle ein einseitiges Dokument und platziere ein Bild von dem Du eine zweite Version anlegst, das anstatt z.B. 13 x 18 cm (Original), 26 x 36 cm gross ist. Führe folgendes Script aus und wähle in dem Dialog die zweite Version des Bildes ... Sollte eine Bilddatei andere Bildmaße haben als das Original, dann man diese Vorkommen melden, dokumentieren ...

Schönes Wochenende :)

Hans
Code:
set TheTifFile to choose file
set {OrigPicHeight, OrigPicWidth, OrigCheck, OrigyScale, OrigxScale} to my GetPicInfos()
tell application "QuarkXPress"
	tell front document
		set image 1 of page 1 to TheTifFile
		set {NewPicHeight, NewPicWidth, NewPicCheck} to my GetPicInfos()
		
		set newyScale to OrigPicHeight / NewPicHeight * (OrigyScale as real)
		set newxScale to OrigPicWidth / NewPicWidth * (OrigxScale as real)
		
		tell image 1 of page 1
			set properties to {scale:{newyScale, newxScale}}
		end tell
		
		set NewPicCheck to (NewPicHeight / NewPicWidth)
		if OrigCheck / NewPicCheck > 1.02 then display dialog "Originaldatei und Reprodatei haben verschiedene Symmetrien"
		if OrigCheck / NewPicCheck < 0.98 then display dialog "Originaldatei und Reprodatei haben verschiedene Symmetrien"
		
		
	end tell
end tell

on GetPicInfos()
	tell application "QuarkXPress"
		tell front document
			tell image 1 of page 1
				set {xbounds, ybounds, scaledHeight, scaledwidth} to actual bounds as list
				set {yScale, xScale} to scale as list
				set PicHeight to (scaledHeight as real) * 100 / (yScale as real)
				set PicWidth to (scaledwidth as real) * 100 / (xScale as real)
				set PicCheck to (PicHeight / PicWidth)
			end tell
		end tell
	end tell
	return {PicHeight, PicWidth, PicCheck, yScale, xScale}
end GetPicInfos
 
Zuletzt bearbeitet: