テキストが希望どおりに正確に配置された文字列があります。それは一種のアスキーアートプロジェクトです。このテキストをPDFに変換して、地元のプリントショップでテキスト付きのポスターを印刷できるようにします。
フォントは固定幅である必要があり、タブなどはありません。行は「\n」文字で終わります。いくつかのスペース文字があります。
画像は幅数百文字、高さ数百文字です。したがって、通常のページのスペースには収まりません。
Pythonでこれを行うにはどうすればよいですか?
ASCIIアートから印刷可能なファイルを作成できる方法は他にもいくつかあります。
方法を示すために...
...まず、という名前のテキストファイルを作成しmy.mvg
、次のコンテンツを入力します。
text 8,8 "
_ ____ ____ ___ ___ _ _
/ \ / ___| / ___|_ _|_ _| / \ _ __| |_
/ _ \ \___ \| | | | | |_____ / _ \ | '__| __|
/ ___ \ ___) | |___ | | | |_____/ ___ \| | | |_
/_/ \_\____/ \____|___|___| /_/ \_\_| \__|
"
...次に、次のいずれかのコマンドを実行します。
convert \
-font "Courier" \
-size 800x200 xc:none \
-box yellow \
-pointsize 12 \
-gravity center \
-draw @my.mvg \
my-ascii-art.pdf
PDFを出力ファイルとして取得するには、または
convert \
-font "Liberation-Mono-Regular" \
-size 800x200 xc:none \
-box orange \
-pointsize 14 \
-gravity center \
-draw @my.mvg \
my-ascii-art.png
PNG出力用。もちろん、2つのコマンドのそれぞれについて、心ゆくまで遊んでください-size
...-box
-pointsize
\n
ただし、行末から文字を削除する必要があるかもしれません...
ImageMagickメソッドは、出力がPDF(およびおそらくかなり大きなファイル)であっても、ラスターグラフィックスを作成することに注意してください。**
a2ps
+ Ghostscript:この方法を示すために...
...まず、次のhenryb.txt
コンテンツで名前が付けられたテキストファイルを作成します。
_
|_| _ ._ ._ |_)
| |(/_| || \/ |_)o
/
...次に、次のコマンドを実行してa2ps
、Ghostscriptと協力してPDFファイルを作成します。
a2ps \
--output=- \
--columns=1 \
--borders=0 \
--no-header \
--landscape \
--medium=a5 \
henryb.txt \
| \
gs \
-o henryb.pdf \
-sDEVICE=pdfwrite \
-g1000x2500 \
-dAutoRotatePages=/None \
-
または、PNG出力の場合:
a2ps \
--output=- \
--columns=1 \
--borders=0 \
--no-header \
--landscape \
--medium=a5 \
henryb.txt \
| \
gs \
-o henryb.png \
-sDEVICE=pngalpha \
-g100x250 \
-
(-gNNNxMMM
出力寸法をピクセル単位で示します。GhostscriptはデフォルトでPDF距離の計算に1インチあたり720ピクセルを使用しますが、解像度設定でオーバーライドされない限り、ラスター画像の計算には72 ppiを使用し-rNNN
ます...)
enscript
+ Ghostscript:この方法を示すために...
...まず、次のhenryb-2.txt
コンテンツで名前が付けられたテキストファイルを作成します。
m m mmmmm
# # mmm m mm m mm m m # #
#mmmm# #" # #" # #" " "m m" #mmmm"
# # #"""" # # # #m# # #
# # "#mm" # # # "# #mmmm" #
m"
""
...次に、次のコマンドを実行してenscript
、Ghostscriptと協力してPDFファイルを作成します。
enscript \
--output=- \
--columns=1 \
--no-header \
--landscape \
--media=A5 \
henryb-2.txt \
| \
gs \
-o henryb-2.pdf \
-sDEVICE=pdfwrite \
-g1500x4000 \
-
または、PNG出力の場合:
enscript \
--output=- \
--columns=1 \
--no-header \
--landscape \
--media=A5 \
henryb-2.txt \
| \
gs \
-o henryb-2.png \
-sDEVICE=pngalpha \
-g150x400 \
-
レポートラボ をお試しください