TXT를 PDF로 변환하는 방법? “오류”가 발생합니다.

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

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

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

입력 텍스트

입력 파일의 스크린 샷

PDF 출력

출력 PDF 스크린 샷

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

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



답변

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

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


답변

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

pandoc input.txt -o output.pdf


답변

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

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


답변

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.


답변

무료이며 오픈 소스 인 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


답변

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


답변

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