如何将 HTML 文件转换为 PDF(带颜色)

如何将 HTML 文件转换为 PDF(带颜色)

我有一个使用 style.css 且有颜色的 HTML 文件,例如:

<font style="background-color: red; color: white;"> FOO </font>

我如何将 Ubuntu 12.04 上的本地文件“导出”为 PDF?(外观和颜色应保持不变)。我尝试过例如:Ctrl+ P-> 打印为 PDF,但它没有保留颜色。我尝试了htmldoc--color选项...但问题还是一样...

通过命令行来执行此操作会很棒。

答案1

在 LibreOffice Writer 中打开您的 html 文件,然后File在菜单中选择export to PDF。就这样。

如果你更喜欢命令行,请查看使用开源工具将 HTML 页面转换为 PDF - Linux / OS X / Windows

可以使用 安装该软件sudo apt-get install wkhtmltopdf

答案2

Webkit HTML 转 PDF:转PDF

sudo apt-get install wkhtmltopdf

这里nixCraft 教程(2017 年更新)。

最新版本是无头的(不需要 X 服务器)。

另一种可能性幻影是一款神奇的无头网络浏览器,同样基于 webkit html。它可将页面导出为 PDF 等。

答案3

微易打印看起来很有希望。我试过了,wkhtmltopdf虽然它以可接受的方式呈现内容,但它不能正确呈现所有内容,并且它创建的 pdf 需要几秒钟才能打开!

安装

pip install weasyprint

跑步

weasyprint mypage.html out.pdf

另外,如果您想让浏览器视图和 PDF 看起来相同,改变 CSS 可能会有所帮助。

/* For converting to PDF */
body {
  width: 210mm; /* A4 dimension */
}
@page {
  margin:0;
  padding: 0;
}

答案4

您可以尝试使用幻影JS和一些代码,例如使用栅格化.js

phantomjs rasterize.js http://example.com/

或者使用 NodeJShtml-pdfnpm 包(看GitHubnpm install -g html-pdf,按照评论中的建议通过以下方式安装:)。用法:

html-pdf http://example.com/ example.pdf

相关内容