Answers:
在LibreOffice Writer中打开html文件,然后File
在菜单下选择export to PDF
。而已。
如果您更喜欢命令行,请查看使用开源工具-Linux / OS X / Windows将HTML页面转换为PDF。
可以使用安装软件sudo apt-get install wkhtmltopdf
。
Webkit HTML转换为PDF:
sudo apt-get install wkhtmltopdf
http://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/
最新版本是无头的(不需要X服务器)。
另一种可能性:phantomjs是一种神奇的无头Web浏览器,也基于webkit html。它可以将页面导出为PDF等。
brew install Caskroom/cask/wkhtmltopdf
。
WeasyPrint看起来很有希望。我试过了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;
}
weasypeasey
但是没有用..也许您可以帮忙?:)首先,我这样做:apt-get install python-dev python-pip python-lxml libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
然后使用pip进行安装,pip install weasypeasy
但收到此错误: Could not find any downloads that satisfy the requirement weasypeasy
weasyprint
。所以pip install weasyprint
weasyprint
效果很好,但比wkhtmltopdf
我记得的慢了15倍,因此它不适合我们为客户生成按需报告。 wkhtmltopdf
即使是复杂的报告,也可以说服您做得很好……付出了相当大的努力!
用于Chromium或Chrome的 Web2PDFConverter扩展程序可将任何网页转换为PDF。
或者,您只能使用此站点:http : //pdfcrowd.com/。对于本地文件:http : //pdfcrowd.com/#convert_by_upload
您可以尝试使用PhantomJS和一些代码,例如使用rasterize.js的示例:
phantomjs rasterize.js http://example.com/
或者按照注释中的建议使用NodeJS html-pdf
npm软件包(请参阅GitHub,通过:安装npm install -g html-pdf
)。用法:
html-pdf http://example.com/ example.pdf
我尝试了WeasyPrint,正如其他人所建议的那样。它在许多页面中转换得不好,在某些页面中它只是失败并显示错误。
以下Firefox插件适用于我。Firefox55。它仅显示Windows,但可以在Ubuntu上运行。
尝试使用Dompdf(在GitHub上检查源代码),它是HTML到PDF的转换器。该库非常易于使用,也非常易于安装。使用composer可以非常快速地进行设置。
要求:PHP 5.0+(建议5.3 +),DOM扩展,GD扩展
示例PHP代码:
<?php
// somewhere early in your project's loading, require the Composer autoloader
// see: http://getcomposer.org/doc/00-intro.md
require 'vendor/autoload.php';
// disable DOMPDF's internal autoloader if you are using Composer
define('DOMPDF_ENABLE_AUTOLOAD', false);
// include DOMPDF's default configuration
require_once 'vendor/dompdf/dompdf/dompdf_config.inc.php';
$htmlString = '';
ob_start();
include('html_to_dpf.html');
$htmlString .= ob_get_clean();
$dompdf = new DOMPDF();
$dompdf->load_html($htmlString);
$dompdf->render();
$dompdf->stream("sample.pdf");