mac html pdf,使用LibreOffice在Mac终端中将HTML转换为PDF命令?

我试图通过使用Mac终端将HTML文件转换为PDF。

好的,这是一种在Mac命令行上将(X)HTML转换为PDF的替代方法。它根本不使用LibreOffice,并且可以在所有Mac上使用。

此方法(ab)使用来自Mac打印子系统的过滤器,称为xhtmltopdf。该过滤器通常不是为最终用户使用,而只能由CUPS打印系统使用。

但是,如果你知道这件事,知道在哪里可以找到它,并知道如何运行它,没有与这样做没有问题:

知道的第一件事是,它是不以任何桌面用户的$PATH。它在/usr/libexec/cups/filter/xhtmltopdf。

要知道的第二件事是它需要一个特定的语法和参数的顺序来运行,否则它不会。根本不需要做任何的参数调用它(或用错误数量的参数),它会发出小使用提示: $ /usr/libexec/cups/filter/xhtmltopdf

Usage: xhtmltopdf job-id user title copies options [file]

大多数参数名称的显示,该工具显然与印刷有关。该命令总共需要至少5个或可选的第6个参数。如果只给出5个参数,则从读取其输入,否则从第6个参数读取文件名。它总是将其输出发送到。

我们感兴趣的唯一CLI参数是编号5(“选项”)和(可选)编号6(输入文件名)。

当我们在命令行上运行它时,我们必须首先提供5个虚拟参数或空参数,然后才能放入输入文件的名称。我们还必须将输出重定向到PDF文件。

那么,让我们试试吧:

/usr/libexec/cups/filter/xhtmltopdf "" "" "" "" "" my.html > my.pdf

,或者(这是更快的输入,更容易检查的完整性,用5个无效参数而不是5级空的):

/usr/libexec/cups/filter/xhtmltopdf 1 2 3 4 5 my.html > my.pdf

虽然我们在这,但我们可以尝试在输出上应用一些其他CUPS打印子系统过滤器:/usr/libexec/cups/filter/cgpdftopdf看起来像一个可能很有趣的。这个额外的过滤器需要与所有CUPS过滤器相同的参数编号和顺序。

所以这应该工作:

/usr/libexec/cups/filter/xhtmltopdf 1 2 3 4 5 my.html \

| /usr/libexec/cups/filter/cgpdftopdf 1 2 3 4 "" \

> my.pdf

然而,管道的xhtmltopdf输出到cgpdftopdf如果我们尝试运用一些“打印选项”仅仅是有趣的。也就是说,我们需要在参数号中提出一些设置。 5实现的东西。

-o number-up=4

-o page-border=double-thick

-o number-up-layout=tblr

做的样子,他们可以同时做一个PDF到PDF转换应用。让我们试试:

/usr/libexec/cups/filter/xhtmltopdfcc 1 2 3 4 5 my.html \

| /usr/libexec/cups/filter/cgpdftopdf 1 2 3 4 5 \

"number-up=4 page-border=double-thick number-up-layout=tblr" \

> my.pdf

下面是我用这种方法实现的结果的两个屏幕截图。两者都用作输入文件两个相同的HTML文件,除了一行:它是引用CSS文件以用于呈现HTML的行。

正如你所看到的,xhtmltopdf滤波器能够(至少部分地)考虑到CSS设置时,其输入转换为PDF:

mvJCY.png

IfOA8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值