<?php
/* データファイルの場所です。必要なように適合させます */
$searchpath = "../data/";
$imagefile = "nesrin.jpg";
$p = new PDFlib();
# load_font()等からの戻り値を調べなければいけないことを表しています
$p->set_parameter("errorpolicy", "return");
$p->set_parameter("SearchPath", $searchpath);
/* "winansi"をテキストフォーマットに使います */
$p->set_parameter("hypertextencoding", "winansi");
if ($p->begin_document("", "") == 0) {
die("Error: " . $p->get_errmsg());
}
$p->set_info("Creator", "PDFlib starter sample");
$p->set_info("Title", "starter_basic");
/* 最初のページの前にイメージをロードし、それを全てのページ
* に使います。
*/
$image = $p->load_image("auto", $imagefile, "");
if ($image == 0) {
die("Error: " . $p->get_errmsg());
}
/* ページ 1 */
$p->begin_page_ext(595, 842, "");
/* PDFlib Liteにより、"S-JIS" の "Ext-RKSJ-H" に変えます */
$font = $p->load_font("HeiseiMin-W3", "Ext-RKSJ-H", "");
if ($font == 0) {
die("Error: " . $p->get_errmsg());
}
$p->setfont($font, 24);
$p->set_text_pos(50, 700);
$p->show("ようこそ!世界へ!");
$p->fit_image($image, 0.0, 0.0, "scale=0.25");
$p->end_page_ext("");
/* ページ 2 */
$p->begin_page_ext(595, 842, "");
/* 赤い長方形 */
$p->setcolor("fill", "rgb", 1.0, 0.0, 0.0, 0.0);
$p->rect(200, 200, 250, 150);
$p->fill();
/* 青い円 */
$p->setcolor("fill", "rgb", 0.0, 0.0, 1.0, 0.0);
$p->arc(400, 600, 100, 0, 360);
$p->fill();
/* 太い灰色の線 */
$p->setcolor("stroke", "gray", 0.5, 0.0, 0.0, 0.0);
$p->setlinewidth(10);
$p->moveto(100, 500);
$p->lineto(300, 700);
$p->stroke();
/* 同じイメージハンドルを使うことは、データがPDFの保存ス
* ペースにただ一度のみコピーされることを表しています。
*/
$p->fit_image($image, 150.0, 25.0, "scale=0.25");
$p->end_page_ext("");
/* ページ 3 */
$p->begin_page_ext(595, 842, "");
/* イメージを(ゆがみ無しで)あらかじめ定められたサイズのボックスに
* 合わせます。
*/
$optlist = "boxsize={400 400} position={center} fitmethod=meet";
$p->fit_image($image, 100, 200, $optlist);
$p->end_page_ext("");
$p->close_image($image);
$p->end_document("");
/* PDFデータをバッファから取り出す */
$buf = $p->get_buffer();
$len = strlen($buf);
/* httpヘッダを生成する */
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=starter_block.pdf");
print $buf;
$p->delete();
?>
|