it-swarm.it

Come convertire TXT in PDF?

Voglio convertire .txt file in .pdf. Sto usando questo:

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

Ma questo produce un "errore" - se c'è una linea molto lunga nel file di testo, non viene racchiuso.

Testo di input

Screenshot of the input file

PDF di output

Screenshot of the output PDF

-

Inoltre, sarebbe fantastico se l'output PDF potesse contenere testo, anziché immagini di testo.

Ho many-many-many TXT. Quindi non voglio farlo a mano. Ho bisogno di una soluzione automatica, come quella che ho menzionato sopra.

45
LanceBaynes

Un metodo consiste nell'utilizzare CUPS e il PDF psuedo-printer per "stampare" il testo in un PDF.

Un altro è usare enscript per codificare in postscript e poi convertire da postscript a PDF usando il file ps2pdf dal pacchetto ghostscript.

22
Keith

pandoc può farlo. È più focalizzato sulla conversione di testo con markup in vari formati, ma non dovrebbe avere problemi con il semplice testo in chiaro.

pandoc input.txt -o output.pdf
39
evilsoup

LibreOffice/OpenOffice e la maggior parte degli altri elaboratori di testi (Abiword) possono farlo abbastanza facilmente.

C'è una piccola utility chiamata unoconv che usa la base di codice di LibreOffice per fare conversioni di formati di file sulla riga di comando. Può leggere e scrivere qualsiasi combinazione di formati che LibreOffice può fare e rende molto semplice fare cose come conversioni da doc a pdf sulla riga di comando. Semplice da txt a pdf sarebbe facile.

18
Caleb

Puoi stampare il testo in un file PostScript usando Vim e poi convertirlo in PDF, purché Vim sia stato compilato con il +postscript funzione.

Per questo usi il :hardcopy > {filename} comando. Ad esempio puoi aprire example.txt ed esegui

:hardcopy > example.ps

che produrrà un file example.ps contenente tutto il testo in example.txt. L'intestazione di ogni pagina nel file PostScript conterrà il nome file originale e il numero di pagina.

Quindi è possibile convertire il file PostScript in un PDF utilizzando il seguente comando

ps2pdf example.ps

che creerà example.pdf.

Puoi fare lo stesso direttamente da un terminale (senza interagire con Vim) usando il seguente comando

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

Questo apre example.txt in Vim ed esegue il comando passato a -c, che in questo caso è un comando hardcopy seguito da un comando quit (q). Quindi esegue ps2pdf per produrre il file finale.

Per ulteriori opzioni, consultare i file della guida con :help :hardcopy.

15
Gonçalo Ribeiro

Basta usare text2pdf , che è gratuito e opensource. Al link puoi scaricare il sorgente o il binario precompilato per windows, solaris, dos.

Sono in grado di usarlo nel sistema operativo AIX senza problemi. Molto semplice da compilare, basta salvare text2pdf.c e Makefile nella stessa directory e digitare make. (qui ho impostato la variabile CC = gcc su AIX, su Linux questo non sarà un problema)

$ ./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
9
ceinmart

Esiste anche un convertitore da UTF-8 a PostScript chiamato paps .

7
tunit

Usa enscript per creare un file .ps, quindi ps2pdf (o ps2pdfwr) per convertirlo in .pdf

Lo script seguente crea un file .pdf con margini sinistro e destro di 10 pt e utilizza un carattere di corriere largo 7,3 punti e alto 10 punti, quindi una stampa a 132 colori si adatta a una pagina 8 1/2 X 11. Usa il codice per impostare la tua pagina, i tuoi caratteri, ecc.

$ enscript -B --margins=10:10: -o outputfile.ps -f [email protected]/10 inputfile
$ ps2pdfwr outputfile.ps newfile.pdf
$ rm outputfile.ps
5
Dan Walker

LibreOffice funziona per questo. Uso:

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

L'output verrà chiamato file.pdf.

3
jbrock

Poiché è incluso per impostazione predefinita in molte distribuzioni, un modo più breve per chiamare libreoffice dal cli:

soffice --convert-to pdf input.txt

Estensioni supportate da soffice, possiamo convertire da/a:

ODF Spreadsheet                   .ods
ODF Spreadsheet Template          .ots
Flat XML ODF Spreadsheet          .fods
Unified Office Format Spreadsheet .uos
Microsoft Excel 2007-2013 XML     .xlsx
Microsoft Excel 2003 XML          .xml
Microsoft Excel 97-2003           .xls
Microsoft Excel 97-2003 Template  .xlt
Data Interchange Format           .dif
dBase                             .dbf
HTML Document (Calc)              .html
SYLK                              .slk
Text CSV                          .csv
Office Open XML Spreadsheet       .xlsx
Microsoft Excel 2007-2016 XML     .xlsm
2
NVRM