サンプルライブラリ
<?php
/* $Id: hello.php,v 1.00 2009/07/24 tm Exp $
*
* PDFlibを使用して、PHPでEUC-JPのPDFファイルを生成する方法です。
* このソースコードではEUC-JPのファイルを前提としています。
*
*/
// CMap ファイルの配置ディレクトリを指定
define('PATH_CMaps', 'c:/pdflib/resource/cmap');
$p = PDF_new();
/* 新しくPDFファイルをオープンします */
if (PDF_open_file($p, "") == 0) {
die("Error: " . PDF_get_errmsg($p));
}
pdf_set_parameter($p, "license", "WXXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX");
/* CMap を指定しない場合、日本語の文字列出力時にエラーもしくは文字が空白となります。 */
PDF_set_parameter($p, 'SearchPath', PATH_CMaps);
PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)!");
/* 新規ページを開始する */
PDF_begin_page_ext($p, 595, 842, "");
/* フォントを指定する */
$font = pdf_load_font($p, "HeiseiKakuGo-W5", "EUC-H", "");
$font_blod = pdf_load_font($p, "HeiseiKakuGo-W5", "EUC-H", "fontstyle= bold");
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "おはよう日本!");
/* 線を描く */
pdf_moveto($p, 50, 700); pdf_lineto($p, 450, 700);
pdf_stroke($p);
PDF_end_page_ext($p, ""); /* ページを終了する */
PDF_close($p); /* PDF文書を閉じる */
$buf = PDF_get_buffer($p);
$len = strlen($buf);
// ファイルで出力する
$filename=get_download_name("日本語ファイル.pdf");
header("Content-Disposition: attachment; filename=$filename");
header("Content-type: application/x-download; name=$filename");
header("Content-Type: application/pdf; charset=iso-2022-jp");
print $buf;
PDF_delete($p);
exit();
//// 出力はファイルでは無く、ブラウザに返すようにしています。
//header("Content-type: application/pdf");
//header("Content-Length: $len");
//header("Content-Disposition: inline; filename=hello.pdf");
//print $buf;
//
//PDF_delete($p);
function get_download_name($p_filename) {
// ユーザーエージェントによってファイル名を変換
$t_filename = mb_convert_encoding( $p_filename, 'SJIS-win', 'EUC-JP');
return $t_filename;
}
?>
| 本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。 |
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛
------分隔线----------------------------