PDF_begin_page
(PHP 4, PECL pdflib >= 1.0.0)
PDF_begin_page — Start new page [deprecated]
Description
bool PDF_begin_page
( resource
$pdfdoc
, float $width
, float $height
)
Adds a new page to the document. Returns TRUE
on success or FALSE
on failure.
This function is deprecated since PDFlib version 6, use PDF_begin_page_ext() instead.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Генерация нетекстовых MIME форматов
- PDF_activate_item
- PDF_add_annotation
- PDF_add_bookmark
- PDF_add_launchlink
- PDF_add_locallink
- PDF_add_nameddest
- PDF_add_note
- PDF_add_outline
- PDF_add_pdflink
- PDF_add_table_cell
- PDF_add_textflow
- PDF_add_thumbnail
- PDF_add_weblink
- PDF_arc
- PDF_arcn
- PDF_attach_file
- PDF_begin_document
- PDF_begin_font
- PDF_begin_glyph
- PDF_begin_item
- PDF_begin_layer
- PDF_begin_page_ext
- PDF_begin_page
- PDF_begin_pattern
- PDF_begin_template_ext
- PDF_begin_template
- PDF_circle
- PDF_clip
- PDF_close_image
- PDF_close_pdi_page
- PDF_close_pdi
- PDF_close
- PDF_closepath_fill_stroke
- PDF_closepath_stroke
- PDF_closepath
- PDF_concat
- PDF_continue_text
- PDF_create_3dview
- PDF_create_action
- PDF_create_annotation
- PDF_create_bookmark
- PDF_create_field
- PDF_create_fieldgroup
- PDF_create_gstate
- PDF_create_pvf
- PDF_create_textflow
- PDF_curveto
- PDF_define_layer
- PDF_delete_pvf
- PDF_delete_table
- PDF_delete_textflow
- PDF_delete
- PDF_encoding_set_char
- PDF_end_document
- PDF_end_font
- PDF_end_glyph
- PDF_end_item
- PDF_end_layer
- PDF_end_page_ext
- PDF_end_page
- PDF_end_pattern
- PDF_end_template
- PDF_endpath
- PDF_fill_imageblock
- PDF_fill_pdfblock
- PDF_fill_stroke
- PDF_fill_textblock
- PDF_fill
- PDF_findfont
- PDF_fit_image
- PDF_fit_pdi_page
- PDF_fit_table
- PDF_fit_textflow
- PDF_fit_textline
- PDF_get_apiname
- PDF_get_buffer
- PDF_get_errmsg
- PDF_get_errnum
- PDF_get_font
- PDF_get_fontname
- PDF_get_fontsize
- PDF_get_image_height
- PDF_get_image_width
- PDF_get_majorversion
- PDF_get_minorversion
- PDF_get_parameter
- PDF_get_pdi_parameter
- PDF_get_pdi_value
- PDF_get_value
- PDF_info_font
- PDF_info_matchbox
- PDF_info_table
- PDF_info_textflow
- PDF_info_textline
- PDF_initgraphics
- PDF_lineto
- PDF_load_3ddata
- PDF_load_font
- PDF_load_iccprofile
- PDF_load_image
- PDF_makespotcolor
- PDF_moveto
- PDF_new
- PDF_open_ccitt
- PDF_open_file
- PDF_open_gif
- PDF_open_image_file
- PDF_open_image
- PDF_open_jpeg
- PDF_open_memory_image
- PDF_open_pdi_document
- PDF_open_pdi_page
- PDF_open_pdi
- PDF_open_tiff
- PDF_pcos_get_number
- PDF_pcos_get_stream
- PDF_pcos_get_string
- PDF_place_image
- PDF_place_pdi_page
- PDF_process_pdi
- PDF_rect
- PDF_restore
- PDF_resume_page
- PDF_rotate
- PDF_save
- PDF_scale
- PDF_set_border_color
- PDF_set_border_dash
- PDF_set_border_style
- PDF_set_char_spacing
- PDF_set_duration
- PDF_set_gstate
- PDF_set_horiz_scaling
- PDF_set_info_author
- PDF_set_info_creator
- PDF_set_info_keywords
- PDF_set_info_subject
- PDF_set_info_title
- PDF_set_info
- PDF_set_layer_dependency
- PDF_set_leading
- PDF_set_parameter
- PDF_set_text_matrix
- PDF_set_text_pos
- PDF_set_text_rendering
- PDF_set_text_rise
- PDF_set_value
- PDF_set_word_spacing
- PDF_setcolor
- PDF_setdash
- PDF_setdashpattern
- PDF_setflat
- PDF_setfont
- PDF_setgray_fill
- PDF_setgray_stroke
- PDF_setgray
- PDF_setlinecap
- PDF_setlinejoin
- PDF_setlinewidth
- PDF_setmatrix
- PDF_setmiterlimit
- PDF_setpolydash
- PDF_setrgbcolor_fill
- PDF_setrgbcolor_stroke
- PDF_setrgbcolor
- PDF_shading_pattern
- PDF_shading
- PDF_shfill
- PDF_show_boxed
- PDF_show_xy
- PDF_show
- PDF_skew
- PDF_stringwidth
- PDF_stroke
- PDF_suspend_page
- PDF_translate
- PDF_utf16_to_utf8
- PDF_utf32_to_utf16
- PDF_utf8_to_utf16
Коментарии
I spent a lot of hours tweaking numbers in my PDF source, trying to nudge things the right way, and, invariably, really messing up big-time...
Then one day I realized that all these numbers were supposed to be (INCHES * 72).
Now my PDF code looks more like:
<?php
.
.
.
pdf_begin_page($pdf, 8.5 * 72, 11 * 72);
.
. /* set up $helvetica as font */
.
pdf_set_font($pdf, $helvetica, 9);
$leading = pdf_get_value($pdf, 'leading');
pdf_show_boxed($pdf, 0.5 * 72, 0.5 * 72, 4.0 * 72, $leading, 'left', '');
?>
0.0, 0.0 is at the bottom left.
8.5 * 72, 11 * 72 is at the top right.
Everything in between is in x.xx * 72 where x.xx is INCHES.
Suddenly, I can visualize the PDF while I'm typing.
Might work for you too.
Sample linked from:
http://l-i-e.com/resume.htm
The DIN paper sizes below are rounded.
Theese functions returns exact paper sizes:
<?php
function paperheight($papername) {
$name=strtolower($papername);
switch($name) {
case "dl": return 11/2.54*72;
case "m65": return paperheight("c6");
case "ledger": case "tabloid": return 17*72;
case "legal": return paperwidth("ledger");
case "letter": return 11*72;
default: return paperwidth($name)*sqrt(2);
}
}
function paperwidth($papername) {
$name=strtolower($papername);
switch($name) {
case "dl": return 22/2.54*72;
case "m65": return paperwidth("c5");
case "ledger": case "tabloid": return 14*72;
case "legal": case "letter": return paperheight("ledger")>>1;
default:
$i=strpos("ebca",$name{0});
$j=substr($name,1);
if($i!=false && ($j>0 || $j==="0"))
return 100/(pow(2,($i+$j*4-1)/8))/2.54*72;
else
die("Unkown paper format: $papername");
}
}
$paper = "A4";
$w = paperwidth($paper);
$h = paperheight($paper);
echo "$paper: $w ppt * $h ppt";
?>
Try this...
<?
function mm2pt($val){
return floatval($val * 2.835016835017);
}
$xpdf = pdf_new();
pdf_open_file($xpdf);
pdf_begin_page($xpdf, mm2pt(210), mm2pt(297));
// ...
?>
The problem is that A4 is *NOT* exactly 210mm*297mm.
(Further more, the 2.835016835017 is incorrect. You convert from mm to pps by dividing by 25.4 and multiplying by 72. Hence the ratio is 2.83464566929133858267).
The code that I posted in may produces correct sizes.
(Except for the "m65" format, sorry. "m65" is the same as "dl", and should return the same values).