Forenindex » Programmierung/Entwicklung » AppleScript » TXT in PDF konvertieren per Script

TXT in PDF konvertieren per Script

Ralf Hobirk
Beiträge gesamt: 5961

16. Okt 2019, 19:42
Bewertung:

gelesen: 22349

Beitrag als Lesezeichen
Hallo zusammen,

ich bin dabei, einen etwas längeren – quasi im Hintergrund ohne jegliche Interaktion ablaufenden – Workflow aufzusetzen. Dabei fehlt mir ein wichtiger Schritt: TXT-Dateien in PDFs zu konvertieren. Dafür kommen in Frage:

– Automator Action
– Apple Script
– Shell Script
– eine Kombination aus den genannten Optionen

Ich habe vor einiger Zeit im Web ein Shell Script gefunden, das diesen Job recht zügig und zuverlässig macht. Aber:

– Die PDFs haben kein benötigtes A4-Format, sondern US Letter.
– Es wird immer eine zweite Seite produziert, auch wenn der Text nichtmal eine Seite füllt.
– Auf der linken Seite muss ein Seitenrand von mindestens 12 mm sein.
– Ich habe keinen Einfluss auf den Font. Es wird "automatisch" Times o. ä. verwendet, wir hätten aber gerne einen serifenlosen Font wie Myriad, Helvetica, Arial o. ä.

Hier ist der Codes dieses Scriptes, das eigentlich für DOCX entwickelt wurde:
Code
#!/bin/bash 
# Jacob Salmela
# 2016-03-12
# Convert annoying DOCX into PDFs with a right-click
# Run this as an Automator Service

###### SCRIPT #######
for f in "$@"
do
# Get the full file PATH without the extension
filepathWithoutExtension="${f%.*}"
# Convert the DOCX to HTML, which cupsfilter knows how to turn into a PDF
textutil -convert html -output "$filepathWithoutExtension.html" "$f"
# Convert the file into a PDF
cupsfilter "$filepathWithoutExtension.html" > "$filepathWithoutExtension.pdf"
# Remove the original file and the temporary HTML file, leaving only the PDF
rm "$f" "$filepathWithoutExtension.html" >/dev/null
done


Weiß jemand von euch, ob man das Script eventuell um Parameter wie Seitengröße, Seitenrand, Font und Fontgröße erweitern kann? Oder dies in Apple Script realisieren?

Selbstverständlich erwarte ich nicht, dass jetzt jemand kostenlos für mich scriptet. Das Ganze darf schon etwas kosten.

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

TXT in PDF konvertieren per Script

Hans Haesler
  
Beiträge gesamt: 5826

16. Okt 2019, 20:16
Bewertung:

gelesen: 22340

Beitrag als Lesezeichen
Hallo Ralf,

welcome back im AppleScript-Forum auf HilfDirSelbst! :-)

Das Ergänzen des Shell-Scripts mit den von Dir gewünschten Optionen liegt leider ausserhalb meiner Reichweite.
Dennoch werde ich versuchen, mich schlau zu machen.

Aber: Und wenn man InDesign einspannen würde? Damit könnte der Seitenrand, der Font usw. bestimmt werden.
Das Importieren des Textes und das Erzeugen der PDF-Dateien könnte entweder ein JavaScript oder ein AppleScript besorgen.

Okay, vermutlich geht das im genannten Workflow nicht ...

Gruss, Hans

TXT in PDF konvertieren per Script

Ralf Hobirk
Beiträge gesamt: 5961

16. Okt 2019, 21:01
Bewertung:

gelesen: 22328

Beitrag als Lesezeichen
Hallo Hans,

den Einsatz von InDesign möchte ich vermeiden, da ich dabei manuell eingreifen muss. Natürlich habe ich darüber auch schon nachgedacht. drer komplette Workflow sieht knapp beschrieben so aus:

– Wenn im Data Management System (auf einem Webserver) Texte (Hotelbeschreibungen usw.) editiert oder neu angelegt werden, erfolgt automatisch ein Export in einen Download-Folder auf diesem Server. Jeder Text liegt in zwei Sprachen zu je zwei Versionen vor.

– Auf meiner Seite beobachtet der Yummy FTP Watcher im minütlichen Abstand, ob in dem Verzeichnis auf dem Server neue Dateien eingetroffen sind. Wenn ja, lädt er sie herunter und löscht die Originale vom Server.

– Hazel übernimmt und verschiebt die Dateien je nach Sprache und Version – aber auch nach anderen Kennzeichen im Dateinamen – an bestimmte Stellen auf Macs in meinem lokalen Netzwerk.

– Eine dieser Versionen muss anschließend in PDF konvertiert und nach einem bestimmten Muster umbenannt werden. Das automatisierte Umbenennen habe ich in Hazel bereits gelöst.

– Hazel verschiebt die PDFs in einen Upload-Folder, der wiederum vom Yummy FTP Watcher überwacht wird. Dieser lädt die PDFs dann automatisiert auf einen anderen Server, wo ein Reservierungsprogramm auf sie zugreift und sie für jede Reisebuchung zwei Mal (!) an die Kunden versendet. Das ganze Theater haben wir der Richtlinie (EU) 2015/2302 des Europäischen Parlaments und des Rates (Pauschalreiserichtlinie) zu verdanken…

Ich kann in Hazel (das übrigens auf dem Mac ein genialer Helfer für automatisierte Prozesse ist) Automator Workflows, Applescripts und Shell Scripts einbauen bzw. ausführen lassen.

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

TXT in PDF konvertieren per Script

Uwe Laubender
Beiträge gesamt: 5318

16. Okt 2019, 22:21
Bewertung:

gelesen: 22313

Beitrag als Lesezeichen
Hallo Ralf,

hast Du schon mal an Adobe Acrobat Pro gedacht?

Je nach Version sollte man den so konfigurieren können, dass er PDFs aus Textdateien erzeugt.
Mit überwachtem Ordner. Wobei ich mir nicht ganz sicher bin wie das mit der aktuellen Acrobat Pro DC-Version geht.

Beispiel:
Um die Konvertierung von Textdateien einzurichten, gehst Du zu:

Tools > Create PDF > Web Page > Advanced Settings

Dort findest Du zwei Tabs, General und Page Layout in denen Du nach herzenslust die zu verwendende Schrift konfigurieren kannst, das Seitenformat und die Ränder, auch ob der Text skaliert werden soll, wenn er nicht in die Ränder passt; oder ob der Text umbrechen soll, wenn ein bestimmter Skalierungsfaktor unterschritten wird.

Hier drei Screenshots aus Acrobat Pro DC, die das zeigen:
https://www.dropbox.com/...ngs-General.PNG?dl=0
https://www.dropbox.com/...xt-Settings.PNG?dl=0
https://www.dropbox.com/...-PageLayout.PNG?dl=0

Ob das so mit früheren Versionen von Acrobat Pro umsetzbar ist, müsstest Du prüfen.
Die Konvertierung einzelner Textdateien folgt jedenfalls den oben gezeigten Vorgaben. Habe ich hier auf meinem Windows 10-Rechner getestet.
*****
Mit herzlichem Gruß,
Uwe Laubender

TXT in PDF konvertieren per Script

Ralf Hobirk
Beiträge gesamt: 5961

16. Okt 2019, 22:44
Bewertung:

gelesen: 22303

Beitrag als Lesezeichen
Hallo Uwe,

ja, ich hatte heute schonmal an Acro Pro DC gedacht und damit auch rumprobiert. Aber wohl mit dem falschen Ansatz. Ich habe jetzt deinen Ansatz mit einer Datei getestet und das Ergebnis gefällt mir!

Jetzt muss ich nur noch herausfinden, wie das mit dem Hotfolder funktioniert. Ich wusste überhaupt nicht, das Acro Pro solch eine Möglichkeit bietet. ;-) Aber damit mache ich morgen erst weiter…

Jedenfalls danke für deinen Tipp in die richtige Richtung und die Screenshots, die mir sehr geholfen haben!

Was ich in Acro Pro übrigens recht verwirrend finde: Man nimmt die Einstellungen unter "Web Page" vor und konvertiert anschließend unter "Single File".

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

TXT in PDF konvertieren per Script

Uwe Laubender
Beiträge gesamt: 5318

16. Okt 2019, 23:05
Bewertung:

gelesen: 22298

Beitrag als Lesezeichen
Antwort auf: …Was ich in Acro Pro übrigens recht verwirrend finde: Man nimmt die Einstellungen unter "Web Page" vor und konvertiert anschließend unter "Single File".


Hallo Ralf,

tja, da hab' ich aus lauter Verzweiflung nachgesehen, weil unter Einzeldatei die Konvertierungsoptionen ausgegraut sind.
Sehr logisch ist das nicht. Die Benutzerführung in Acrobat Pro DC bleibt sich aber treu: grauenhaft!
*****
Mit herzlichem Gruß,
Uwe Laubender

TXT in PDF konvertieren per Script

Ralf Hobirk
Beiträge gesamt: 5961

16. Okt 2019, 23:08
Bewertung:

gelesen: 22295

Beitrag als Lesezeichen
Antwort auf: Die Benutzerführung in Acrobat Pro DC bleibt sich aber treu: grauenhaft!


In der Tat! Alles vor DC war besser. Jetzt muss man alles suchen, in den Menüs gibt es fast gar nichts mehr.

Hoffentlich werden ID und PS nicht irgendwann auch so aussehen…

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

TXT in PDF konvertieren per Script

Ralf Hobirk
Beiträge gesamt: 5961

17. Okt 2019, 14:04
Bewertung:

gelesen: 22194

Beitrag als Lesezeichen
Ich schließe das Thema hier erstmal ab und mache im PDF-Forum weiter bzgl. der Automatisierung des Batch-Exportes aus Acrobat.

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

TXT in PDF konvertieren per Script

Hans Haesler
  
Beiträge gesamt: 5826

17. Okt 2019, 20:09
Bewertung:

gelesen: 22176

Beitrag als Lesezeichen
Hallo Ralf, hallo Uwe,

das gibt es nicht alle Tage: Zwei JavaScript-Cracks führen eine konstruktive Diskussion im AppleScript-Forum! :-)

@ Uwe: Besten Dank für Dein Eingreifen.

Gruss, Hans

TXT in PDF konvertieren per Script

Ralf Hobirk
Beiträge gesamt: 5961

17. Okt 2019, 20:21
Bewertung:

gelesen: 22170

Beitrag als Lesezeichen
Hallo Hans,

danke, aber ich bin im Gegensatz zu Uwe bei weitem kein JavaScript-Crack. Ich bin nur User, dem es auch schonmal gelingt, Code in ein Script zusammenzukopieren. ;-)

Mit der Automatisierung in Acrobat bin ich übrigens auch noch nicht weitergekommen. Ich google schon fast den ganzen Tag…

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)