Perl/OpenOffice::OODoc

De Astillas.net
Módulo OpenOffice::OODoc
Versión 2.125-1
Uso Propósito general
Propósito Manipulación de documentos OpenDocument


Enlaces y referencias

Recetario

Juego de caracteres

El método odfLocalEncoding( $charset_name ) puede emplearse para recuperar el juego de caracteres del documento así como para cambiarlo. En caso de que el juego de caracteres no esté soportado el módulo emite un mensaje empleando la función warn y no cambia el valor. Es necesario algún arreglo para recuperar dicha condición e incorporarla en el flujo del programa:

my $doc = odfDocument(file => 'mydoc.odt' );

change_encoding( 'iso-8859-15' );

sub change_encoding {
    my $encoding = shift;

    # Disponemos las señales para que se produzca una excepción 
    # cuando recibamos un aviso
    local $SIG{'__WARN__'} = sub { die $_[0]; };

    eval {
      odfLocalEncoding($encoding);
    };

    return $@ ? 0 : 1;
}

Dado que los documentos conformes a la norma OASIS trabajan siempre con el juego de caracteres UTF-8 éste módulo convierte los textos que recibe mediante las funciones de escritura y lectura del documento. Emplea para ello el módulo Encode por lo que se puede consultar la lista de los juegos disponibles en Encode::Supported.