在 OS X 上将 URL 转换为 PDF

在 OS X 上将 URL 转换为 PDF

我正在尝试创建一个名为 url2pdf 的 bash 函数:

wget -O "$1" | /System/Library/Printers/Libraries/convert | open -a Preview

但是,每当我尝试执行此操作时,我都会得到:

HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: “STDOUT”

[ <=>                                                                          ] 0 --.-K/s   in 0s      


Cannot write to “-” (Broken pipe).

所以我猜我的管道重定向有问题。有什么建议吗?

答案1

convert程序似乎不喜欢来自管道的 STDIN 流:

ian-cs-macbook-pro:temp ianc$ echo "Hello world" | /System/Library/Printers/Libraries/convert
Usage: convert [ options ]

Options:
...snipped...

尝试使用 TMPDIR:

function url2pdf {
    HTML=$TMPDIR`basename $1`'.html'
    PDF=`basename $1`'.pdf'
    wget -O $HTML $1
    /System/Library/Printers/Libraries/convert -f $HTML -o $PDF
    rm -f $HTML
    open -a Preview $PDF
}

这很粗糙,但确实有效。您可以根据自己的喜好进行调整,以决定是否将 PDF 保存在磁盘上。

相关内容