Möglichkeit, vom Mac-Terminal aus als PDF zu drucken?

19

Ist es möglich, eine Datei mit nur Terminalbefehlen in ein PDF zu drucken? Ich vermute, Sie würden den Befehl lpr irgendwie verwenden, aber ich habe noch nicht die richtige Syntax gefunden.

Sabotage
quelle
Welche Art von Datei? Klartext?
Doug Harris
1
@ Daniel, ich hätte in meiner Frage klarer sein sollen: Welche Art von Quelldatei? - Meine Antwort unten funktioniert für reine Textdateien, aber nicht für Bilder.
Doug Harris
@Doug Ich entschuldige mich, ich habe die Frage falsch verstanden.
Daniel Beck
1
@Daniel - Was ich wirklich anstrebe, ist etwas grafisch Intensiveres, sagen wir mal HTML-Seiten. Ist das möglich?
Sabotage
1
Ihr Hauptproblem ist wahrscheinlich, dass die Viewer-Anwendung vom Dateiformat abhängig ist. Entscheiden Sie sich für das gewünschte Format und Sie erhalten konkrete Antworten.
Daniel Beck

Antworten:

11

lprist ja der richtige befehl. Es ist einfach nicht viel dabei

lpr filename.pdf

sollte einfach funktionieren, vorausgesetzt, der Standarddrucker ist richtig eingestellt. Wenn nicht, müssen Sie möglicherweise tun

lpr -P printername filename.pdf

Beachten Sie, dass es eine Manpage gibt - "man lpr", wenn Sie den Inhalt sehen möchten. Ja, der von OS X verwendete CUPS-Druck-Daemon ist bereits PDF-fähig.

Perry
quelle
Die mitgelieferte Lösung bietet eine PDF-Datei in der Größe Null für Yosemite. Irgendwelche Ideen, wie man es löst?
Stanislav Mekhonoshin
Sorry für die Vervielfältigung. Die mitgelieferte Lösung gibt auf Yosemite ein PDF in der Größe Null, wenn ich versuche, ein .pages-Dokument zu drucken. RTF oder TXT werden gut gedruckt. Irgendwelche Ideen, wie man es repariert?
Stanislav Mekhonoshin
lpr generiert keine PDF-Dateien, daher bin ich mir nicht sicher, ob ich den Kommentar verstehe. Sie können mit lpr keine PDF-Dateien erzeugen.
Perry
4
Dies beantwortet nicht die ursprüngliche Frage, da es sich um das Drucken als PDF und nicht um das Drucken eines PDF handelt.
Dorien
5

Ich weiß, dass ich etwas in einem lediglich versteckten Systemordner gesehen habe:

/Library/Scripts/Printing Scripts/Convert To PDF.scpt

Ich habe eine neue Anwendung aus AppleScript erstellt, aber der direkte Aufruf des Skripts sollte auch funktionieren.

EDIT: eigentlich kannst du einfach anrufen

/System/Library/Printers/Libraries/convert -f file.rtf -o file.pdf -j "application/pdf"

quelle
6
Diese Antwort ist veraltet. Getestet in OS X 10.9.5.
4ae1e1
@ 4ae1e1 Nein, das ist es nicht. Nur dass "convert" nicht existiert. Es ist ein Symlink zu / usr / sbin / cupsfilter und cupsfilter funktioniert auch unter 10.13.6 noch so.
8.
3

1) Das Open Source-Textverarbeitungsprogramm AbiWord enthält eine Option zum Konvertieren zwischen allen Formaten, die es in der Befehlszeile kennt, einschließlich PDF, z.

abiword --to=pdf filename.html

(Es werden auch z. B. MS Word-DOC-Dateien, DOCX-Dateien, ODT-Dateien, RTF-Dateien usw. sowohl für die Eingabe als auch für die Ausgabe verarbeitet.)

Ich weiß, dass es für Mac verfügbar ist, obwohl ich es noch nie auf einem Mac verwendet habe.

2) Das ebook-convertKommandozeilenprogramm von Calibre (auf dem Mac müssen Sie die Anweisungen hier befolgen , um die Kommandozeilen-Tools zu erhalten) ist auch für viele Formate nützlich.

ebook-convert filename.html filename.pdf

Es kann RTF- und ODT-Eingaben sowie viele E-Book-Formate wie .epub und .mobi verarbeiten.

3) PrinceXML kann auf der Kommandozeile verwendet werden und konvertiert HTML in PDF sehr schön.

4) Es gibt wkhtmltopdf , das die Webkit-Engine verwendet, um HTML von der Kommandozeile in PDF zu konvertieren. Ich habe es nie versucht.

5) Ich kann mir andere Methoden vorstellen, die zB ConTeXt oder pdflatex verwenden, aber sie werden immer komplizierter.

schäbig
quelle
1
NB: AbiWord funktioniert nicht auf Intel-basierten Macs
inspectorG4dget
2

Für Nur-Text-Dateien können Sie enscript(im Lieferumfang von OS X enthalten) eine Postscript-Datei erstellen.

$ enscript -p ~/Desktop/profile.ps /etc/profile
[ 1 pages * 1 copy ] left in /Users/dharris/Desktop/profile.ps

Die Vorschau-App von OS X kann in PDF geöffnet (und konvertiert) werden. Sie können auch ps2pdf installieren (ich habe es über Macports installiert ) und über die Befehlszeile konvertieren.

$ ps2pdf ~/Desktop/profile.ps ~/Desktop/profile.pdf
Doug Harris
quelle
Was wäre, wenn ich etwas grafisch Intensiveres machen wollte? Sprich, eine HTML-Seite vom Terminal in PDF konvertieren?
Sabotage
Ich weiß, dass dies alt ist, aber PhantomJS kann dies und es funktioniert sehr gut.
Brad
1

Zuerst den Druckernamen abrufen

lpstat -p

Verwenden Sie dann den Druckernamen (zB Canon1234)

lp -d Canon1234 PathToDocument.pdf
Thejus Krishna
quelle
Op versucht, eine beliebige Datei in ein PDF-Dokument zu drucken, nicht in einen echten Drucker.
8.
0

Bei lokalen Webseiten können Sie versuchen, Download-URLs als PDF Automator-Aktion zu verwenden. Herunterladen und installieren.


Ich musste Automator im 32-Bit-Modus starten:

Alt-Text


Erstellen Sie eine Automator- Anwendung , die automatisch Dateien und Ordner als Eingabe empfängt , wobei diese Aktion die einzige ist. Speichern Sie zB alsSave as PDF .

Öffnen Sie das Dialogfeld " Informationen " Ihrer Anwendung und aktivieren Sie auch hier das Kontrollkästchen " Im 32-Bit-Modus öffnen" . Doppelklicken Sie einmal darauf, um sicherzustellen, dass Launch Services die Anwendung kennt.


Sie können diese Anwendung wie folgt über die Befehlszeile verwenden:

osascript -e 'tell application "Save as PDF" to open { POSIX file "/path/to/file.html" as alias }'

Natürlich können Sie dies in ein nettes AppleScript .scpt, eine bashFunktion, ein Shell-Skript oder was auch immer einschließen.


Diese Lösung ist eigentlich ziemlich flexibel. Ich konnte Textdateien und HTML-Dateien konvertieren und die Automator-Aktion ist auch einigermaßen konfigurierbar.

Daniel Beck
quelle
0

Eigentlich ist es viel einfacher. Sie können einfach in die Befehlszeile eingeben open *.pdfund die Vorschau wird mit allen Dateien dort geöffnet. Merkwürdigerweise erhalten open *.pdf */*.pdfSie bei der Eingabe zwei Fenster. In jedem müssen Sie dann in die Seitenleiste gehen, wählen Sie eine der boxy - Formate (wenn es eine Menge von Dateien öffnet es standardmäßig in Listenform , die keine Arbeit) Typ CMD- Aalle auszuwählen, und dann die Druck- verwenden Befehl selected-pages, um alle zu erhalten.

Joanna Bryson
quelle
0

Sie können den PDF-Druckertreiber über hinzufügen pdf printer

  • Erst pdf printeraus dem Laden installieren dann
  • Start pdf printer
  • Gehe zu den Systemeinstellungen

  • offene Drucker und Scanner

  • Klicken Sie auf die +Schaltfläche

  • in der Druckerliste auswählen pdf printer

  • warte mal eine Sekunde

  • Klicken Sie dann auf Hinzufügen

  • pdf printerAls Standarddrucker festlegen und schließen ...

Öffnen Sie das Terminal und führen Sie den Befehl zum Drucken einer Datei aus

lp /path/to/your/file/to/print.txt
NuOne
quelle