Forenindex » Programme » Print/Bildbearbeitung » QuarkXPress » Ausgabestil per Applescript

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

16. Mär 2011, 14:38
Bewertung:

gelesen: 9051

Beitrag als Lesezeichen
Hallo liebes Forum,

bin auf der Suche nach einem Script oder einer Hilfstellung. Ich produziere Katalogseiten die auf Einzelseiten erstellt und später als Montagefläche ausgegeben werden. Nun ist es so, dass Quark 8 doch sehr langsam in seiner Abarbeitung von Druckprozederen ist. Will heißen, dass ich ca. 1,5 Minuten vor dem Rechner sitze und dem Ladebalken nachschaue. Wird dann natürlich sehr mühsam, wenn ich Katalog habe die 60 Seiten haben und in 11 Ländern erscheinen. Deshalb habe ich mir einen Ausgabestil für ein PDF erstellt und die dann entstandenen Dateien in Acrobat zusammenführe und von dort ausdrucke. Da Quark ja nun mal AppleScript versteht (der vor dem Rechner sitzt jedoch nicht :-) ) könnte man ein Progrämmlein erstellen, der die Quarks selbständig öffnet (Quellordner) und mittels Ausgabestil ein PDF (Zielordner) erstellt.

Gibt es vielleicht schon so ein Script oder kann mir jemand sagen wie ich vielleicht ein bestehendes verändere, dass es für meine Bedürfnisse funktioniert!?

Vielen Dank bereits vorab und viele Grüße
Uli

Ausgabestil per Applescript

Hubert Lechner
Beiträge gesamt: 140

16. Mär 2011, 15:05
Bewertung:

gelesen: 9037

Beitrag als Lesezeichen
Hallo Uli,

evtl. helfen ja die Print- bzw. Exporttools weiter: http://www.badiasoftware.com/

Grüße
Hubert

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

16. Mär 2011, 15:15
Bewertung:

gelesen: 9034

Beitrag als Lesezeichen
Hallo Hubert,

jau mit den Programmen würde es funktionieren. Denke aber, dass es doch auch mit den Bordmitteln zu realisieren wäre. Nur habe ich noch nicht wirklich viel Plan mit dem scripten.

Merci trotzdem
Uli

Ausgabestil per Applescript

Bernhard Werner
Beiträge gesamt: 5137

16. Mär 2011, 15:28
Bewertung:

gelesen: 9027

Beitrag als Lesezeichen
1,5 Minuten x 60 Seiten x 11 Sprachen x 80 Euro/h = 1320,- Euro bei einer (1) Produktion gespart.

1 x MadeToPrint Standard = 349,- Euro für beliebig viele Produktionen.

Wo ist jetzt das Problem?

Gruß
Bernhard

Ausgabestil per Applescript

schriftsetzer
Beiträge gesamt: 54

16. Mär 2011, 16:02
Bewertung:

gelesen: 8999

Beitrag als Lesezeichen
Hallo Uli,

http://www.jolauterbach.de/ger/products/batchx.htm

Kostet noch weniger ;-)

Gruß
Achim
Achim

OSX 15.2; MacbookPro 2023; CC 2024

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

16. Mär 2011, 16:15
Bewertung:

gelesen: 8995

Beitrag als Lesezeichen
Hallo Achim,

man ist ja Schwabe *lach*. Bin aber schon auf einem guten wege. Versuche gerade anhand dem Script "Each Page as EPS" das auf PDF umzumodeln. Muss "nur" noch hinbekommen, dass es alle Dokumente in einem Ordner aufmacht, abspeichert und ohne zu speichern zu schliessen.

Grüße
Uli

Ausgabestil per Applescript

Drienko
Beiträge gesamt: 4819

16. Mär 2011, 20:18
Bewertung:

gelesen: 8942

Beitrag als Lesezeichen
Hallo

Oder du nimmst die Output Enh. von Quark, die kostet nichts.
Ob die XT allerdings alle deine Wünsche erfüllt, weis ich nicht.

Output Enh. XT ->http://www.hilfdirselbst.ch/...latest_reply;so=ASC;


Gruss, Bernd D.
W10 (64-Bit), Corel Draw 2023/Designer 2023, MSO 2016,
https://www.facebook.com/sgmdonzdorf/

Helfen Sie mit bei HDS, werden Sie Mitglied.

Ausgabestil per Applescript

-hans-
Beiträge gesamt: 748

20. Mär 2011, 12:54
Bewertung:

gelesen: 8818

Beitrag als Lesezeichen
hi,

als Programm sichern und als Droplet benutzen ...

getestet mit 8.16
Code
on open qxpFiles 

set theTarget to choose folder with prompt "Zielordner für PDF-Dateien wählen:"


repeat with aFile in qxpFiles
set filePath to aFile as alias

tell application "QuarkXPress"
activate
open filePath
set docName to name of document 1
set theProject to object reference of project 1
tell theProject
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in ((theTarget as string) & docName & "_" & name of layout space i & ".pdf") as "PDF" PDF output style "MeinPdfAusgabeStil" --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell
close document docName without saving
end tell
end repeat

end open



Gruß

Hans-Gerd
Lieben Gruß

Hans-Gerd Claßen

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

21. Mär 2011, 15:22
Bewertung:

gelesen: 8747

Beitrag als Lesezeichen
Hallo Hans-Gerd,

YOU ARE MY HERO!... Menschenskind das ist ja Klasse und so schön schlank. Da brauch ich mit meinem dilletantischem Wissen gar nicht mehr weiter machen.

Herzlichsten Dank
Gruß Uli

Ausgabestil per Applescript

-hans-
Beiträge gesamt: 748

21. Mär 2011, 22:11
Bewertung:

gelesen: 8706

Beitrag als Lesezeichen
hi,

schlank ist es nur weil keine fehlerroutinen drinne sind ...

Gutes Gelingen :)

cu

Hans-Gerd
Lieben Gruß

Hans-Gerd Claßen

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

13. Apr 2011, 19:01
Bewertung:

gelesen: 8301

Beitrag als Lesezeichen
Hallo Hans-Gerd,

dein Script hat sich schon für die Ausgabe der Korrekturvorlage mehr als bewährt, vielen Dank nochmals dafür!

Nun noch eine Erweiterungsfrage:
wie stelle ich es an, dass man Dein Script soweit umschreibt, dass es folgendes kann:
1. Dokument öffnen
2. Ebene A und C ausblendet
3. PDF mit dem Zusatz _p.pdf erzeugt (den Suffix .qxp aber löscht)
4. Ebene A einblendet und B ausblendet
5. PDF mit dem zusatz _n.pdf erzeugt
6. Ebene A + B einbledet
7. abspeichert und schließt

Ist das grundsätzlich möglich?

Vielen Dank vorab
Uli

Ausgabestil per Applescript

-hans-
Beiträge gesamt: 748

13. Apr 2011, 22:38
Bewertung:

gelesen: 8277

Beitrag als Lesezeichen
Hi,

Ebenen ein- und ausblenden ist nicht so schwieritsch, aber vllt. postest Du bitte noch einmal welche Ebenen jeweils "visible" sein sollen ...

getestet mit 8.16:
Code
tell application "QuarkXPress" 
activate
tell document 1
set theLayerNames to name of every layer
--visible false to first item of list theLayerNames
set visible of layer (item 1 of theLayerNames) to false
end tell
end tell


Gruß

Hans-Gerd
Lieben Gruß

Hans-Gerd Claßen

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

20. Apr 2011, 16:15
Bewertung:

gelesen: 8140

Beitrag als Lesezeichen
Hallo an alle,

sorry für die verspätete Rückmeldung, aber hier brennt gerade der Baum.

Es gibt 4 Ebenen mit den Benennungen A, B,C ,D (Ebene C bleibt immer invisible)

1. Durchgang - visible
Ebenen A, D -> dann PDF-Erstellung mit dem Zusatz _p.pdf

2. Durchgang - visible
Ebenen B, D -> dann PDF-Erstellung mit dem Zusatz _n.pdf

3. Durchgang - visible
Ebenen A, B, D -> dann Quark speichern und schließen

Vielen Dank Vorab für die Annahme meines "Problems"

Gruß
Uli

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

21. Apr 2011, 13:46
Bewertung:

gelesen: 8077

Beitrag als Lesezeichen
Hallo an Alle,

habe nun etwas rumgetüfftelt und habe ein Ergebnis, mit dem ich "vorerst" leben kann:

Code
on open qxpFiles 

set theTarget to choose folder with prompt "Zielordner für PDF-Dateien wählen:"


repeat with aFile in qxpFiles
set filePath to aFile as alias
tell application "QuarkXPress_8_1_6_2"
activate
open filePath
set docName to name of document 1
set theProject to object reference of project 1

tell application "QuarkXPress_8_1_6_2" -- 1. Durchgang Ebenen ein/ausblenden
activate
tell document 1
set theLayerNames to name of every layer --visible false to first item of list theLayerNames
set visible of layer (item 1 of theLayerNames) to false --EbeneA ausblenden
set visible of layer (item 2 of theLayerNames) to true --EbeneB einblenden
set visible of layer (item 3 of theLayerNames) to false --EbeneC ausblenden
set visible of layer (item 4 of theLayerNames) to true --EbeneD einblenden
end tell
end tell

tell theProject
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in ((theTarget as string) & docName & "_ebeneA.pdf") as "PDF" PDF output style "PDF_Ausgabestil --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell

tell application "QuarkXPress_8_1_6_2" -- 2. Durchgang Ebenen ein/ausblenden
activate
tell document 1
set theLayerNames to name of every layer --visible false to first item of list theLayerNames
set visible of layer (item 1 of theLayerNames) to true --EbeneA einblenden
set visible of layer (item 2 of theLayerNames) to false --EbeneB ausblenden
set visible of layer (item 3 of theLayerNames) to false --EbeneC ausblenden
set visible of layer (item 4 of theLayerNames) to true --EbeneD einblenden
end tell
end tell

tell theProject
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in ((theTarget as string) & docName & "_ebeneB.pdf") as "PDF" PDF output style "PDF_Ausgabestil" --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell

tell application "QuarkXPress_8_1_6_2" -- 3. Durchgang Ebenen ein/ausblenden
activate
tell document 1
set theLayerNames to name of every layer --visible false to first item of list theLayerNames
set visible of layer (item 1 of theLayerNames) to true --EbeneA einblenden
set visible of layer (item 2 of theLayerNames) to true --EbeneB einblenden
set visible of layer (item 3 of theLayerNames) to false --EbeneC ausblenden
set visible of layer (item 4 of theLayerNames) to true --EbeneD einblenden
end tell
end tell

close document docName with saving
end tell
end repeat

end open


Jetzt muss ich es nur noch mit einer Fehler-Routine versehen (mal kuckn, ob ich das hinbekomme), damit das Programm anhält wenn ein Bild, Schrift, Serververbindung o.ä. fehlen sollte. Desweiteren müsste noch der Suffix ".qxp" aus dem erstellten PDF gelöscht werden. Löse es momentan so, dass der Automator die Dateibenennung ändert. Hoffe, dass das dem PDF nix tut :-)

Gruß
Uli

Ausgabestil per Applescript

-hans-
Beiträge gesamt: 748

23. Apr 2011, 17:54
Bewertung:

gelesen: 8012

Beitrag als Lesezeichen
Hi,

sry war' im Urlaub off, aber es klappt ja auch so :)

".qxp" aus Dateinamen entfernen getht z.B. so ...
Code
--innerhalb des tell-blocks 
set docName to my getName(name of document 1 )
--außerhalb des RestScripts
on getName(theName)
set {TID, text item delimiters} to {text item delimiters, "."}
if ((count of text items of theName) is greater than 1) and (text item -1 of theName is "qxp") then
set theName to ((text items 1 thru -2 of theName) as text)
return theName
else
return theName
end if
set AppleScript's text item delimiters to TID
end getName


Tschöle

Hans
Lieben Gruß

Hans-Gerd Claßen

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

16. Jun 2011, 14:31
Bewertung:

gelesen: 2416

Beitrag als Lesezeichen
Hallo zusammen,

nun ist vorerst die stressige Zeit vorüber und ich kann mich an das Feintuning des Scripts machen. Es hängt schon an der ersten Kleinigkeit:

Nachdem ich den Codeschnippsel von Hans eingefügt habe, erstellt das Script, wie gewünscht, die PDFs ohne den Suffix ".qxp". Allerdings Schließt es das Dokument nicht mehr und stoppt mit der Meldung "Can't get document "blabla" of application "QuarkXPress".

Habe versucht den "on getName"-Teil an den Anfang und Ende de Scripts zu stellen. Ohne Erfolg!

Bin zwar mittlerweile etwas Tiefer in die Matherie AppleScript mit Hilfe von "Applescript 1-2-3" eingedrungen, aber wohl noch nicht tief genug :-)

Vielen Dank Vorab1
Uli


Achso: was ich noch vergessen wollte :-) :
Das Script soll noch erweitert werden. Es soll eine Meldung erscheinen, wenn ein Bild auf den eingeblendeten Ebenen fehlt oder modifiziert ist, aber dennoch das Script mit den weiteren Quarks weitermacht (also kein Abbruch). Alternativ könnte man die betroffene Datei im Finder mittels Etikett einfärben, damit man händisch die Bilder aktualisiert.

(Dieser Beitrag wurde von Uli75 am 16. Jun 2011, 14:39 geändert)

Ausgabestil per Applescript

-hans-
Beiträge gesamt: 748

17. Jun 2011, 08:29
Bewertung:

gelesen: 2360

Beitrag als Lesezeichen
Hi,

ohne Dein Script zu sehen ist es schwer zu sagen wo ein Fehler liegt ;-)

Veränderte oder fehlende Verknüpfungen abfragen ginge etwa so:
Code
tell application "QuarkXPress" 
set CurrentDoc to front document
tell CurrentDoc
set _picList to {}
try
set _picList to object reference of every image whose missing = true or modified = true
end try
if _picList is {} then display dialog "Alle Bilder olé"
end tell
end tell


Lieben Gruß

Hans-Gerd Claßen
Lieben Gruß

Hans-Gerd Claßen

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

17. Jun 2011, 15:54
Bewertung:

gelesen: 2336

Beitrag als Lesezeichen
Hallo Hans,

das Problem mit dem richtigen Schließen hat sich erledigt. Habe das "close document docName without saving" in " close front document without saving" ändern müssen. Kleiner Denkfehler :-)

Hier mal das ganze Script
Code
on open qxpDateien 

set ZielOrdner to choose folder with prompt "Zielordner für PDF-Dateien wählen:"

repeat with aFile in qxpDateien
set DateiPfad to aFile as alias
try
tell application "QuarkXPress 8 - EU77132517777"
activate
open DateiPfad
set DokuName to name of document 1
set dasProjekt to object reference of project 1


--Textkürzungsvariable
set DokuName to my getName(name of document 1)

-- 1. Durchgang Ebenen ein/ausblenden
tell application "QuarkXPress 8 - EU77132517777"
activate
tell document 1
set visible of every layer to false --alle Ebenen ausblenden
set visible of layer "A_Ebene" to false --A_Ebene ausblenden
set visible of layer "B_Ebene" to true --B_Ebene einblenden
set visible of layer "C_Ebene" to false --C_Ebene ausblenden
set visible of layer "Standard" to true --Standard einblenden

end tell
end tell
tell dasProjekt
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in ((ZielOrdner as string) & DokuName & "_n.pdf") as "PDF" PDF output style "ZZ_Ausgabestil" --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell

-- 2. Durchgang Ebenen ein/ausblenden
tell application "QuarkXPress 8 - EU77132517777"
activate
tell document 1
set visible of layer "A_Ebene" to true --A_Ebene einblenden
set visible of layer "B_Ebene" to false --B_Ebene ausblenden
set visible of layer "C_Ebene" to false --C_Ebene ausblenden
set visible of layer "Standard" to true --Standard einblenden
end tell
end tell

tell dasProjekt
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in ((ZielOrdner as string) & DokuName & "_p.pdf") as "PDF" PDF output style "ZZ_Ausgabestil" --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell

-- 3. Durchgang Ebenen ein/ausblenden
tell application "QuarkXPress 8 - EU77132517777"
activate
tell document 1
set visible of layer "A_Ebene" to true --A_Ebene einblenden
set visible of layer "B_Ebene" to true --B_Ebene einblenden
set visible of layer "C_Ebene" to false --C_Ebene ausblenden
set visible of layer "Standard" to true --Standard einblenden
end tell
end tell

close front document without saving

end tell
end try
end repeat
end open

on getName(theName)
set {TID, text item delimiters} to {text item delimiters, "."}
if ((count of text items of theName) is greater than 1) and (text item -1 of theName is "qxp") then
set theName to ((text items 1 thru -2 of theName) as text)
return theName
else
return theName
end if
set AppleScript's text item delimiters to TID
end getName


Jetzt muss mir nur noch gelingen, wo ich den Bildchecker einsetzen muss. Noch will es nicht so richtig! Vielleicht bekomme ich es ja dann auch hin, das "Fehlerhafte" Quark-Dokument im Finder dann einzufärben.

Aber schon mal herzlichen Dank für deine/eure Bemühungen

Gruß
Uli

Ausgabestil per Applescript

-hans-
Beiträge gesamt: 748

18. Jun 2011, 14:01
Bewertung:

gelesen: 2295

Beitrag als Lesezeichen
Hallo,

wenn wir uns schon die Mühe machen die missing/modified links für die eingeblendeten Ebenen eines Durchgangs zu ermitteln, würde es dann nicht mehr Sinn machen das fehlerhafte PDF zu labeln anstatt das Quark-Doku?

Das labeln macht der "Finder"
Code
--Beispiel 
set theFile to choose file
tell application "finder" to set label index of theFile to 2


So könnte man wohl die missing / modified links für den jeweiligen Durchgang ermitteln:
Code
set _control to my _controlLinks({"Standard", "D_Ebene", "C_Ebene"}) --Die Ebenen: Achtung hier wird eine {Liste } übergeben! 
--_control = false gleich missing or modified link in einer der Ebenen

on _controlLinks(_layerList)
set ctrList to {}
tell application "QuarkXPress"
repeat with i from 1 to count of _layerList
set _layerName to item i of _layerList
try
set _picList to ((object reference of every image of every picture box of layer _layerName of front document))

repeat with aPic from 1 to count of _picList
set thePic to item aPic of _picList
if missing of thePic is true or modifies of thePic is true then
set end of ctrList to true
exit repeat
end if
end repeat
end try
end repeat
end tell

if (count of ctrList) is greater than 0 then
return false -- =missing or modified link in einer der Ebenen des Durchgangs
else
return true
end if

end _controlLinks


Lieben Gruß

Hans-Gerd Claßen
Lieben Gruß

Hans-Gerd Claßen

Ausgabestil per Applescript

Uli75
Beiträge gesamt: 54

21. Jun 2011, 12:53
Bewertung:

gelesen: 2231

Beitrag als Lesezeichen
Hallo Hans,

habe deinen Bildcheck umgesetzt und es funzt prima. Herzlichen Dank dafür!

Die Anmerkung, dass man die PDF-Dateien label ist nicht so schlecht. Um die jedoch zu realisieren müsst ich das Ergebnis von theProject in eine Variable wandeln, damit ich dieser dann den label index zuweisen kann. Da beiß ich mir gerade etwas die Zähne aus. Deshalb hab ich den ursprünglichen Ansatz, die entsprechenden QXP-Dateien zu färben, umgesetzt.

Hier das vorläufige Script:

Code
on open qxpFiles 

set theTarget to choose folder with prompt "Zielordner für PDF-Dateien wählen:"


repeat with aFile in qxpFiles
set filePath to aFile as alias
tell application "QuarkXPress_8_1_6_2_v7"
activate
open filePath
set docName to name of document 1
set theProject to object reference of project 1
set docName to my getName(name of document 1)

--Bildprüfung
tell application "QuarkXPress_8_1_6_2_v7"
set _Pruefung to my _PruefungEbenen({"A_Ebene", "B_Ebene"}) --Die Ebenen: Achtung hier wird eine {Liste } übergeben!
--_Pruefung = false gleich missing or modified link in einer der Ebenen
if _Pruefung is false then tell application "Finder"
set label index of aFile to 2
end tell

end tell

tell application "QuarkXPress_8_1_6_2_v7" -- 1. Durchgang Ebenen ein/ausblenden
activate
tell document 1
set visible of every layer to false --alle Ebenen ausblenden
set visible of layer "A_Ebene" to false --Text_pos ausblenden
set visible of layer "B_Ebene" to true --Text_neg einblenden
set visible of layer "C_Ebene" to false --C_Ebene ausblenden
set visible of layer "Standard" to true --Standard einblenden
end tell
end tell

tell theProject
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in (theTarget as string) & docName & "_n.pdf" as "PDF" PDF output style "ZZ_Ausgabestil" --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell

tell application "QuarkXPress_8_1_6_2_v7" -- 2. Durchgang Ebenen ein/ausblenden
activate
tell document 1
set visible of layer "A_Ebene" to true --Text_pos einblenden
set visible of layer "B_Ebene" to false --Text_neg ausblenden
set visible of layer "C_Ebene" to false --C_Ebene ausblenden
set visible of layer "Standard" to true --Standard einblenden
end tell
end tell

tell theProject
repeat with i from 1 to count of layout space
try
with timeout of 180 seconds -- = 3 Minuten
export layout space i in ((theTarget as string) & docName & "_p.pdf") as "PDF" PDF output style "ZZ_Ausgabestil" --<<hier Deinen Ausgabestil einfügen
end timeout
end try
end repeat
end tell

tell application "QuarkXPress_8_1_6_2_v7" -- 3. Durchgang Ebenen ein/ausblenden
activate
tell document 1
set visible of layer "A_Ebene" to true --Text_pos einblenden
set visible of layer "B_Ebene" to true --Text_neg einblenden
set visible of layer "C_Ebene" to false --C_Ebene ausblenden
set visible of layer "Standard" to true --Standard einblenden
end tell
end tell

close front document without saving
end tell
end repeat

end open

--Namenskürzung-Routine
on getName(theName)
set {TID, text item delimiters} to {text item delimiters, "."}
if ((count of text items of theName) is greater than 1) and (text item -1 of theName is "qxp") then
set theName to ((text items 1 thru -2 of theName) as text)
return theName
else
return theName
end if
set AppleScript's text item delimiters to TID
end getName

--Bildcheck-Routine
on _PruefungEbenen(_EbenenListe)
set KontrollListe to {}
tell application "QuarkXPress_8_1_6_2_v7"
repeat with i from 1 to count of _EbenenListe
set _EbenenName to item i of _EbenenListe
try
set _C_EbeneListe to ((object reference of every image of every picture box of layer _EbenenName of front document))

repeat with einBild from 1 to count of _C_EbeneListe
set dasBild to item einBild of _C_EbeneListe
if missing of dasBild is true or modified of dasBild is true then
set end of KontrollListe to true
exit repeat
end if
end repeat
end try
end repeat
end tell

if (count of KontrollListe) is greater than 0 then
return false -- =missing or modified link in einer der Ebenen des Durchgangs
else
return true
end if

end _PruefungEbenen



Gruß Uli

P.S.: bei Deinem Bildcheck war ein Schreibfehler drin:
Code
if missing of thePic is true or modifies of thePic is true then 

muss es richtig heißen:
Code
if missing of thePic is true or modified of thePic is true then