Emogrifierを使用して、CSSv3 がリンクされた HTML をインライン HTML 形式に変換する方法に関する情報を探しています。これまでのところ、CSS を許可していないサイトにメールを送信することに関連するものを見つけ続けています。
問題セットの詳細: リンクされた CSS を含む HTML ドキュメントがあり、適切にフォーマットされており、doc(x) として開く必要があります。Word は、v1 より上の CSS をサポートしていません。v3を使用しています。現時点では、CSS が不足しているため、変換時に書式設定がひどくオフになっています。インラインに変換する複数の HTML ドキュメントと CSS ファイルがあり、手動で変換したくありません。
Emogrifierを使用しようとしましたが、サーバーから常にエラー ページが表示されるようです(using MAMP)
。Emogrify
ページは、部分に到達するまで機能します。引数の有無にかかわらずコンストラクターを試みました。ない場合は、HTML と CSS にセット関数を提供しました。fopen()
また、 と の両方でファイルを渡そうとしましたfile_get_contents()
。
要素とバージョン:
- MAMP バージョン 2
- アパッチ 2.0.64
- PHP 5.4.10
質問 1: Emogrifier は電子メール以外にも使用できますか?
質問 2:私のニーズにより適した別の製品/プログラムはありますか?
質問 3:コードに何か問題がありますか?
<?php
include(emogrifier.php);
$site = file_get_contents('file.html');
$link = file_get_contents('file.css');
$emog = new Emogrifier($site,$link);
/* alternate call
$emog = new Emogrifier;
$emog->setHTML($site);
$emog->setCSS($link);
*/
$result = $emog->emogrify();
print($result);
?>
編集
コンストラクターに 3 種類の変数を渡そうとしました。
- ファイルパス
- ファイルポインタ (fopen())
- 文字列 (file_get_contents())
PHP ページにアクセスしようとすると、ブラウザでサーバー エラーが発生します。
http://localhost/file.php の取得中に Web サイトでエラーが発生しました。メンテナンスのために停止しているか、正しく構成されていない可能性があります。
テスト目的でページが echo ステートメントで「動作」できるようにするコンストラクターと関数呼び出しをコメントアウトしました。ただし、コンストラクターだけでもコメントを外すと、エラーが発生します。
emogrifier.php ファイルを「実行」すると、ページは正常にロードされます (白い画面、印刷なし)。
これが、この問題について私が持っているすべての情報です。
最終編集
これをまとめたかっただけです。
問題セットで機能するemogrifierを取得したことはありません。最終的には、必要な書式を設定するために、VisualBasic を大幅に編集した Word マクロを使用することになりました。マクロ システムは十分に文書化されていないため、これは複雑な解決策でした。また、私は多くのテーブルとセルを変更する必要があったため、セルを検索するとすべてが Excel に表示されたため、Google 検索はほとんど役に立ちませんでした。
...そして、彼らはレポートのフォーマットを別のものに移動し、とにかく私の作品は使用されませんでした! 笑