web-dev-qa-db-ja.com

TXTをPDFに変換する方法は?

変換したい.txtファイルから.pdf。私はこれを使っています:

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

しかし、これは1つの「エラー」を生成します。テキストファイルに非常に長い行がある場合、折り返されません。

入力テキスト

Screenshot of the input file

PDFを出力

Screenshot of the output PDF

-

また、出力のPDFにテキストの画像の代わりにテキストを含めることができれば素晴らしいでしょう。

私は多対多TXTファイルを持っています。手動で実行したくないので、上記のような自動ソリューションが必要です。

45
LanceBaynes

1つの方法は、CUPSとPDF psuedo-printerを使用して、テキストをPDFファイルに「印刷」することです。

もう1つは、 enscript を使用してPostScriptにエンコードし、PostScriptからPDFをghostscriptパッケージのps2pdfファイルを使用して変換することです。

22
Keith

pandoc はこれを行うことができます。マークアップされたテキストをさまざまな形式に変換することに重点が置かれていますが、単純な平文では問題ありません。

pandoc input.txt -o output.pdf
39
evilsoup

LibreOffice/OpenOfficeと他のほとんどのワードプロセッサ(Abiword)はこれを非常に簡単に行うことができます。

コマンドラインでファイル形式の変換を行うためにLibreOfficeコードベースを使用するunoconvという小さなユーティリティがあります。 LibreOfficeで可能な形式の任意の組み合わせを読み書きでき、コマンドラインでdocからpdfへの変換などを非常に簡単に実行できます。単純なtxtからpdfは簡単です。

18
Caleb

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

これにより、Vimでexample.txtが開き、-cオプションに渡されたコマンドが実行されます。この場合、hardcopyコマンドの後にquit(q)コマンドが続きます。次に、ps2pdfを実行して、最終的なファイルを生成します。

その他のオプションについては、:help :hardcopyを含むヘルプファイルを参照してください。

15

text2pdf を使用するだけです。これは無料でオープンソースです。リンクから、ソース、またはWindows、solaris、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
9
ceinmart

paps というUTF-8からPostScriptへのコンバーターもあります。

7
tunit

Enscriptを使用して.psファイルを作成し、次にps2pdf(またはps2pdfwr)を使用して.pdfに変換します

次のスクリプトは、左右に10 ptのマージンを持つ.pdfファイルを作成し、幅が7.3 pts、高さが10 ptsの宅配便フォントを使用するため、132 colの印刷出力は8 1/2 X 11ページに収まります。 enscriptを使用して、ページ、フォントなどを設定します。

$ 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はこれに対応しています。使用法:

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

出力はfile.pdfと呼ばれます。

3
jbrock

多くのディストリビューションにはデフォルトで含まれているため、cliからlibreofficeを呼び出すためのより短い方法:

soffice --convert-to pdf input.txt

sofficeでサポートされる拡張機能。変換元:

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