it-swarm-id.com

Bagaimana mengonversi TXT ke PDF?

Saya ingin mengonversi .txt file ke .pdf. Saya menggunakan ini:

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

Tapi ini menghasilkan satu "kesalahan" - jika ada baris yang sangat panjang di file teks, itu tidak bisa dibungkus.

Masukkan teks

Screenshot of the input file

Keluarkan PDF

Screenshot of the output PDF

-

Juga, akan lebih bagus jika output PDF dapat berisi teks, bukan gambar teks.

Saya punya banyak-banyak-banyak TXT file. Jadi tidak ingin melakukannya dengan tangan. Saya memerlukan solusi otomatis, seperti yang saya sebutkan di atas.

45
LanceBaynes

Salah satu metode adalah dengan menggunakan CUPS dan PDF psuedo-printer untuk "mencetak" teks ke file PDF.

Lain adalah menggunakan enscript untuk menyandikan ke postscript dan kemudian mengkonversi dari postscript ke PDF menggunakan file ps2pdf dari paket ghostscript.

22
Keith

pandoc dapat melakukan ini. Ini lebih fokus pada konversi teks yang ditandai menjadi berbagai format, tetapi seharusnya tidak ada masalah dengan plaintext sederhana.

pandoc input.txt -o output.pdf
39
evilsoup

LibreOffice/OpenOffice serta sebagian besar pengolah kata lainnya (Abiword) dapat melakukan ini dengan mudah.

Ada sedikit utilitas bernama unoconv yang menggunakan basis kode LibreOffice untuk melakukan konversi format file pada baris perintah. Ia dapat membaca dan menulis kombinasi format apa pun yang dapat dilakukan LibreOffice dan membuatnya sangat mudah untuk melakukan hal-hal seperti konversi doc ke pdf pada baris perintah. Sederhana txt ke pdf akan mudah untuk itu.

18
Caleb

Anda dapat mencetak teks ke file PostScript menggunakan Vim dan kemudian mengonversinya menjadi PDF, selama Vim dikompilasi dengan +postscript fitur.

Untuk ini, Anda menggunakan :hardcopy > {filename} perintah. Misalnya Anda dapat membuka example.txt dan jalankan

:hardcopy > example.ps

yang akan menghasilkan file example.ps berisi semua teks dalam example.txt. Header setiap halaman dalam file PostScript akan berisi nama file asli dan nomor halaman.

Kemudian Anda dapat mengonversi file PostScript menjadi PDF dengan menggunakan perintah berikut

ps2pdf example.ps

yang akan membuat example.pdf.

Anda dapat melakukan hal yang sama langsung dari terminal (tanpa berinteraksi dengan Vim) dengan menggunakan perintah berikut

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

Ini membuka example.txt di Vim dan menjalankan perintah yang diteruskan ke -c opsi, yang dalam hal ini adalah perintah hardcopy diikuti oleh perintah berhenti (q). Kemudian ia menjalankan ps2pdf untuk menghasilkan file terakhir.

Untuk opsi lebih lanjut lihat file bantuan dengan :help :hardcopy.

15
Gonçalo Ribeiro

Cukup gunakan text2pdf , yang gratis dan opensource. Di tautan Anda dapat mengunduh sumber atau biner yang telah dikompilasi sebelumnya untuk windows, solaris, dos.

Saya dapat menggunakannya ke AIX OS tanpa masalah. Sangat mudah untuk dikompilasi, cukup simpan text2pdf.c dan Makefile ke direktori yang sama dan ketik make. (di sini saya mengatur variabel CC = gcc pada AIX, di linux ini tidak akan menjadi masalah)

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

Ada juga konverter UTF-8 ke PostScript yang disebut paps .

7
tunit

Gunakan enkrip untuk membuat file .ps, dan kemudian ps2pdf (atau ps2pdfwr) untuk dikonversi ke .pdf

Script berikut membuat file .pdf dengan margin 10 pt kiri dan kanan, dan menggunakan font kurir yang lebar 7,3 pts dan tinggi 10 pts, sehingga cetakan 132 col cocok untuk halaman 8 1/2 X 11. Gunakan enscript untuk mengatur halaman Anda, font, dll.

$ 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 berfungsi untuk ini. Pemakaian:

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

Outputnya akan disebut file.pdf.

3
jbrock

Karena sudah disertakan secara default di banyak distribusi, cara yang lebih singkat untuk memanggil libreoffice dari cli:

soffice --convert-to pdf input.txt

Ekstensi yang didukung oleh soffice, dapat dikonversi dari/ke:

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