命令行打印文本文件以适合Unix / Mac OS上的一个页面

时间:2014-05-11 20:35:47

标签: macos unix printing cups lpr

我需要打印一堆文本文件。它们都很小,如果适当选择字体大小,它们在一个文本页面上都可以正常使用。我该如何自动完成?

我试过(找到... -exec ...进行完整调用,这只是一个文档)

lp o fit-to-page -o media=A4 text.txt

但这只是在A4的一页上打印text.txt。

lp -o cpi=16 -o lpi=12 -o media=A4 text.txt

完成工作,但我如何"自动检测" cpi和lpi?

1 个答案:

答案 0 :(得分:0)

以下代码段为我完成了这项工作

#!/bin/sh
# 8,2677 x 11,6929 inch = A4
awk ' { if ( length > L ) { L=length} }END{ print L}' "$1" > width
awk ' { print NR } ' "$1" | tail -1 > height
cpiraw=`cat width`
echo "$cpiraw"
lpiraw=`cat height`
echo "$lpiraw"
cpi=$(((cpiraw/8+1)))
echo "$cpi"
lpi=$(((lpiraw/11+1)))
echo "$lpi"
lp -o cpi=$cpi -o lpi=$lpi -o media=A4 "$1"
rm width
rm height

我绝不是一名unix shell专家,如果有人想出一个适当的'我会感激不尽。答案