TXT를 PDF로 변환하는 방법?


45

.txt파일 을로 변환하고 싶습니다 .pdf. 나는 이것을 사용하고있다 :

ls | while read ONELINE; do convert -density 400 "$ONELINE" "$(echo "$ONELINE" | sed 's/.txt/.pdf/g')"; done

그러나 이로 인해 하나의 "오류"가 발생합니다. 텍스트 파일에 매우 긴 줄이 있으면 줄 바꿈되지 않습니다.

입력 텍스트

입력 파일의 스크린 샷

PDF 출력

출력 PDF 스크린 샷

-

또한 출력 PDF에 텍스트 이미지 대신 텍스트가 포함될 수 있으면 좋을 것입니다.

많은 TXT 파일이 있습니다. 따라서 손으로하고 싶지 않습니다. 위에서 언급 한 것과 같은 자동 솔루션이 필요합니다.


1
for ONELINE in *대신 사용해야 합니다 ls | while read ONELINE. 이것을 읽으십시오 .

대답 할 충분한 담당자가 없지만 KDE kubuntu의 Kate 편집기를 파일 이름을 선택하고 .pdf를 생성하는 PDF "프린터"로 인쇄 할 수 있다고 덧붙이고 싶습니다.
mathreadler

답변:


21

한 가지 방법은 CUPS와 PDF 의사 프린터를 사용하여 텍스트를 PDF 파일로 "인쇄"하는 것입니다.

또 다른 방법은 enscript 를 사용하여 포스트 스크립트로 인코딩 한 다음 고스트 스크립트 패키지의 ps2pdf 파일을 사용하여 포스트 스크립트에서 PDF로 변환하는 것입니다.



3
누구든지 enscript에 UTF-8을 지원합니까?
LanceBaynes

2
@LanceBaynes 디유 , 또는 그놈 u2ps , 또는 u2ps .
Gilles 'SO- 악한 중지'

34

pandoc이 할 수 있습니다. 마크 업 된 텍스트를 다양한 형식으로 변환하는 데 더 중점을 두지 만 간단한 일반 텍스트에는 아무런 문제가 없습니다.

pandoc input.txt -o output.pdf

3
멋져 보이지만, 대량의 haskell 의존성 pandoc은 나를 무서워하고 싶어합니다 : /
lkraav

1
@Ikraav 그렇습니다.이 목적을 위해 과도하게 사용되지만 마크 다운이나 HTML (또는 다른 마크 업 중 하나를 입력으로 허용 할 수있는 경우) pandoc이 갈 길입니다. 내부적으로 pandoc은 LaTeX를 사용하여 PDF로 변환하기 때문에 실제로는 훨씬 더 많은 종속성이 필요합니다. 따라서 해당 항목도 설치해야하지만 품질은 매우 우수합니다 (마크 다운 된 텍스트를 주로 PDF 및 EPUB로 변환하는 데 사용합니다) ).
evilsoup

pandoc (1.16.0.2)은 줄 바꿈을 탭으로 바꿉니다.
Sparhawk

17

LibreOffice / OpenOffice와 다른 대부분의 워드 프로세서 (Abiword)는이 작업을 매우 쉽게 수행 할 수 있습니다.

unoconvLibreOffice 코드베이스를 사용하여 명령 줄에서 파일 형식 변환을 수행 하는 작은 유틸리티 가 있습니다. LibreOffice에서 사용할 수있는 모든 형식의 조합을 읽고 쓸 수 있으며 명령 줄 doc에서 pdf변환 과 같은 작업을 매우 쉽게 수행 할 수 있습니다 . 간단 txt하기 pdf쉽습니다.


흥미 롭군 에 대해 알고하지 않았다 unoconv심지어 OO이 API를 몰랐어요.
Faheem Mitha

높은 품질의 결과를 생성하지만 나에게 (버전 0.5-1 (Debian Wheezy)을 사용하고 있습니다) 먼저 unoconv --listener &명령을 실행해야합니다 .
파는 사람

12

Vim이 +postscript기능 으로 컴파일 된 경우 Vim을 사용하여 텍스트를 PostScript 파일로 인쇄 한 다음 PDF로 변환 할 수 있습니다.

이를 위해 :hardcopy > {filename}명령 을 사용합니다 . 예를 들어 열고 example.txt실행할 수 있습니다

:hardcopy > example.ps

example.ps모든 텍스트가 포함 된 파일이 생성 됩니다 example.txt. PostScript 파일에서 각 페이지의 헤더에는 원본 파일 이름과 페이지 번호가 포함됩니다.

그런 다음 다음 명령을 사용하여 PostScript 파일을 PDF로 변환 할 수 있습니다

ps2pdf example.ps

생성 example.pdf됩니다.

다음 명령을 사용하여 터미널에서 Vim과 상호 작용하지 않고 직접 동일한 작업을 수행 할 수 있습니다.

vim example.txt -c "hardcopy > example.ps | q"; ps2pdf example.ps

이것은 example.txtVim에서 열리고 -c옵션에 전달 된 명령을 실행합니다 .이 경우 hardcopy명령 뒤에 quit ( q) 명령이옵니다. 그런 다음 ps2pdf최종 파일을 생성하기 위해 실행 됩니다.

더 많은 옵션은로 된 도움말 파일을 참조하십시오 :help :hardcopy.


:hardcopy.pdf 또는 .ps 확장자를 추가하더라도 PostScript 파일을 생성합니다. 내가 그랬어 :hardcpy > example.pdf과 함께 less example.pdf쉘에서 나는 파일 헤더는 것을 볼 수 있었다 %!PS-Adobe-3.0.
taro

@taro, 맞습니다. 내가 이것을 썼을 때 나는 그것을 눈치 채지 못했습니다. 내 답변을 업데이트했습니다. 최종 명령은 향상 될 수 있지만 지금은 쓸 수 없습니다. 나중에 할 수도 있습니다.
Gonçalo Ribeiro

10

무료이며 오픈 소스 인 text2pdf를 사용하십시오 . 링크에서 소스, 윈도우, 솔라리스, dos를위한 사전 컴파일 된 바이너리를 다운로드 할 수 있습니다.

문제없이 AIX OS에서 사용할 수 있습니다. 매우 간단한 컴파일, text2pdf.c와 Makefile을 같은 디렉토리에 저장하십시오 make. (여기서는 AIX에서 CC = gcc 변수를 설정했지만 Linux에서는 이것이 문제가되지 않습니다)

$ ./text2pdf  -h

text2pdf [options] [filename]

  text2pdf makes a 7-bit clean PDF file (version 1.1) from any input file.
  It reads from standard input or a named file, and writes the PDF file
  to standard output.

  There are various options as follows:

  -h            show this message
  -f<font>      use PostScript <font> (must be in standard 14, default: Courier)
  -I            use ISOLatin1Encoding
  -s<size>      use font at given pointsize (default 10)
  -v<dist>      use given line spacing (default 12 points)
  -l<lines>     lines per page (default 60, determined automatically
                if unspecified)
  -c<chars>     maximum characters per line (default 80)
  -t<spaces>    spaces per tab character (default 8)
  -F            ignore formfeed characters (^L)
  -A4           use A4 paper (default Letter)
  -A3           use A3 paper (default Letter)
  -x<width>     independent paper width in points
  -y<height>    independent paper height in points
  -2            format in 2 columns
  -L            landscape mode

  Note that where one variable is implied by two options, the second option
  takes precedence for that variable. (e.g. -A4 -y500)
  In landscape mode, page width and height are simply swapped over before
  formatting, no matter how or when they were defined.

text2pdf v1.1 (c) Phil Smith, 1996
$ ./text2pdf  -f"Courier" -s6 -c216 -v6 -L -A4 ./rep3.txt >rep3.pdf

3
utf8 가능 포크가 있습니까?
Wolfgang Fahl 2018 년

7

UTF-8 to PostScript 변환기도 paps있습니다.


3
트루 타입 글꼴과 함께 작동하지만 글꼴을 기본적으로 사용하는 대신 비트 맵이있는 문서를 생성한다는 점에 유의해야합니다. (Postscript 때문인 것 같아요?)
njsg

Windoze의 Cygwin32에서 컴파일 할 수 없습니다 ...
texnezio

5

enscript를 사용하여 .ps 파일을 만든 다음 ps2pdf (또는 ps2pdfwr)를 사용하여 .pdf로 변환

다음 스크립트는 왼쪽과 오른쪽 여백이 10pt 인 .pdf 파일을 만들고 너비가 7.3pt이고 높이가 10pt 인 택배 글꼴을 사용하므로 132 col 출력물이 8 1/2 X 11 페이지에 맞습니다. enscript를 사용하여 페이지, 글꼴 등을 설정하십시오.

$ enscript -B --margins=10:10: -o outputfile.ps -f Courier@7.3/10 inputfile
$ ps2pdfwr outputfile.ps newfile.pdf
$ rm outputfile.ps

5
주목할 사항 : enscript는 utf-8을 지원하지 않습니다.
maxschlepzig

2

LibreOffice가이를 위해 작동합니다. 용법:

libreoffice --convert-to "pdf" file.txt

출력이 호출 file.pdf됩니다.


결과 PDF에서 글꼴 크기를 변경하는 방법이 있습니까?
평균

@Evg LibreOffice를 사용하는이 방법으로 그렇게하는 방법을 모르겠습니다.
jbrock
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.