[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt InDesignScript (CS5): PDF platzieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

InDesignScript (CS5): PDF platzieren

Nico Lausch
Beiträge gesamt:

5. Apr 2011, 18:52
Beitrag # 1 von 16
Bewertung:
(7691 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich erstelle mir aus einem SVG-File über Inkscape ein PDF-File, welches ich dann per Script (über den InDesignServer CS5) in eine InDesign Datei platzieren lassen möchte...

Code
 
var pdfFile = new File(myFilePath);
var bounds = [y, x, h, w];

var r = myDoc.rectangles.add();
r.geometricBounds = bounds;
r.strokeWeight = 0;
r.strokeColor = myDoc.swatches.item("None")
r.place ( pdfFile, false );

r.fit(FitOptions.FILL_PROPORTIONALLY);
r.fit(FitOptions.CENTER_CONTENT);

r.geometricBounds = bounds;


das PDF-File wird zwar platzierert, aber es wird nicht richtig dargestellt

wenn ich aber die über den InDesignServer "generierte Datei" mit dem bis zu diesem Zeitpunkt falsch dargestellten, platzierten PDF-File ...
nachträglich das PDF-File "neu-verknüfe" (mit dem SELBEN PDF-File - exakt gleicher Pfad) wird mir das PDF auch in InDesign richtig dargestellt...

den einziegsten Unterschied den ich sehe ist der das

bei der 1 Platzierung (übers Script) bei den Verknüfungsinformationen, der STATUS auf EINGEBETTET steht

und bei der nachträglichen "neu-verknüfung" steht der STATUS auf OK

wie bekomme ich es hin das, dass PDF gleich richtig dargestellt wird?
X

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

6. Apr 2011, 08:07
Beitrag # 2 von 16
Beitrag ID: #468502
Bewertung:
(7631 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Nico,

Antwort auf: bei der 1 Platzierung (übers Script) bei den Verknüfungsinformationen, der STATUS auf EINGEBETTET steht

und bei der nachträglichen "neu-verknüfung" steht der STATUS auf OK


Das beschriebene Verhalten ist seltsam und möglicherweise nur aus dem Workflow zu erklären.

Verbessert sich das Ergebnis, wenn Du am Ende Deines Schnippsels folgende Zeile einfügst?

Code
r.graphics[0].itemLink.relink( pdfFile ); 



als Antwort auf: [#468484]

InDesignScript (CS5): PDF platzieren

Nico Lausch
Beiträge gesamt:

6. Apr 2011, 09:47
Beitrag # 3 von 16
Beitrag ID: #468510
Bewertung:
(7609 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

nein ist der selbe Effekt...

Code
var r = myDoc.rectangles.add(); 
var MyBounds = [y, x, h, w];
r.geometricBounds = MyBounds ;
r.strokeWeight = 0;
r.strokeColor = myDoc.swatches.item("None");
myPDF= r.place ( myFile, true );
r.fit(FitOptions.FILL_PROPORTIONALLY);
r.fit(FitOptions.CENTER_CONTENT);

r.graphics[0].itemLink.relink( myFile );


ist der code überhaupt so richtig, zwecks PDF-File platzieren via. Script?


als Antwort auf: [#468502]

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

6. Apr 2011, 10:12
Beitrag # 4 von 16
Beitrag ID: #468514
Bewertung:
(7601 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, der Code ist richtig.
Hier läuft's.

Habe ich Dich richtig verstanden, dass Du das Skript auf InDesign Server ausführst?
Hast Du's mal lokal getestet?

Vielleicht hilft es, nach Ausführung dieses Skripts über ein weiteres Skript alle Links mit sich selbst neu zu verknüpfen.


als Antwort auf: [#468510]
(Dieser Beitrag wurde von Martin Fischer am 6. Apr 2011, 10:13 geändert)

InDesignScript (CS5): PDF platzieren

Nico Lausch
Beiträge gesamt:

6. Apr 2011, 10:15
Beitrag # 5 von 16
Beitrag ID: #468515
Bewertung:
(7596 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nein habe ich noch nicht, werd ich mal machen ...

wenn ich das indesignFile (nach dem PDF platzieren) noch als pdf im ganzen exportiere komme anstelle des platzierten pdf ein schwarzer bereich


als Antwort auf: [#468514]

InDesignScript (CS5): PDF platzieren

Nico Lausch
Beiträge gesamt:

6. Apr 2011, 18:56
Beitrag # 6 von 16
Beitrag ID: #468573
Bewertung:
(7540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

habe das mal getestet ... der Code funktioniert lokal (InDesign CS5)...
aber nicht über den InDesignServer CS5...

was mir aufgefallen ist... lokal wird ja noch ein Dialog geöffnet... vieleicht liegt es daran?

was mich stutzig macht ist der Status bei den Verknüfungsinformationen

lokal: "Status:OK"
über Script und Server: "Status:EINGEBETTET"

wie kann ich diese Statis beeinflussen?


als Antwort auf: [#468515]
(Dieser Beitrag wurde von Nico Lausch am 6. Apr 2011, 18:57 geändert)

InDesignScript (CS5): PDF platzieren

Nico Lausch
Beiträge gesamt:

6. Apr 2011, 19:23
Beitrag # 7 von 16
Beitrag ID: #468578
Bewertung:
(7527 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habs zu 50 % rausgefunden woran es liegt, es liegt tatsächlich daran das dass bild eingebettet wird per script...(nicht nur Verknüpft)...

wenn man manuell dann auf "einbettung aufheben" geht und dann die anzeigenoption auf "high" stellt.. wird das PDF richtig dargestellt...

wie löse ich nun per script die einbettung?


als Antwort auf: [#468573]

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

6. Apr 2011, 19:26
Beitrag # 8 von 16
Beitrag ID: #468579
Bewertung:
(7525 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Den Status kannst Du über link.status (readonly) ermitteln.
Ändern geht wahrscheinlich nur über neu verknüpfen – relink() – oder unembed().
Mit update() aktualisierst Du eine bestehende Verknüpfung, wenn sich die verknüpfte Datei geändert hat.

Funktioniert das relink() nach Ausführung (und Beendigung) des ersten Skripts?

Wenn nein, dann könntest Du beim Platzieren der Dateien im ersten Skript eventuell den Pfad ins Label schreiben und diesen später mit einem zweiten Skript, der die PDFs mit dem eingebettet-Status checkt, dort wieder auslesen und mit diesem Pfad neu verknüpfen.

Ich kenne mich mit InDesign Server nicht aus.
Allerdings habe ich verschiedentlich gehört, dass dort nicht immer alles wie von der lokalen Version her gewohnt, funktioniert.


als Antwort auf: [#468573]
(Dieser Beitrag wurde von Martin Fischer am 6. Apr 2011, 19:29 geändert)

InDesignScript (CS5): PDF platzieren

Uwe Laubender
Beiträge gesamt: 5316

6. Apr 2011, 19:29
Beitrag # 9 von 16
Beitrag ID: #468581
Bewertung:
(7521 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Nico Lausch ] was mir aufgefallen ist... lokal wird ja noch ein Dialog geöffnet... vieleicht liegt es daran?


Hallo, Nico!
Versuch's doch mal mit false:
Code
myPDF=  r.place (myFile,false); 

Der Dialog wird so weggelassen.


als Antwort auf: [#468573]

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

6. Apr 2011, 19:29
Beitrag # 10 von 16
Beitrag ID: #468582
Bewertung:
(7520 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: wie löse ich nun per script die einbettung?


Mit dem Befehl unembed([to: File])


als Antwort auf: [#468578]

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

6. Apr 2011, 19:31
Beitrag # 11 von 16
Beitrag ID: #468583
Bewertung:
(7516 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

Antwort auf: Versuch's doch mal mit false:


Das steht oben schon so drin.
Mich wundert(e), dass dennoch ein Dialog aufgeht.


als Antwort auf: [#468581]

InDesignScript (CS5): PDF platzieren

Nico Lausch
Beiträge gesamt:

6. Apr 2011, 19:35
Beitrag # 12 von 16
Beitrag ID: #468584
Bewertung:
(7505 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ]
Antwort auf: wie löse ich nun per script die einbettung?


Mit dem Befehl unembed([to: File])


dann kommt ein fehler
"unembed" ist keine Funktion"

wie muss der code genau lauten
Code
unembed([PFAD zur Datei]) 

?


als Antwort auf: [#468582]

InDesignScript (CS5): PDF platzieren

Uwe Laubender
Beiträge gesamt: 5316

6. Apr 2011, 19:44
Beitrag # 13 von 16
Beitrag ID: #468585
Bewertung:
(7502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!
Ja. Hast recht. Meine Bemerkung bezog sich aber auf Posting #3. Und da stand "true" im Code. Bei "false" darf wirklich kein Dialog aufgehen… Schon mal gar nicht InDesign-Server, das ohne UI daherkommt.


als Antwort auf: [#468583]

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

6. Apr 2011, 19:44
Beitrag # 14 von 16
Beitrag ID: #468586
Bewertung:
(7502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
unembed() ist eine Funktion eines links.
Ggf. vom PDF mit itemLink hochklettern.

File meint - ein File-Objekt (nicht nur einen Pfad).


Aber möglicherweise fehlt Dir der Link, wenn die PDF-Datei beim Platzieren gleich eingebettet wird.


als Antwort auf: [#468584]
(Dieser Beitrag wurde von Martin Fischer am 6. Apr 2011, 19:54 geändert)

InDesignScript (CS5): PDF platzieren

Martin Fischer
  
Beiträge gesamt: 12783

7. Apr 2011, 08:17
Beitrag # 15 von 16
Beitrag ID: #468608
Bewertung:
(7371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Nico,

kannst Du mal testen, was das Anhängen des folgenden Schnippsels an den Code oben bewirkt?

Code
if (r.graphics[0].itemLink.status == LinkStatus.LINK_EMBEDDED) 
r.graphics[0].itemLink.unembed( pdfFile );

Wenn eine Wirkung ausbleibt, auch mal die if-Bedingung auskommentieren.


als Antwort auf: [#468584]
(Dieser Beitrag wurde von Martin Fischer am 7. Apr 2011, 10:00 geändert)
X