|
![]() PDF_open_file
Create PDF file [deprecated]
()
Examples ( Source code ) » PDF_open_file
Related Examples ( Source code ) » pdf_open_file Examples ( Source code ) » Create a PDF document containing a pie chart Examples ( Source code ) » Generate PDFs with PHP Examples ( Source code ) » Adding an image to PDF document Code Examples / Notes » pdf_open_filejon
When creating a pdf in memory, it appears that the code is executed twice. This does not seem to happen when creating a pdf as file. Not a problem when outputing a pdf, but does cause a problem if doing other writes in the same code: // the write to the file is executed twice $fp = fopen("testfile.htm", "a"); fwrite($fp, "testline/") ; fclose($fp); //-------------- $pdf = pdf_new(); if (!pdf_open_file($pdf, "")) { print error; exit; }; pdf_begin_page($pdf, 8.5*72, 11*72); pdf_set_font($pdf, "Helvetica-Bold", 24, "host"); pdf_set_text_pos($pdf, 50, 700); pdf_show($pdf,"Hello,world!"); 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=foo.pdf"); print $buf; php
The example uses pdf_set_font, but that function is deprecated. Instead use pdf_setfont (without the underscore).
randyathorktdotcom
It is possible to append pdfs to each other, however it requires the commercial version of PDFlib with PDI support (http://www.pdflib.com) I've used it quite a bit and is well worth the price they are asking for. nils
If you get "Fatal error: PDFlib error: function 'PDF_set_info' must not be called in 'object' scope in script.php on line xxx" when using pdf_open_file with a filename, make sure your webserver has write permissions to the directory your are trying to save your PDF file to.
phpnet021221 a~t netized d~o~t com
FYI: the reason you had to add the double slashes was due to the fact that your string was contained within double quotes rather than single quotes. See: http://ca3.php.net/manual/en/language.types.string.php gbl
Appending to PDF files: plainly, you can't. PDF files have an internal structure that would get corrupted by just appending to the file. You'd need to parse the PDF, create a new PDF and mix your additions with the old PDF. Just creating a new one should be *much* easier. Reading back the results: do a fopen() on the temporary file and use fgets() to read it. In your example where you just want to output the file, passthru should do the trick. 18-oct-2004 01:55
After some troubles I found filename must be absolute path here in windows; relative path doesn't work in my box. php 4.3.5-dev alfred dot zingg
... $fd = fopen("download/liste.pdf", "w"); $pdfdoc = pdf_open($fd); pdf_begin_page($pdfdoc, 595, 842); pdf_set_font($pdfdoc, "Helvetica", 20, "host", 1); pdf_set_text_pos($pdfdoc, 50, 795); pdf_show($pdfdoc, "Liste"); ... does not work under PHP5, use ... $fd = fopen("download/liste.pdf", "w"); $pdfdoc = pdf_new(); pdf_open_file($pdfdoc, "download/liste.pdf"); pdf_begin_page($pdfdoc, 595.3, 841.8); $font = pdf_findfont($pdfdoc, "Helvetica", "winansi", 0); pdf_set_font($pdfdoc, $font, 20); pdf_set_text_pos($pdfdoc, 50, 795); pdf_show($pdfdoc, "Liste"); ... 21-jun-2005 05:13
"Fatal error: PDFlib error: [2100] PDF_begin_page: Function must not be called in 'object' scope.." If you get this error then you probably forgot to call pdf_open_file() or pdf_open_file() failed. button dot man
"Fatal error: PDFlib error: [2100] PDF_begin_page: Function must not be called in 'object' scope" I found a solution for this fault: when i got the fault, this was the script -> <?php $pdf = pdf_new(); pdf_open_file($pdf, "C:\web\pdf\test45.pdf"); pdf_begin_page($pdf, 595, 842); pdf_set_font($pdf, "Times-Roman", 30, "host"); pdf_set_value($pdf, "textrendering", 1); pdf_show_xy($pdf, "A PDF document is created!", 50, 750); pdf_end_page($pdf); pdf_close($pdf); ?> but when i added some slashes to the path: <?php $pdf = pdf_new(); pdf_open_file($pdf, "C:\\web\\pdf\\test45.pdf"); pdf_begin_page($pdf, 595, 842); pdf_set_font($pdf, "Times-Roman", 30, "host"); pdf_set_value($pdf, "textrendering", 1); pdf_show_xy($pdf, "A PDF document is created!", 50, 750); pdf_end_page($pdf); pdf_close($pdf); ?> there wasn't no fault anymore and the pdf-file was succesfully created I think you guys get the point ( add 2 slashes ) Glenn |
Change Language![]() 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_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 |