web-dev-qa-db-ja.com

HTMLファイルをPDF(色付き)に変換する方法

Style.cssを使用し、色のあるHTMLファイルがあります。

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

Ubuntu 12.04のこのローカルファイルをPDFに「エクスポート」するにはどうすればよいですか? (外観と色は同じままである必要があります)。例: Ctrl+P -> PDFに印刷しましたが、色が保持されませんでした。 --colorオプションを指定してhtmldocを試しましたが、同じ問題です。

コマンドラインからこれを行うのは素晴らしいことです。

27
gasko peter

LibreOffice WriterでHTMLファイルを開き、メニューのFileexport to PDFを選択します。それでおしまい。

コマンドラインを使用する場合は、 HTMLページをPDFオープンソースツールを使用して変換する-Linux/OS X/Windows をご覧ください。

ソフトウェアは、Sudo apt-get install wkhtmltopdfを使用してインストールできます。

35
user25656

Webkit HTMLからPDF:

Sudo apt-get install wkhtmltopdf

http://wkhtmltopdf.org/

http://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/

最新バージョンはヘッドレスです(Xサーバーは不要です)。

別の可能性:phantomjsは魔法のヘッドレスWebブラウザーであり、これもwebkit htmlに基づいています。ページをPDFとしてエクスポートできます。

http://phantomjs.org

16
Sam Watkins

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;
}
10
Pithikos

Web2PDFConverterChromiumの拡張子またはChromeは、WebページをPDFに変換します。

または、このサイトのみを使用できます:http://pdfcrowd.com/ローカルファイルの場合:http://pdfcrowd.com/#convert_by_upload

3
Radu Rădeanu

他の人が提案したように WeasyPrint を試しました。多くのページで適切に変換されず、一部のページではエラーで失敗します。

次のFirefoxアドオンが動作します。 Firefox55。Windowsのみと表示されますが、Ubuntuで動作します。

FireShot

2
rapt

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
2
kenorb

DompdfGitHubのソースコード を確認)を試してください。これは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");
1
Jeff