[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt TXT Datei mit Namen für Export-PDF

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

TXT Datei mit Namen für Export-PDF

mcrudi
Beiträge gesamt: 29

23. Okt 2018, 15:51
Beitrag # 1 von 6
Bewertung:
(3376 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gemeinde,

ich habe eine sehr spezielle Aufgabe. Mein Kunde schickt mir eine TXT/CSV Datei, in der unter andere mehrere Dateinamen vorhanden sind. Alles in Tabellenform mit Semikolon und Zeilenschaltung getrennt.
Ich möchte diese Datei dazu verwenden, in InDesign CS6 mit Hilfe von JS diese Datei zu öffnen, den Dateinamen auszulesen und Seitenweise PDF Exportieren, die dann den Dateinamen als Dateiname.pdf schreiben. Die InDesign Datei hat dabei genau die gleiche Seitenanzahl, wie Dateinamen in der TXT/CSV-Datei stehen.

Ich bekomme mit folgenden Code schon hin, einzelne Dateien zu schreiben.
Code
var myDoc = app.activeDocument; 
var myFolderName = myDoc.filePath;
var myDocumentName = myDoc.name;
var myPages = myDoc.pages;
for (i = 0; i < myPages.length; i++){
var myPage = myPages[i];
var myPageName = myPage.name;
var myFilePath = "/Users/myName/Desktop/PDF/" + "page " + myPageName + ".pdf";
var myFile = new File(myFilePath);
app.pdfExportPreferences.pageRange = myPageName;
myDoc.exportFile(ExportFormat.pdfType, myFile, false, "PDFX4 2007");
}

Wie ich eine Datei mit JS öffne klappt auch schon recht gut, aber dann die entsprechende Stelle auszulesen ist dann doch echt schwer.

Ich hoffe, meine Frage ist nicht zu schwer formuliert.

Danke schon mal für die Hilfe.

Mcrudi
X

TXT Datei mit Namen für Export-PDF

Gerald Singelmann
  
Beiträge gesamt: 6269

25. Okt 2018, 08:21
Beitrag # 2 von 6
Beitrag ID: #567099
Bewertung:
(3313 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Anbei ein kleines Snippet, das zeigt, wie man CSV-Dateien auslesen kann, um eine Spalte daraus z.B. für Dateinamen verwenden kann.

Die zugehörige Textdatei hängt ich mal an

Code
main(); 

function main () {
var zeilentrenner = "\n";
var spaltentrenner = "\t";
var spalte_in_der_der_dateiname_steht = 3;

var seitenzahl = 7;

var f = new File( Folder.desktop.fullName + "/zahlen.txt" );
f.open("r");
var csv = f.read();
f.close();

csv = csv.split( zeilentrenner );
for (var n = 0; n < csv.length; n++) csv[n] = csv[n].split( spaltentrenner );

for ( var n = 0; n < seitenzahl; n++ ) {
var dateiname;
if ( n < csv.length ) {
dateiname = csv[n][ spalte_in_der_der_dateiname_steht ] + ".pdf";
} else {
dateiname = "Die CSV Datei hat nicht genug Zeilen für diese Seite, ich muss mir was anderes ausdenken " + n + ".pdf"
}
$.writeln( dateiname );
}
}



als Antwort auf: [#567029]
Anhang:
zahlen.txt (94 B)   csv auslesen.jsx (0.68 KB)

TXT Datei mit Namen für Export-PDF

mcrudi
Beiträge gesamt: 29

25. Okt 2018, 11:04
Beitrag # 3 von 6
Beitrag ID: #567106
Bewertung:
(3278 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

vielen Dank für das Snippet. Ich konnte sehr viel damit anfangen.
Mein kleines Programm läuft.

Ich habe das jetzt so gelöst:

Code
var myDoc = app.activeDocument;  
var myFolderName = myDoc.filePath;
var myDocumentName = myDoc.name;
var myPages = myDoc.pages;
var myAnzahlSeiten = myPages.length;

var zeilentrenner = "\n";
var spaltentrenner = "\t";
var spalte_in_der_der_dateiname_steht = 2;

var seitenzahl = myAnzahlSeiten;

var f = new File( "/Users/myUser/Desktop/PDF/testdatei.txt" );
f.open("r");
var csv = f.read();
f.close();

csv = csv.split( zeilentrenner );
for (var n = 0; n < csv.length; n++) csv[n] = csv[n].split( spaltentrenner );

for ( var n = 0; n < seitenzahl; n++ ) {
var dateiname;
if ( n < csv.length ) {
dateiname = csv[n][ spalte_in_der_der_dateiname_steht ];
var myPage = myPages[n];
var myPageName = myPage.name;
var myFilePath = "/Users/myUser/Desktop/PDF/" + "page " + dateiname + ".pdf";
var myFile = new File(myFilePath);
app.pdfExportPreferences.pageRange = myPageName;
myDoc.exportFile(ExportFormat.pdfType, myFile, false, "PDFX4 2007");
} else {
dateiname = "Die CSV Datei hat nicht genug Zeilen für diese Seite, ich muss mir was anderes ausdenken "
}
$.writeln( dateiname );
}


Ich werde für das Projekt sicherlich noch ein paar Anpassungen machen, aber grundsätzlich läuft das prima.

Viele Grüße,

Mcrudi


als Antwort auf: [#567099]

TXT Datei mit Namen für Export-PDF

mcrudi
Beiträge gesamt: 29

25. Okt 2018, 16:36
Beitrag # 4 von 6
Beitrag ID: #567129
Bewertung:
(3251 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So, mein Script funktioniert ja spitze, wie schon erwähnt.
Ich würde jetzt gerne noch jede erzeugte PDF-Datei schließen,
bevor die nächste erzeugt wird. mit close() klappt das aber nicht.
Gibt es da ein Trick?
Viele Grüße
Mcrudi


als Antwort auf: [#567106]

TXT Datei mit Namen für Export-PDF

Kai Rübsamen
Beiträge gesamt: 4684

25. Okt 2018, 17:49
Beitrag # 5 von 6
Beitrag ID: #567132
Bewertung:
(3246 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Das PDF geht ja in Acrobat auf. Das kannst du von InDesign aus nicht schließen. Du könntest aber verhindern, dass es überhaupt angezeigt wird und den Haken im Export-Fenster rausnehmen:

// Voreinstellung für Export setzen
var userShow = app.pdfExportPreferences.viewPDF;
app.pdfExportPreferences.viewPDF = false;

Am Schluss setzt du dann das Ganze auf die Einstellung des Users zurück.


als Antwort auf: [#567129]

TXT Datei mit Namen für Export-PDF

mcrudi
Beiträge gesamt: 29

26. Okt 2018, 08:23
Beitrag # 6 von 6
Beitrag ID: #567139
Bewertung:
(3186 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

das war es! Danke. Manchmal liegt die Lösung so nah. :-)

Viele Grüße

Mcrudi


als Antwort auf: [#567132]
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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!