wkhtmltopdf使用メモ

2299 ワード

why


先日、同僚は製品の需要に出会って、1つの比較的に複雑なwebレポートのページ、pdf機能にダウンロードすることをサポートします.実現案を考えると、以下のようなものがあります.
  • 1、web版のレポートページを関連テンプレートに作成し、ダウンロード時に、このテンプレートに対してデータを埋め込みpdf生成
  • を完了する.
  • 2、関連するwebレポートページを直接pdfに変換し、ダウンロードスキーム1を完了する問題は、レポートのテンプレートが複雑であり、後で変更すると改造コストが増加することである.このように,実装上はシナリオ2に傾いているが,残りは具体的な実装シナリオであり,このときツールwkhtmltopdf
  • が発見された.

    what


    このソフトウェアはLGPLv3オープンソースプロトコルに基づいており、2つの小さなツール:wkhtmltopdfwkhtmltoimageを含み、主な機能はhtmlページをpdfまたは画像に変換し、具体的には公式サイトを参照してください.http://wkhtmltopdf.org/wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine. These run entirely "headless"and do not require a display or display service. There is also a C library, if you're into that kind of thing.

    how


    このソフトウェアはWindows、Linux、Macの3つのプラットフォームのバージョンを提供し、基本的に使用を満たしており、現在の公式最新の安定バージョンは0.12.3です.使用方法も比較的簡単で、wkhtmltopdf http://www.google.com google.pdf、詳細な使用パラメータは以下を参照してください.
    General Options:
          --collate                       Collate when printing multiple copies
          --copies                Number of copies to print into the pdf
                                          file (default 1)
          --extended-help                 Display more extensive help, detailing
                                          less common command switches
      -h, --help                          Display help
      -O, --orientation      Set orientation to Landscape or Portrait
      -s, --page-size               Set paper size to: A4, Letter, etc.
          --password            HTTP Authentication password
      -p, --proxy                  Use a proxy
      -q, --quiet                         Be less verbose
          --username            HTTP Authentication username
      -V, --version                       Output version information an exit
    

    その他


    使用中、Linuxプラットフォームで中国語の文字化けしが発生しました.具体的な原因は、サーバーに関連するフォントがないためです.解決策はwindows c:\Windows\fonts\simsun.ttcを開いてlinuxサーバー/usr/share/fonts/ディレクトリの下にコピーすることです.