function o_destination( $id, $action, $options = '' )
    {
        if ( $action != 'new' )
        {
            $o =& $this->objects[$id];
        }
        switch ( $action )
        {
            case 'new':
                $this->objects[$id] = array( 't' => 'destination', 'info' => array() );
                $tmp = '';
                switch ( $options['type'] )
                {
                case 'XYZ':
                case 'FitR':
                    $tmp =  ' ' . sprintf( '%.3F', $options['p3'] ) . $tmp;
                case 'FitV':
                case 'FitBH':
                case 'FitBV':
                    $tmp =  ' ' . sprintf( '%.3F', $options['p2'] ) . $tmp;
                case 'Fit':
                case 'FitH':
                    $tmp =  ' ' . sprintf( '%.3F', $options['p1'] ) . $tmp;
                case 'FitB':
                    $tmp = $options['type'] . $tmp;
                    $this->objects[$id]['info']['string'] = $tmp;
                    $this->objects[$id]['info']['page'] = $options['page'];
                }break;

            case 'out':
                $tmp = $o['info'];
                $res = "\n" . $id . " 0 obj\n" . '[' . $tmp['page'] . ' 0 R /' . $tmp['string'] . "]\nendobj\n";
                return $res;
                break;
        }
    }