Ich versuche, eine Datei (ein PDF) ohne Intervention zu drucken. Nicht Automator-spezifisch, ich kann mit Applescript oder Terminal oder was auch immer umgehen. Die Einzelheiten dessen, was ich will, sind:
Ich kann dies manuell über das Druckmenü der Vorschau tun, nur die Seitengröße ist nicht standardmäßig, aber ich möchte es irgendwie automatisieren, per Drag & Drop.
Dinge, die ich versucht habe:
Im schlimmsten Fall, wie kann ich die Maus- oder Tastatursteuerung des Druckmenüs der Vorschau emulieren? Alles, was benötigt wird, ist 1. die Datei zu öffnen, 2. das Druckmenü aufzurufen, 3. zu einer Voreinstellung oder Seitengröße zu wechseln, da alle anderen Optionen einschließlich der Skalierung Standard sind . 4. Drucken/Eingabe drücken.
Lassen Sie uns das Problem in zwei Teile aufteilen: Skalierung und Drucken.
Sie können eine PDF-Datei auf der Befehlszeile skalieren. Erwägen Sie, eine temporäre, skalierte PDF-Datei zum Drucken zu erstellen.
Siehe Skalieren von PDF-Inhalt und Seitenabmessungen von der Befehlszeile aus für empfohlene Ansätze dazu. Die am höchsten bewertete Antwort schlägt vor, cpdf mit einem Befehl wie dem folgenden zu verwenden:
cpdf -scale-page "1.1 1.1" in.pdf -o out.pdf
Ein alternatives Tool ist sips
. Dieses Tool ist in OS X enthalten und ist überraschend leistungsfähig.
Wie Sie festgestellt haben, ist das Drucksystem von OS X das Common Unix Printing System (CUPS). CUPS enthält das Befehlszeilentool , das alle erforderlichen Einstellungen und Optionenlpr
akzeptieren kann .
Zum Drucken des PDFs über die Befehlszeile siehe:
Um die verfügbaren Drucker aufzulisten, verwenden Sie:
lpstat -p -d
Um eine PDF-Datei auf dem Standarddrucker zu drucken, verwenden Sie:
lpr file.pdf
pipe
und den ganzen Kram auf einmal zu machen? wie: cpdf -scale-page "1.1 1.1" in.pdf | lpr
?cpdf
könnte es möglich sein. Damit sips
müsste es über eine Datei gehen. Ich vermute, ein kurzes Bash-Skript oder sogar ein AppleScript-Droplet würde den Befehl gut abschließen.Was ich letztendlich tat, war die Verwendung open
und osascript
zusammen mit einem Tool pdfcrop
von MacRumors Forum-Benutzer Oligarch (Wayback Machine backup to archive )
./pdfcrop /path/to/file.pdf -u in -p 6.68 1.82 -a tr -o 0.14 0.23 > ./0.pdf && \
./pdfcrop /path/to/file.pdf -b m -u in -p 3.30 1.82 -a tr -o 0.14 0.23 > ./1.pdf && \
./pdfcrop /path/to/file.pdf -b m -u in -p 3.38 1.78 -a tr -o 3.43 0.24 > ./2.pdf && \
open ./1.pdf ./2.pdf && \
osascript -e 'tell application "Finder" to delete POSIX file "'/path/to/file.pdf'"' -e 'tell application "Finder" to delete POSIX file "'./1.pdf'"' -e 'tell application "Finder" to delete POSIX file "'./2.pdf'"'
⌘-Delete
die Dateien.⌘-P
beide Dateien drucken. Ich muss nur die Papiergröße ändern, die Vorschau übernimmt die Skalierung.Natürlich macht es nicht alles, was ich will, aber es hilft, den Umfang des manuellen Zuschneidens und des Hin- und Hergehens zu reduzieren, um sicherzustellen, dass alles gedruckt wird, was ich brauche.
Da CPDF skalieren und zuschneiden kann, sollte es einfacher sein, alles über die Befehlszeile zu tun. Ich muss es einfach testen.
Platzhalter