EXTJS4 に埋め込まれた TinyMCE エディターを使用して HTML 出力を生成し、それから PDF を生成するという狡猾な計画があり、ほとんどすべてが機能しています。私が問題を抱えていることの1つはフォントです。TinyMCE では問題なく処理できますが、wkhtmltopdf ではまったく動作しません。任意のフォント (太字のテキスト ボタンを含む) を使用すると、ajax リクエストが中止され、ブラウザーがクラッシュします。さらに先に進むには、ブラウザを再起動する必要があります。デフォルトのフォントを使用するだけで、pdf が正しく生成されます。
ユーザースタイルシートを考えられるすべての場所に配置して、それを取得しようとしましたが、役に立ちませんでした。
私が間違っていることについての助けをいただければ幸いです。xamppを搭載したWindows 7でwkhtmltopdf 0.11.0_rc1を使用しています。
POST VARS Sent to PHP via AJAX
cgroup 54
htmlx <p><span style="font-family: trebuchet ms,geneva;">this is a test in TREBUCHET MS</span></p><p>THIS IS NORMAL TEXT ag</p>
messagetype post
send_date 18 Jun 2012
send_time 3:25 PM
subject
task test
PHP Script
$outfile = './tmp/'.$timestamp.'.pdf';
$wkhtmloptions = "--header-spacing 5 --footer-spacing 2 --margin-top 15 --user-style-sheet file:///".$_SERVER['DOCUMENT_ROOT']."/arx/wkhtmltopdf.css";
$pdf = new wkhtmltopdf(array(
'title' => 'Title',
'html' => $htmlx,
'tmppath' => 'tmp',
'binpath' => $_SERVER['DOCUMENT_ROOT'].'/arx/bin/wkhtmltopdf/',
'options' => $wkhtmloptions,
));
$pdf->output('F', $outfile); //save the file to $outfile
$msg = "Test PDF generated";
$success =true;
echo "{success: $success, msg: '$msg', title: 'Test Message', type: '$type', data: '$outfile'}";
wkhtmltopdf.css located in htdocs/arx/
@font-face {
font-family: 'trebuchet MS';
src: url('resources/fonts/trebuc.ttf') format('truetype');
}
@font-face {
font-family: 'trebuchet MS';
src: url('./resources/fonts/trebucit.ttf') format('truetype');
font-style: italic;
}
@font-face {
font-family: 'trebuchet MS';
src: url('./resources/fonts/trebucbd.ttf') format('truetype');
font-weight: bold;
}
@font-face {
font-family: 'trebuchet MS';
src: url('./resources/fonts/trebucbi.ttf') format('truetype');
font-weight: bold;
font-style: italic;
}