[PHP-users 11343] PDF_add_bookmarkのブックマーク階層について
Yohei Matsushita
php-users@php.gr.jp
Thu, 07 Nov 2002 14:58:41 +0900
PDF_add_bookmarkで
解説は
> int pdf_add_bookmark ( int pdf object, string text [, int parent [, int open]])
> parent以下または parent = 0の場合に、新規にトップレベルのブッ
> クマーク以下にブックマーク階層を追加します。ブックマーク記述子が
> 返されますが、これは、これ以降にブックマーク階層を追加する際に、
> 親として使用することが可能です。
> open = 1の場合、子ブックマークは展開され、open = 0の場合は隠され
> ます。
と書かれているので例えば
// ここから
<?php
$pdf = PDF_new();
PDF_open_file($pdf, "");
PDF_set_info($pdf,"Author","Yamada Taro");
PDF_set_info($pdf,"Title","PDFLib demo");
pdf_begin_page($pdf, 592, 842); // A4サイズ
pdf_add_bookmark($pdf, "Page 1", 0, 0);
PDF_set_value($pdf, "textrendering", 2);
$font = PDF_findfont($pdf, "HeiseiKakuGo-W5", "EUC-H", 0);
PDF_setfont($pdf, $font, 20);
PDF_show_xy($pdf, "日本語", 200, 742);
pdf_add_bookmark($pdf, "abc", 1, 0);
PDF_set_value($pdf, "textrendering", 2);
$font = PDF_findfont($pdf, "Helvetica", "host", 0);
PDF_setfont($pdf, $font, 20);
PDF_show_xy($pdf, "AbcDefG", 200, 400);
PDF_end_page($pdf);
pdf_begin_page($pdf, 592, 842); // A4サイズ
pdf_add_bookmark($pdf, "Page 2", 0, 0);
PDF_set_value($pdf, "textrendering", 2);
$font = PDF_findfont($pdf, "HeiseiKakuGo-W5", "EUC-H", 0);
PDF_setfont($pdf, $font, 20);
PDF_show_xy($pdf, "ああああ", 200, 742);
pdf_add_bookmark($pdf, "123", 1, 0);
PDF_set_value($pdf, "textrendering", 2);
$font = PDF_findfont($pdf, "Helvetica", "host", 0);
PDF_setfont($pdf, $font, 20);
PDF_show_xy($pdf, "1234567890", 200, 400);
PDF_end_page($pdf);
PDF_close($pdf);
$buf = PDF_get_buffer($pdf);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=test.pdf");
print $buf;
PDF_delete($pdf);
?>
// ここまで
という風に書いてみました。
しかしこれでは
しおりは
-...□Page 1
.
....□abc
.
....□123
...□Page 2
となってしまいます。
僕としては
-...□Page 1
.
....□abc
-...□Page 2
.
....□123
こういう風にしたいのですが
色々試してもこうはなりません。
どのようにしたらよいですか?
図が見難くてすいません。
よろしくお願いいたします。
*******************************************
Yohei Matsushita<mattsun_japan@hotmail.com>
http://www.age.jp/~matsu/
*******************************************