HTMLをPDFに変換

概要

この記事では、PHPを使用してHTMLをPDFに変換する方法を説明します。コードは非常にシンプルで、HTMLをDocumentクラスにロードして出力PDFとして保存するだけです。JavaでMHTMLをPDFに変換するのも同様です。以下のトピックをカバーします。

Java HTMLからPDFへの変換ライブラリ

Aspose.PDF for PHP via Java は、既存のHTMLドキュメントをシームレスにPDFに変換できるPDF操作APIです。HTMLからPDFへの変換プロセスは柔軟にカスタマイズできます。

HTMLをPDFに変換

次のJavaコードサンプルは、HTMLドキュメントをPDFに変換する方法を示しています。

  1. HtmlLoadOptionsクラスのインスタンスを作成します。

  2. Documentオブジェクトを初期化します。

  3. Document.save(String)メソッドを呼び出して、出力PDFドキュメントを保存します。

    // HTMLファイルの読み込みオプションを指定するためのHtmlLoadOptionsのインスタンスを作成します
    $loadOption = new HtmlLoadOptions();

    // 新しいDocumentオブジェクトを作成し、HTMLファイルを読み込みます
    $document = new Document($inputFile, $loadOption);

    // ドキュメントをPDFファイルとして保存します
    $document->save($outputFile);

HTMLからPDFへの高度な変換

HTML変換エンジンには、変換プロセスを制御するためのいくつかのオプションがあります。

メディアクエリサポート

  1. HTML LoadOptionsを作成します。

  2. 印刷またはスクリーンモードを設定します。

  3. Documentオブジェクトを初期化する。

  4. 出力PDFドキュメントを保存する。

メディアクエリは、異なるデバイスに合わせたスタイルシートを提供するための一般的な手法です。デバイスタイプは、HtmlMediaTypeクラスを使用して設定できます。


    // HTMLファイルのロードオプションを指定するためにHtmlLoadOptionsのインスタンスを作成
    $htmlMediaType = new HtmlMediaType();

    // プリントモードまたはスクリーンモードを設定
    $loadOption->setHtmlMediaType($htmlMediaType->Print);

    // 新しいDocumentオブジェクトを作成し、HTMLファイルをロード
    $document = new Document($inputFile, $loadOption);

    // ドキュメントをPDFファイルとして保存
    $document->save($outputFile);

フォント埋め込みの有効化(無効化)

  1. 新しいHtmlLoadOptionsを追加する。
  2. フォント埋め込みを無効にする。
  3. 新しいドキュメントを保存する。

HTMLページはしばしばフォントを使用します(例: ローカルフォルダ、Google Fontsなどからフォントを取得します。また、setEmbedFontsプロパティを使用して、ドキュメント内のフォントの埋め込みを制御することもできます。


    // HTMLファイルの読み込みオプションを指定するためのHtmlLoadOptionsのインスタンスを作成します
    $loadOption = new HtmlLoadOptions();

    // フォントの埋め込みを無効にします
    $loadOption->setEmbedFonts(true);

    // 新しいDocumentオブジェクトを作成し、HTMLファイルを読み込みます
    $document = new Document($inputFile, $loadOption);

    // ドキュメントをPDFファイルとして保存します
    $document->save($outputFile);

MHTMLをPDFに変換

MHTML、MIME HTMLの略で、通常は外部リンクで表されるリソース(画像、Flashアニメーション、Javaアプレット、音声ファイルなど)をHTMLコードと共に1つのファイルに結合するために使用されるWebページアーカイブ形式です。 The content of an MHTML file is encoded as if it were an HTML email message, using the MIME type multipart/related.

MHTMLファイルの内容は、MIMEタイプmultipart/relatedを使用してHTMLメールメッセージとしてエンコードされます。

Next code snippet show how to covert MHTML files to PDF format with Java:

次のコードスニペットは、MHTMLファイルをJavaでPDF形式に変換する方法を示しています。


    // MhtLoadOptionsクラスの新しいインスタンスを作成します。
    $loadOption = new MhtLoadOptions();

    // Documentクラスの新しいインスタンスを作成し、MHTMLファイルをロードします。
    $document = new Document($inputFile, $loadOption);

    // ドキュメントをPDFファイルとして保存します。
    $document->save($outputFile);