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ę.


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.


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"

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ą.


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

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.


0

Najpierw pobierz nazwę drukarki

lpstat -p

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

lp -d Canon1234 PathToDocument.pdf

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.