Style.cssを使用し、色のあるHTMLファイルがあります。
<font style=BACKGROUND-COLOR:red; color=white>FOO</font>
Ubuntu 12.04のこのローカルファイルをPDFに「エクスポート」するにはどうすればよいですか? (外観と色は同じままである必要があります)。例: Ctrl+P -> PDFに印刷しましたが、色が保持されませんでした。 --color
オプションを指定してhtmldoc
を試しましたが、同じ問題です。
コマンドラインからこれを行うのは素晴らしいことです。
LibreOffice WriterでHTMLファイルを開き、メニューのFile
でexport to PDF
を選択します。それでおしまい。
コマンドラインを使用する場合は、 HTMLページをPDFオープンソースツールを使用して変換する-Linux/OS X/Windows をご覧ください。
ソフトウェアは、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としてエクスポートできます。
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;
}
Web2PDFConverterChromiumの拡張子またはChromeは、WebページをPDFに変換します。
または、このサイトのみを使用できます:http://pdfcrowd.com/ローカルファイルの場合:http://pdfcrowd.com/#convert_by_upload
他の人が提案したように WeasyPrint を試しました。多くのページで適切に変換されず、一部のページではエラーで失敗します。
次のFirefoxアドオンが動作します。 Firefox55。Windowsのみと表示されますが、Ubuntuで動作します。
PhantomJS といくつかのコードの使用を試みることができます。たとえば、 rasterize.js を使用します。
phantomjs rasterize.js http://example.com/
または、コメントに示されているように、NodeJS html-pdf
npm package を使用します( GitHub を参照して、_npm install -g html-pdf
を介してインストールします)。使用法:
html-pdf http://example.com/ example.pdf
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");