<?php

function to_utf8($s) {
  return 
mb_convert_encoding($s"utf-8""euc-jp");
}

$text "PDFlib 7 の新しいテーブル作成機能では、複雑なテーブルを自動的に作成することができます。\nこの機能を利用することによりテーブルのセルの内容を元に自動的にテーブルを調整するため、プログラマは手間の掛かる行や列の設定を手動で行う必要が無くなります。\nまた、テーブルは複数の列やページに分割可能です。\nテーブルのセルには1行/複数行の文字列、画像、PDF のページを入れることができ、また境界線の色、背景色、セルの区切りなど、色々なオプションを設定できます。";

$p PDF_new();

// Acrobat 5 でも読めるようにする場合、1.4 を指定します。
if (PDF_begin_document($p"""compatibility=1.5") == 0) {
    die(
"Error: " PDF_get_errmsg($p));
}

PDF_begin_page_ext($p595842"");

/* UnicodeエンコーディングとしてUTF-8を設定 */
PDF_set_parameter($p"textformat""utf8");

/* (1) シンプルなテキストフロー */
$tf PDF_create_textflow($pto_utf8($text), "fontname=KozGoPro-Medium-Acro fontsize=10 encoding=UniJIS-UCS2-H");
if (
$tf == 0) {
  echo 
PDF_get_errmsg($p);
  exit;
}
PDF_fit_textflow($p$tf50700200600"");
PDF_delete_textflow($p$tf);

/* (2) _boxfullのサンプル */
$tf PDF_create_textflow($pto_utf8($text), "fontname=KozGoPro-Medium-Acro fontsize=10 encoding=UniJIS-UCS2-H");
$y 700;
while (
PDF_fit_textflow($p$tf450$y550$y-40"") == "_boxfull") {
    
$y -= 100;
}
PDF_delete_textflow($p$tf);

/* (3) 様々なオプション(一例) */
$options "leftindent=15 rightindent=10 parindent=10 alignment=justify leading=140% fontname=HeiseiKakuGo-W5 fontsize=10 encoding=UniJIS-UCS2-H textwarning=true";
$tf PDF_create_textflow($pto_utf8($text), $options);
PDF_fit_textflow($p$tf50450350350"");
PDF_delete_textflow($p$tf);

/* (4) インラインマクロのサンプル */
$text "<macro {
H1 {leftindent=15 rightindent=10 alignment=center fontname=HeiseiKakuGo-W5 encoding=UniJIS-UCS2-H fontsize=12}
Body {leftindent=15 rightindent=10 alignment=justify fontname=HeiseiMin-W3 fontsize=8 encoding=UniJIS-UCS2-H}
}>
<&H1>マクロサンプル
<&Body>PDFlib 7 の新しいテーブル作成機能では、複雑なテーブルを自動的に作成することができます。\nこの機能を利用することによりテーブルのセルの内容を元に自動的にテーブルを調整するため、プログラマは手間の掛かる行や列の設定を手動で行う必要が無くなります。\nまた、テーブルは複数の列やページに分割可能です。\nテーブルのセルには1行/複数行の文字列、画像、PDF のページを入れることができ、また境界線の色、背景色、セルの区切りなど、色々なオプションを設定できます。"
;

$options "leftindent=15 rightindent=10 parindent=10 alignment=justify leading=140% fontname=HeiseiKakuGo-W5 fontsize=8 encoding=UniJIS-UCS2-H textwarning=true";

$tf PDF_create_textflow($pto_utf8($text), $options);
PDF_fit_textflow($p$tf5025035050"");
PDF_delete_textflow($p$tf);

PDF_end_page_ext($p"");

PDF_end_document($p"");

$buf PDF_get_buffer($p);
header("Content-Type: application/pdf");
header("Content-Length: " strlen($buf));
header("Content-Disposition: inline; filename=textflow_sample.pdf");
print 
$buf;

PDF_delete($p);
?>