Witam,

Potrzebuję wypełnić pola "text field" w formularzu pdf polskimi znakami i chcę aby mogły być dalej edytowalne. Używam do tego xfdf (chyba w fdf nie można ustawić kodowania?) i narzędzia pdftk (musi być darmowe). Skrypt wygląda tak

Funkcja tworząca XFDF
Kod
   <?php
  
   function createXFDF($file,$info,$enc='UTF-8'){
       $data='<?xml version="1.0" encoding="'.$enc.'"?>'."\n".
           '<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">'."\n".
           '<fields>'."\n";
       foreach($info as $field => $val){
           $data.='<field name="'.$field.'">'."\n";
           if(is_array($val)){
               $data.='<</T('.$field.')/V[';
               foreach($val as $opt)
                   $data.='<value>'.$opt.'</value>'."\n";
           }else{
               $data.='<value>'.$val.'</value>'."\n";
           }
           $data.='</field>'."\n";
       }
       $data.='</fields>'."\n".
           '<ids original="'.md5($file).'" modified="'.time().'" />'."\n".
           '<f href="'.$file.'" />'."\n".
           '</xfdf>'."\n";
       return $data;
   }
   ?>


Skrypt

Kod
$dane['Text1']="Test ĄŚĆ 12321";
$aaa=createXFDF("Dokument-1.pdf",$dane);

$fdf_fn="test.xfdf";
$fp= fopen( $fdf_fn, 'w' );
if( $fp ) {
    fwrite( $fp, $aaa );
    fclose( $fp );

    header('Content-type: application/pdf');
    header('Content-disposition: attachment; filename='.time().'.pdf');

    passthru('pdftk Dokument-1.pdf fill_form '.$fdf_fn.' output -');
// unlink($fdf_fn);
}
?>


Plik z kodem ma kodowanie UTF-8... ale nie wyświetlają się polskie znaki, trzeba kliknąć pole żeby się pojawiły :-| Czy ktoś wie co zrobić żeby były widoczne bez problemu?

Dokument-1.pdf http://www.sendspace.com/file/dzzje5
PDF po przetworzeniu http://www.sendspace.com/file/lkhfhc