Czy można drukować do pliku PDF z terminalu Mac?

16

Czy możliwe jest pobranie pliku i wydrukowanie go do pliku PDF za pomocą poleceń terminalu? Zgaduję, że w jakiś sposób skorzystasz z polecenia lpr, ale muszę jeszcze odkryć poprawną składnię.

tambler
źródło
Jakiego rodzaju plik? zwykły tekst?
Doug Harris
1
@Daniel, powinienem być bardziej przejrzysty w moim pytaniu: Jaki rodzaj pliku źródłowego? - Moja odpowiedź poniżej będzie działać dla zwykłych plików tekstowych, ale nie dla obrazów.
Doug Harris
@Doug Przepraszam, faktycznie źle odczytałem pytanie.
Daniel Beck
1
@Daniel - To, do czego naprawdę dążę, to coś bardziej intensywnego graficznie, powiedzmy strony HTML. czy to możliwe?
tambler
1
Twoim głównym problemem jest prawdopodobnie to, że aplikacja przeglądarki zależy od formatu pliku. Podejmij decyzję, jakiego formatu chcesz, a otrzymasz konkretne odpowiedzi.
Daniel Beck

Odpowiedzi:

10

lpr jest rzeczywiście właściwym poleceniem. Po prostu nie ma za wiele

lpr filename.pdf

powinien po prostu działać, zakładając, że domyślna drukarka jest ustawiona poprawnie. Jeśli nie, możesz to zrobić

lpr -P printername filename.pdf

Zauważ, że istnieje strona man - "man lpr", jeśli chcesz zobaczyć zawartość. Tak, demon drukowania CUPS, którego używa OS X, jest już w formacie PDF.

Perry
źródło
Dostarczone rozwiązanie zapewnia zerowy rozmiar plików PDF na Yosemite. Jakieś pomysły, jak go rozwiązać?
Stanislav Mekhonoshin
Przepraszamy za powielanie. Dostarczone rozwiązanie zapewnia zerowy rozmiar plików PDF na Yosemite, gdy próbuję pobrać dokument .pages. RTF lub txt są drukowane dobrze. Jakieś pomysły, jak to naprawić?
Stanislav Mekhonoshin
lpr nie generuje plików pdf, więc nie jestem pewien, czy rozumiem komentarz. Nie można wygenerować plików pdf za pomocą lpr.
Perry
4
Nie odpowiada to na pierwotne pytanie, ponieważ to, jak „drukować do pdf”, a nie drukować pdf.
dorien
4

Wiem, że widziałem coś w ukrytym folderze systemowym:

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

Stworzyłem nową aplikację z AppleScript, ale wywołanie skryptu powinno również działać.

EDYTOWAĆ: właściwie po prostu możesz zadzwonić

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

źródło
6
Ta odpowiedź jest przestarzała. Przetestowany w systemie OS X 10.9.5.
4ae1e1
@ 4ae1e1 Nie, nie jest. Tylko, że „konwersja” nie istnieje. Jest to dowiązanie symboliczne do / usr / sbin / cupsfilter, a filtr cupfilter będzie nadal działał w ten sposób nawet w 10.13.6.
cde
3

1) Procesor Word Open Source, AbiWord , zawiera opcję konwersji między dowolnymi formatami, które zna w linii poleceń, w tym PDF np.

abiword --to=pdf filename.html

(Zajmie się także, na przykład, plikami MS Word .doc, .docx, .odt, .rtf itp., Zarówno wejściowymi, jak i wyjściowymi).

Wiem, że jest dostępny dla komputerów Mac, ale nigdy nie korzystałem z niego na Macu.

2) The ebook-convert program wiersza poleceń z kaliber (na komputerze Mac należy postępować zgodnie z instrukcjami tutaj aby uzyskać narzędzia wiersza poleceń) jest również przydatne dla wielu formatów.

ebook-convert filename.html filename.pdf

Może obsługiwać wejście .rtf i .odt oraz wiele formatów ebooków takich jak .epub i .mobi.

3) PrinceXML może być używany w wierszu poleceń i bardzo pięknie konwertuje HTML na PDF.

4) Jest wkhtmltopdf , który używa silnika webkit do konwersji HTML na PDF z linii poleceń. Nigdy tego nie próbowałem.

5) Mogę myśleć o innych metodach, np. ConTeXt lub pdflatex, ale coraz bardziej się angażują.

frabjous
źródło
NB: AbiWord nie działa na komputerach Mac z procesorami Intel
inspectorG4dget
2

W przypadku zwykłych plików tekstowych można użyć enscript (pochodzi z OS X), aby wygenerować plik postscriptowy.

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

Aplikacja Podglądowa systemu OS X może otwierać (i konwertować) do formatu PDF lub zainstalować ps2pdf (Zainstalowałem to przez Macports ) i przekonwertuj w linii poleceń.

$ ps2pdf ~/Desktop/profile.ps ~/Desktop/profile.pdf
Doug Harris
źródło
Co jeśli chciałbym zrobić coś bardziej intensywnego graficznie? Powiedz, konwertując stronę HTML na PDF z terminala?
tambler
Wiem, że to stare, ale PhantomJS może to zrobić i robi to bardzo dobrze.
Brad
0

W przypadku plików lokalnych stron internetowych możesz spróbować użyć Pobierz adresy URL w formacie PDF Działanie automatora. Ściągnij i zainstaluj.


Musiałem uruchomić Automator w trybie 32-bitowym:

alt text


Utwórz Automator Podanie to automatycznie odbiera pliki i foldery jako dane wejściowe , z tą akcją jako jedyną. Zapisz np. tak jak Save as PDF.

Otworzyć Zdobyć informacje okno dialogowe aplikacji i sprawdź Otwórz w trybie 32-bitowym także tutaj. Kliknij dwukrotnie raz, aby się upewnić Uruchom usługi zna aplikację.


Możesz użyć tej aplikacji z linii poleceń w następujący sposób:

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

Oczywiście możesz zawinąć to w ładny AppleScript .scpt, bash funkcja, skrypt powłoki lub nie.


To rozwiązanie jest w rzeczywistości bardzo elastyczne. Mogłem konwertować pliki tekstowe i pliki HTML, a działanie Automatora jest również nieco konfigurowalne.

Daniel Beck
źródło
0

Najpierw pobierz nazwę drukarki

lpstat -p

Następnie użyj nazwy drukarki (Canon1234 - np.)

lp -d Canon1234 PathToDocument.pdf
Thejus Krishna
źródło
Op chce wydrukować dowolny plik w dokumencie PDF, a nie wydrukować plik PDF na prawdziwej drukarce.
cde
0

Właściwie jest to o wiele łatwiejsze. Możesz po prostu wpisać w wierszu poleceń open *.pdf i Zapowiedź otworzy się ze wszystkimi plikami. Dziwnie, jeśli wpiszesz open *.pdf */*.pdf masz dwa okna. W każdym z nich musisz przejść do paska bocznego, wybrać jeden z formatów boxy (jeśli jest dużo plików otwieranych domyślnie w formacie listy, który nie działa) wpisz CMD - ZA aby wybrać wszystko, a następnie użyj polecenia print-selected-pages, aby uzyskać wszystkie.

Joanna Bryson
źródło
0

możesz dodać sterownik drukarki pdf z użycia pdf printer

  • pierwsza instalacja pdf printer wtedy ze sklepu
  • początek pdf printer
  • przejdź do preferencji systemowych

  • otwórz drukarki i skanery

  • Kliknij + przycisk

  • na liście drukarek wybierz pdf printer

  • Poczekaj sekundę

  • następnie kliknij Dodaj

  • zestaw pdf printer jako drukarka domyślna, a następnie zamknij ...

otwórz terminal następnie wykonaj polecenie, aby wydrukować plik

lp /path/to/your/file/to/print.txt
NuOne T Attygalle
źródło