명령 행에서 일반 파일을 PDF로 인쇄하는 방법


34

gedit에서 파일을 인쇄하면 파일을 PDF로 저장할 수있는 파일로 인쇄하는 옵션이 제공됩니다. 명령 줄에서 어떻게 같은 작업을 수행 할 수 있습니까?

답변:


43

OpenOffice를 포함하지 않는 솔루션은 다음과 같습니다.

  1. sudo apt-get install enscript

  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

enscript-B를 들어 페이지 헤더를 생략하는 옵션이 더 있습니다 . man enscript모든 옵션을 참조하십시오 .


1
unoconv로 open / libreoffice를 사용하지 않는 사람에게 특히 적합한 Stefano는 설치되는 두 가지 중 하나에 의존합니다.
Allan

좋은 대답을 위해 +1, 내가 주려고 한 것은 이미 존재하는 것에 무언가를 추가 할 것이라고 생각하는 것을 주겠다고 결정했습니다.
Sabacon

이를 위해 내장 된 bash 프로그램이나 명령이 없습니까?
kashminder

1
감사! 대부분의 텍스트에서는 작동하지만 enscript는 오래된 인코딩에서만 작동하며, 예를 들어 UTF-8에서는 작동하지 않으므로 텍스트에 유로 기호 (€)가 포함 된 경우 텍스트를 변환 할 수 없습니다.
Antoine Dusséaux

20

위에서 언급 한 소프트웨어를 설치하지 않고 이미 설치된 상태에서 간단히 다음을 수행 할 수 있습니다 cupsfilter.

cupsfilter foo.txt > foo.pdf

(옵션 등은 cupsfilter 매뉴얼 페이지를 참조하십시오 :-))


2
여기에 문제없이 UTF8 텍스트 파일을 처리 한 유일한 답변 :) 거의 의존하지 않고 더 쉽게 할 수 있습니다
Axel Advento

13

간단한 암호화 방법

sudo apt-get 설치 컵 -pdf enscript

그런 다음이 경우 -P 스위치와 프린터 설명 PDF를 사용하여 파일에서 enscript를 실행하십시오.

첨자 -B -PPDF test.txt

cups-pdf를 설치할 때 설명 PDF가있는 프린터가 작성되었습니다. 해당 프린터에 enscript를 사용하면 문서가 PDF 프린터로 전송되고 / home / PDF 디렉토리에 .pdf로 작성된 파일로 인쇄됩니다. 위의 명령은 텍스트 파일 test.txt를 PDF 디렉토리에 pdf로 인쇄합니다.

UNOCONV 사용

sudo apt-get 설치 unoconv

unoconv를 독립형 모드에서 사용할 수 있습니다. 즉, OpenOffice 리스너가 없으면 자체적으로 시작됩니다.

파일이있는 디렉토리에서 다음을 실행하십시오.

unoconv -f pdf test.txt

이것은 test.txt의 멋진 PDF 파일을 만들 것입니다. 현재 디렉토리에


enscript foo.txt -o bar.pdf꽤 잘 작동합니다. 감사!
Thufir

6

unoconv 라는 지원되는 open / libre office 형식을 모두 변환 할 수있는 명령 줄 프로그램이 있으므로 스크립트를 사용하여 일괄 변환해야하는 경우 편리합니다.

sudo apt-get install unoconv

OP가 요청한 내용이 아닙니다.
enzotib 2012

2
? OP? OP는 누구이며 질문에 답변 할 때 왜 투표하지 않습니까?
RolandiXor

5

paps 보다 나은 대안이다 enscript

paps file.txt | ps2pdf - output.pdf

7
Ask Ubuntu hwc에 오신 것을 환영합니다! 게시물이 질문에 답변하지만 더 많은 정보를 포함하는 것이 좋습니다. 예를 들어 왜 paps더 나은 대안이 있습니까? 만약 paps기본적으로 설치되지 않으며, 설치하는 명령은 무엇인가? 답변 본문 바로 아래 를 클릭하여 언제든지 답변을 편집 할 수 있습니다 edit. 감사!
Alaa Ali

5

Pandoc는 다양한 마크 업 언어 간의 변환에있어 반드시 스위스 나이프 도구가 있어야합니다. 먼저 pandoc 변환기를 설치하려면 :

sudo apt-get install pandoc

pandoc에 가장 일반적으로 사용되는 구문은 다음과 같습니다.

pandoc -f <from format> -t <to format> <source file>

PDF 형식으로 변환하기 전에 먼저 texlive-latex-base 패키지를 설치해야합니다. 그렇지 않으면 다음과 같은 오류가 발생합니다.

pandoc: pdflatex not found. pdflatex is needed for pdf output.

설치하려면 :

sudo apt-get install texlive-latex-base

이제 모든 파일을 pdf로 쉽게 변환 할 수 있습니다.

pandoc -t txt -t pdf source.txt

txt를 텍스트 형식으로 바꿉니다 (odt-html-....)


1
다른 답변과 비교할 때 pandoc plus texlive는 잘못된 출력 (줄 바꿈을 따르지 않음)을 생성하고 부팅하기에 너무 혼란스럽고 혼란 스럽습니다. texlive, texlive-fonts-recommended, ruby ​​등을 포함하여 더 많은 패키지가 필요합니다. 예를 들어 pandoc: Unknown writer: pdftexlive-latex-base를 설치할 때까지 얻을 수 있습니다. 이것은 신뢰할 수 있습니다. github.com/jgm/pandoc/issues/1155를 참조하십시오 . 그런 다음 누락 된 글꼴과 url.sty 등에 대한 오류가 발생했습니다.
nealmcb

2

위에 게시 된 것처럼 enscript텍스트를 포스트 스크립트로 변환하는 일반적인 방법으로, 이후에 PDF로 변환 할 수 있습니다.
오랫동안 사용되어 온 유사한 도구는 a2ps입니다. 실제 페이지에 여러 페이지를 넣는 것을 포함하여 많은 옵션이 있습니다. 로 ap2를 설치하십시오 sudo apt-get install a2ps.

AFAIK, enscript 및 a2ps는 동일한 작업을 수행하지만 인터페이스가 다르고 각각 YMMV가 다릅니다.


a2ps를 사용하는 예가 도움이 될 것입니다. --delegate 옵션은 pdf에 필요한 것 같지만 매뉴얼 페이지는 실제로 도움이되지 않습니다.
nealmcb

2

위에서 언급 한 솔루션으로 독일어 Umlaute (ÄÖÜ)와 관련하여 문제가있었습니다. 또는 paps의 경우 결과 PDF에는 텍스트 레이어가 없습니다.

나에게 가장 좋은 해결책은 wkthmltopdf 를 사용하는 것이 었습니다 . 문서화되지 않은 것 같지만 다음 구문을 사용하여 텍스트 파일을 PDF 파일로 쉽게 변환 할 수 있습니다.

wktmltopdf <textfile> <pdffile>

wkhtmltopdf는 UTF-8 파일을 처리 할 수 ​​있습니다 (첨자와 달리). ÄÖÜß 등과 같은 문제가있는 문자가 모두 올바르게 표시됩니다.


이것은 선택 가능한 pdf를 출력 할 수있는 최신 버전의 paps에서 수정되었습니다. github.com/dov/paps를 참조하십시오 .
Dov Grobgeld

1

당신은 a2x 를 사용할 수 있습니다

a2x-Asciidoc 텍스트 파일을 PDF, XHTML, HTML 도움말, ODF, 맨 페이지 또는 일반 텍스트로 변환

a2x를 설치하려면

sudo apt-get install asciidoc

예를 들면 다음과 같습니다.

 a2x -f pdf testfile.txt

0

u2ps 도 사용할 수 있습니다 .

이것은 ps와 pdf를 모두 생성합니다. UTF-8 텍스트를 허용하며 Pango 마크 업을 통한 구문 강조를 지원합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.