[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

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

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

15. Jan 2013, 16:57
Beitrag # 1 von 15
Bewertung:
(3426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

mich macht es gerade ganz Kirre. Ich möchte gerne mit einem Script Indesign Dokumente als PDF Exportieren. Aber nur wenn auf einer Seite auf einer Ebene ein Objekt liegt, und dann auch nur diese Seite.

Was ich bisher hin bekommen habe, ist ein PDF zu exportieren, wenn auf irgendeiner Seite auf der bestimmten Ebene ein Objekt liegt. Bzw. Eben nicht zu exportieren wenn kein Objekt auf der Seite liegt.

Code
var itemonlayer = app.activeDocument.layers.item("Ebene 3").allPageItems.length; 
if (itemonlayer >= 1)
{
ExportPDF();
}


So nun wollte ich erst mal ohne for Schleife schauen, ob ich auch schauen kann, ob auf Seite 1 oder 2 oder 3 ein entsprechendes Objekt liegt und dann per PageRange auch nur diese Seite zu exportieren. Das schaff ich aber nicht. Per Schleife die Seiten durchgehen und mit currentPage.layers.item...... geht nicht. Habt ihr ein Tipp, wie ich das noch auf eine Seite begrenzen kann und dann einfach die Seiten per Schleife durchgehe?

Code
for (var i = 0; i < app.activeDocument.pages.length; i++) { } 


Danke und Grüße

strauch

(Dieser Beitrag wurde von strauch am 15. Jan 2013, 17:01 geändert)
X

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

-hans-
Beiträge gesamt: 746

15. Jan 2013, 17:39
Beitrag # 2 von 15
Beitrag ID: #506875
Bewertung:
(3395 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

bei einer schleife durch die Seiten musst du auf die property name des itemLayers des einzelnen page items gehen. Anders herum bei der Schliefe über den Layer über die parentPage des Pageitems.
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#506871]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

15. Jan 2013, 18:03
Beitrag # 3 von 15
Beitrag ID: #506878
Bewertung:
(3380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

sorry bin gerade etwas wirr im Kopf. Müsste nicht theoretisch soetwas gehen:

Code
var itemonlayer = app.activeDocument.pages.item(0).layers.item("Ebene 3").allPageItems.length;  
if (itemonlayer >= 1)
{
ExportPDF();
}


??? Das mag er bei mir aber nicht.

Dann kommt die Fehlermeldung:
Objekt unterstützt Eigenschaft oder Methode layers nicht....

Ich hab das so verstanden das ich die Elternelemnte bzw. Elemente einfach hinter einander schreiben kann und es so eingrenzen kann. Quasi erst auf die Seite, dann Ebene, Gruppe, dann Art des Objekts usw.

Aber das scheine ich nicht verstanden zu haben. Und allPagesItems meint alle Objekt innerhalb der Eingrenzung z.B. der Ebene und mit PageItems kann ich mir spezifische rausangeln?!

Ich mach erstmal Feierabend, vielleicht ist morgen der Knoten weg.

Danke


als Antwort auf: [#506875]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

mx
Beiträge gesamt: 161

15. Jan 2013, 18:29
Beitrag # 4 von 15
Beitrag ID: #506882
Bewertung:
(3354 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Strauch,

Code
layers 

ist eine Collection unter
Code
document 

und nur da, eine page hat keine layer unter sich, layer sind dokumentglobal in InDesign.
Wenn Du von einem einzelnen Element eine Ebene brauchst gibt es die durch
Code
itemLayer 

von diesem Element selbst.

Also:
Durch die Objekte auf dem "Spezial-Layer" gehen, die passende Seite ermitteln (z.B. mit parentPage und davon name oder documentOffset) und diese Menge (evtl. noch um die doppelten Einträge reduziert) dann für den PDF-Export benutzen.

In etwa so:
Code
ExportPDF = function(pageOffset){ 
alert((pageOffset + 1) + ". Seite drucken.");
}

var lastPage = 0;
var currentPage = 0;
var currentPageItem = null;
for (var i = 0; i < app.activeDocument.layers.item("Ebene 3").pageItems.length; i++) {
currentPageItem = app.activeDocument.layers.item("Ebene 3").pageItems[i];
currentPage = currentPageItem.parentPage.documentOffset;
if (currentPage > lastPage) {
lastPage = currentPage;
ExportPDF(currentPage);
}
}


Viele Grüße
Jo


als Antwort auf: [#506878]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 09:13
Beitrag # 5 von 15
Beitrag ID: #506899
Bewertung:
(3274 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jo,

vielen Dank fürs entknoten helfen. Das Layers Dokumenten global sind, darüber hab ich gestern garnicht nachgedacht, aber stimmt so.

Danke und Grüße

strauch


als Antwort auf: [#506882]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 10:43
Beitrag # 6 von 15
Beitrag ID: #506906
Bewertung:
(3251 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ mx ]
Code
var lastPage = 0; 
var currentPage = 0;
var currentPageItem = null;
for (var i = 0; i < app.activeDocument.layers.item("Ebene 3").pageItems.length; i++) {
currentPageItem = app.activeDocument.layers.item("Ebene 3").pageItems[i];
currentPage = currentPageItem.parentPage.documentOffset;
if (currentPage > lastPage) {
lastPage = currentPage;
ExportPDF(currentPage);
}
}



Ich komme mir gerade vor wie, stell dich nur blöd genug an, dann machts ein anderer für dich.

Also es klappt so nicht und es gibt auch leider keinerlei Fehlermeldung. Ich versuch jetzt mal dahinter zu kommen, also versteh mein "Scriptzerflücke" nicht als Kritik, ich mach es um zu schauen das ich alles richtig verstanden habe.

Code
var lastPage = 0; 
var currentPage = 0;
var currentPageItem = null;


Definieren der benötigten Variablen.

Code
for (var i = 0; i < app.activeDocument.layers.item("Ebene 3").pageItems.length; i++) { 


For Schleife für jedes Objekt auf der Spezialebene. Will ich mir mit einem Alert nur
Code
app.activeDocument.layers.item("Ebene 3").pageItems.length 

ausgebene lassen kommt ein Fehler. Mit allpageItems klappts. Sollte das trotzdem so funktionieren? Meine Idee, ich brauch die Gesamtzahl der Items um diese dann mit der For Schleife durchgehen zu können.

Code
currentPageItem = app.activeDocument.layers.item("Ebene 3").pageItems[i]; 


Wählt die Items auf Ebene3 der Reihe nach aus. Wenn ich einzeln für jedes Dokument da reinschaue gibt er immer Objekt aus, egal ob was drauf liegt oder nicht......

Code
currentPage = currentPageItem.parentPage.documentOffset; 


Gibt die Seitenzahl aus, auf der sich das oben genannte Item befindet. Wenn ich das außerhalb der Schleife mache, gibt es die Fehlermeldung "Objekt ist ungültig".

Code
	if (currentPage > lastPage) { 
lastPage = currentPage;
ExportPDF(currentPage);
}


Wenn die aktuelle Seite größer ist als die letzte Seite dann mach die aktuelle Seite zur letzten Seite und exportiere die aktuelle Seite als PDF.

Hab ich das alles richtig verstanden?

Gibt es eigtl. einen Debuger mit dem ich das Script Zeilenweise durchgehen kann und sehe was in der Variablen gerade an Info drin steckt?

Danke noch mals für eure Hilfe.


als Antwort auf: [#506882]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

WernerPerplies
Beiträge gesamt: 2542

16. Jan 2013, 11:08
Beitrag # 7 von 15
Beitrag ID: #506911
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Gibt es eigtl. einen Debuger mit dem ich das Script Zeilenweise durchgehen kann und sehe was in der Variablen gerade an Info drin steckt?


Benutzt Du denn das ESTK nicht?

Da gibt's doch den gewünschten Debugger.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#506906]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 11:15
Beitrag # 8 von 15
Beitrag ID: #506913
Bewertung:
(3231 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich muss gestehen ich nutze meinen normalen Editor, ich schau es mir mal an. Bisher hab ich auch immer einfachere Scripts in Photoshop geschrieben.


als Antwort auf: [#506911]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

WernerPerplies
Beiträge gesamt: 2542

16. Jan 2013, 11:19
Beitrag # 9 von 15
Beitrag ID: #506914
Bewertung:
(3226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#506913]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 11:32
Beitrag # 10 von 15
Beitrag ID: #506915
Bewertung:
(3207 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die Tipps, ich arbeite mich gerade durch und schau gerade in den Debugger was in den Variablen auftaucht. Danke. Ja ein Indesign Scriptbuch werde ich mir auch mal bestellen.


als Antwort auf: [#506914]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 11:55
Beitrag # 11 von 15
Beitrag ID: #506918
Bewertung:
(3185 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Der Debugger hilft sehr @ mx das script klappt. Jetzt muss ich das nur noch richtig umsetzten.
Aus irgendeinem Grund beendet das Script, nach dem er den Codeschnippsel durchlaufen hat, wenn in der ersten Datei ein Objekt auf der Ebene 3 liegt. Liegts in der 2. Datei läufts durch und er öffnet auch die dritte Datei. Aber das finde ich auch noch.


als Antwort auf: [#506915]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

WernerPerplies
Beiträge gesamt: 2542

16. Jan 2013, 12:14
Beitrag # 12 von 15
Beitrag ID: #506921
Bewertung:
(3158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Beenden ist nicht gerade informativ:
ohne Fehlermeldung, oder mit Fehlermeldung?

Auf jeden Fall hilft eine saubere Fehlerbehandlungsroutine.

Für den Anfang solltest Du einen Code in ein Try-Catch-Construct kapseln:

Code
try 
{
// Dein Code
}
catch (e)
{
alert(e.message);
}


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#506918]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 12:19
Beitrag # 13 von 15
Beitrag ID: #506922
Bewertung:
(3149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tut mir leid wenn es gerade etwas Konfus ist, ja einfach beenden ist doof. Aber es gab in der Tat keine Fehlermeldung. Ich vermute es liegt daran das ich 2 for schleifen ineinander hatte und beide mit i++ arbeiteten. Ich hab die innere jetzt einfach auf j++ umgestellt. Ich muss jetzt erst mal mein Script durchtesten und die Fehler ausmerzen und die Einzelteile durchtesten und aus dem Gesamtscript rausnehmen. Und selbst was hinbekommen, ich werde berichten :-)

Danke und Grüße

strauch


als Antwort auf: [#506921]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

strauch
Beiträge gesamt: 170

16. Jan 2013, 16:33
Beitrag # 14 von 15
Beitrag ID: #506960
Bewertung:
(3074 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ WernerPerplies ] Für den Anfang solltest Du einen Code in ein Try-Catch-Construct kapseln:


Der Tipp ist sehr hilfreich, danke.

Nun klappt alles. Dass das Script sich beendete lag an den beiden i Variablen in den verschachtelten for-Schleifen.

Dann musste ich noch die currentPage in eine String umwandeln damit ich die mit "pageRange" beim PDF Export einlesen kann, das ging mit
Code
var myPagePrint = myPage.toString(); 


Und dann habe ich oben in dem Script von mx noch
Code
var lastPage = 0 

auf -1 setzten sonst klappte das nicht, wenn etwas auf der ersten Seite (=0) auf der Ebene 3 lag.

Schön wenn die Dinge klappen.


als Antwort auf: [#506921]

Seite als PDF Exportieren, wenn Objekt auf bestimmter Ebene

WernerPerplies
Beiträge gesamt: 2542

16. Jan 2013, 16:44
Beitrag # 15 von 15
Beitrag ID: #506961
Bewertung:
(3071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es freut mich, dass jetzt alles geklappt hat.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#506960]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.12.2020 - 03.12.2020

ortsunabhängig
Dienstag, 01. Dez. 2020, 10.00 Uhr - Donnerstag, 03. Dez. 2020, 11.30 Uhr

Online Workshop-Reihe

Sie wollen barrierefreie PDF-Dokumente mit möglichst wenig Aufwand erstellen? Mit ein wenig Grundlagenwissen können Sie dies aus InDesign mit axaio MadeToTag erreichen – ohne manuelle Nacharbeit im PDF! In diesem 3-teiligen, interaktiven Webinar, das wir vom 1. – 3. Dezember 2020 gemeinsam mit unserem Partner und InDesign-Experten Klaas Posselt von einmanncombo organisieren, lernen die Teilnehmenden, wie sie zielführend beim Erstellen von barrierefreien PDF-Dokumenten aus Adobe InDesign vorgehen. Dafür wird zu Beginn vermittelt, was ein barrierefreies PDF ist, und welche Anforderungen an solche Dokumente bestehen. Mit diesem Wissen werden, anhand von Best-Practice-Beispielen, Strategien zum effizienten Erstellen von PDF/UA-konformen Dokumenten und Formularen mit Adobe InDesign und axaio MadeToTag gezeigt. Außerdem werden Lösungen für klassische Probleme vermittelt. Die Teilnehmenden erhalten im Vorfeld eine Liste der notwendigen Software, wie auch vorbereitete Workshop-Daten, an denen alle im Webinar unter Anleitung arbeiten. Während des Webinars haben die Teilnehmenden die Möglichkeit, Fragen zu stellen. Inhalte der einzelnen Webinare: Die Webinar-Serie besteht aus vier Teilen (Inhalte folgend). Diese bauen aufeinander auf, können aber, mit den entsprechenden Vorkenntnissen, auch einzeln besucht werden. Webinar 1 – Grundlagen (1. Dezember 2020, 10.00 - 11.30 Uhr) Fundiertes Grundlagenwissen über barrierefreie PDF-Dokumente bildet die Basis einer erfolgreichen Umsetzung in InDesign, um die dafür notwenigen Werkzeuge richtig einsetzen zu können. â–ª Warum barrierefreies PDF? â–ª Gesetzliche Grundlagen und Richtlinien â–ª Anforderungen an barrierefreie PDF-Dokumente â–ª Basiswissen zur Umsetzung in InDesign â–ª Einordnung axaio MadeToTag Webinar 2 – Einstieg MadeToTag (2. Dezember 2020, 10.00 - 11.30 Uhr) Anhand eines InDesign-Beispieldokumentes wird eine Publikation Schritt für Schritt mit MadeToTag barrierefrei gemacht. â–ª Warum MadeToTag nutzen? â–ª Nützliche Funktionen/Mehrwert gegenüber InDesign â–ª Arbeitsschritte in der Übersicht â–ª Gemeinsam ein Dokument barrierefrei machen, Schritt für Schritt â–ª Ausgabe als barrierefreies PDF/UA Webinar 3 – Spezielle Aufgaben mit MadeToTag meistern (3. Dezember 2020, 10.00 - 11.30 Uhr) Bestimmte Inhalte, wie unpassend erstellte Inhalte (z.B. manuelle Trennungen), komplexe Tabellen oder Formulare, können in einer barrierefreien Umsetzung sehr störend oder gar kniffelig sein. MadeToTag kann hier Hilfestellung leisten. â–ª Probleme finden und beheben â–ª Komplexere und richtig komplexe Tabellen â–ª Formulare â–ª Schneller Arbeiten mit Shortcuts â–ª Vorlagen aufbauen Ziele der Webinar-Serie: â–ª Grundlagen barrierefreier Dokumente kennen â–ª Barrierefreie Dokumente in InDesign mit MadeToTag vorbereiten und ausgeben Teilnahmegebühr: Die Teilnahmegebühr für alle drei Webinare beträgt € 89,- (zzgl. MwSt.) Wir freuen uns auf Ihre Teilnahme! Das axaio-Team

Ja

Organisator: axaio software

Kontaktinformation: Karina Zander, E-Mailk.zander AT axaio DOT com

https://en.xing-events.com/OEBIDIR.html

Erstellung barrierfreier PDF-Dokumente mit InDesign & MadeToTag
Veranstaltungen
07.12.2020 - 08.12.2020

Digicomp Academy AG, Küchengasse 9, 4051 Basel
Montag, 07. Dez. 2020, 08.30 Uhr - Dienstag, 08. Dez. 2020, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-basic

Neuste Foreneinträge


Probleme mit dem Strukturbaum Acrobat Pro DC (barrierefrei)

Initial mit unterschiedlichem rechten Rand

Nach Installation des RAM bleibt das Display über mehrere Minuten dunkel. Was tun?

Indesign CC2021 verliert Speicherpfad von Dateien

Gibt es Audio-USB-Adapter mit STEREO-Mikrofoneingang?

Index-Probleme

Probleme beim Einlaoggen auf Quark-Seite

Musterseite in anderes Layout ziehen

Wo kann ich iColorDisplay 3.8.5.3 für OSX downloaden?

Großformat Druckdaten anlegen
medienjobs