fdf_create
(PHP 4, PHP 5)
fdf_create — Create a new FDF document
Description
resource fdf_create
( void
)
Creates a new FDF document.
This function is needed if one would like to populate input fields in a PDF document with data.
Return Values
Returns a FDF document handle, or FALSE
on error.
Examples
Example #1 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");
?>
See Also
- fdf_close() - Close an FDF document
- fdf_save() - Save a FDF document
- fdf_open() - Open a FDF document
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Генерация нетекстовых MIME форматов
- Forms Data Format
- 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
Коментарии
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.
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
<?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...
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.