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

分享于 

4分钟阅读

ubuntu

 

问题

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


<font style=BACKGROUND-COLOR:red; color=white>FOO</font>



如何将本地文件"导出"到PDF?外观和颜色应该保持不变),我尝试了Ctrl+P =>打印到PDF,但是它没有保留颜色,我尝试使用htmldoc--color选项,但是问题是一样的。


答案1

在LibreOffice Writer中打开html文件,然后在菜单的File下选择export to PDF,完成。

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


答案2

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;


}




答案3

Web2PDF转换器扩展为Chromium或Chrome将网页转换为PDF。

或者,你只能使用此站点:http://pdfcrowd.com/,对于本地文件:http://pdfcrowd.com/#convert_by_upload


答案4

你可以尝试使用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




答案5

我已经尝试过其他人建议的WeasyPrint。它在许多页面中的转换效果不佳,并且在某些页面中仅会因错误而失败。

以下Firefox插件适合我,

FireShot


答案6

尝试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");





文件  COL  color  PDF  颜色  
相关文章