Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Forms Data Format Functions : fdf_create

fdf_create

Create a new FDF document (PHP 4, PHP 5)
resource fdf_create ( )

Example 608. Populating a PDF document

<?php
$outfdf
= fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Code Examples / Notes » fdf_create

sergei

I thought the following might save someone a lot of time. The example fdf snippet above, namely:
<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);
fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>
will not work (or there's at least a big possibility it won't) in IE (version 6 sure and I suspect lower versions as well) if you have session.auto_start on. Apparently, setting a cookie before feeding the fdf to the browser somehow messes it up. It works fine in Netscape though. I spent days on Google before I found a post somewhere about someone else having the same problem.
The solution? Well, I created a separate directory in the web tree and turned session.auto_start off just for that directory like this:
<Location /new_directory>
   php_admin_flag session.auto_start 0
</Location>
Hope this was useful to somebody.


mlarke

Header("Content-type: application/vnd.fdf"); simply does not work in IE. The easiest method to automatically load the fdf file is to open the 'pdf' file via php. With use of Acrobat
document -> page action -> page open -> add -> javascript
and paste the following into the pdf file:
this.importAnFDF("my_fdf_file.fdf");
This will auto-load the fdf contents
Cheers Mike


jwadhwani

For fdf_save you need to provide the complete path, such as :fdf_save($outfdf,"c:/inetpub/wwwroot/temp_sites/fdf/outtest.fdf"); and not only outtest.fdf.

punkisdead

<?php
$outfdf = fdf_create();
$volume = "test";
fdf_set_value($outfdf, "volume", $volume, 0);
fdf_set_file($outfdf, "http://localhost/webapps/volume.pdf");
Header("Content-type: application/vnd.fdf");
fdf_save($outfdf);
fdf_close($outfdf);
?>
This works for IE 5.5+  
It will populate the fields and open the resulting pdf for you, without having to create an fdf file and adding the open script to the pdf...


Change Language


Follow Navioo On Twitter
fdf_add_doc_javascript
fdf_add_template
fdf_close
fdf_create
fdf_enum_values
fdf_errno
fdf_error
fdf_get_ap
fdf_get_attachment
fdf_get_encoding
fdf_get_file
fdf_get_flags
fdf_get_opt
fdf_get_status
fdf_get_value
fdf_get_version
fdf_header
fdf_next_field_name
fdf_open_string
fdf_open
fdf_remove_item
fdf_save_string
fdf_save
fdf_set_ap
fdf_set_encoding
fdf_set_file
fdf_set_flags
fdf_set_javascript_action
fdf_set_on_import_javascript
fdf_set_opt
fdf_set_status
fdf_set_submit_form_action
fdf_set_target_frame
fdf_set_value
fdf_set_version
eXTReMe Tracker