Página 1 de 1

Imagen en Word

NotaPublicado: 2013-11-29 10:38 @485
por tolyn
Sres., estoy generando un anexo técnico en formato Word pero necesito insertar unas imágenes y no me funciona tal como sale en http://search.cpan.org/~dami/MsOffice-Word-HTML-Writer-1.01/lib/MsOffice/Word/HTML/Writer.pm.

Si alguien lo ha hecho, ¡¡¡ favor orientenme !!!

Saludos.

:D

Re: Imagen en Word

NotaPublicado: 2013-11-29 12:04 @544
por danimera
¿Por qué no pones el código de lo que estás haciendo?

Re: Imagen en Word

NotaPublicado: 2013-11-29 13:55 @621
por tolyn
daminera, ¿cómo estás?

Mira, estoy intentando con el ejemplo que aparece en la documentación de la biblioteca...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.   use MsOffice::Word::HTML::Writer;
  2.   my $doc = MsOffice::Word::HTML::Writer->new(
  3.     title        => "My new doc",
  4.     WordDocument => {View => 'Print'},
  5.   );
  6.  
  7.   $doc->write("<p>hello, world</p>",
  8.               $doc->page_break,
  9.               "<p>hello from another page</p>");
  10.  
  11.   $doc->create_section(
  12.     page => {size   => "21.0cm 29.7cm",
  13.              margin => "1.2cm 2.4cm 2.3cm 2.4cm"},
  14.     header => sprintf("Section 2, page %s of %s",
  15.                                   $doc->field('PAGE'),
  16.                                   $doc->field('NUMPAGES')),
  17.     footer => sprintf("printed at %s",
  18.                                   $doc->field('PRINTDATE')),
  19.     new_page => 1, # or 'left', or 'right'
  20.   );
  21.   $doc->write("this is the second section, look at header/footer");
  22.  
  23.  
  24.   $doc->attach("my_image.gif", $path_to_my_image);
  25.   $doc->write("<img src='files/my_image.gif'>");
  26.  
  27.   $doc->save_as("nombre_documento");
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Lo ejecuto: ./print_word.pl

y me sale un error en la consola:

Name "main::path_to_my_image" used only once: possible typo at ./print_word.pl line 26.
Use of uninitialized value $open1 in open at /usr/lib/perl5/site_perl/5.10.1/MsOffice/Word/HTML/Writer.pm line 100.
Use of uninitialized value $open1 in concatenation (.) or string at /usr/lib/perl5/site_perl/5.10.1/MsOffice/Word/HTML/Writer.pm line 100.
open : No such file or directory at ./print_word.pl line 26


Omito la línea que está en negrita y genera el doc pero sin la imagen...

Saludos.

Re: Imagen en Word

NotaPublicado: 2013-11-29 15:17 @679
por explorer
El mensaje de error dice que la variable $path_to_my_image es nueva para Perl, y no sabe de dónde viene. Eso quiere decir que a esa variable no se le ha dado ningún valor en ningún sitio.

El ejemplo que has copiado, desde el manual de la biblioteca, es solo eso: un ejemplo. Funciona, pero no del todo porque el autor espera que tú hayas le hayas puesto algún valor a esa variable (y así la biblioteca sabe dónde está la imagen a insertar).

Re: Imagen en Word

NotaPublicado: 2013-12-05 10:16 @469
por tolyn
explorer... he logrado insertar una imagen a un word... ¡¡¡genial!!!

Efectivamente, la variable no tenía valor... y hacía referencia a la ruta de la imagen...

Muestro un ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -w
  2. use MsOffice::Word::HTML::Writer;
  3. my $doc = MsOffice::Word::HTML::Writer->new(
  4.     title        => "Perl En Español",
  5.     WordDocument => {View => 'Print'},
  6.   );
  7.  
  8. $doc->write("<p>http:\//www.perlenespanol.com/foro/imagen-en-word-t8403.html</p>");
  9.  
  10. $doc->attach("logo.jpg", "./img_gif/logo.JPG");
  11. $doc->write("<img src='files/logo.jpg'>");
  12.  
  13. $doc->save_as("Word_Con_Imagen");
  14.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Tiene que copiar este código, guardarlo en un .pl, luego crean un carpeta en donde está el .pl llamada "img_gif" y ahí insertan una imagen JPG o jpg. ¡Ojo!, que el recortador de Windows 7 guarda las imágenes con su extensión con mayúscula.

¡¡¡Gracias, explorer!!!

Saludos...

Re: Imagen en Word

NotaPublicado: 2013-12-06 10:42 @487
por tolyn
Sres., ahora estoy en otro dilema. Necesito darle la propiedad "detrás del texto" ya que necesito insertar una imagen en el header del documento lo cual ya puedo hacer pero ésta me baja el texto del documento...

Si alguien tiene alguna idea, favor avíseme...

slds..

Re: Imagen en Word

NotaPublicado: 2013-12-06 20:49 @909
por explorer
¿Eso se puede hacer en un documento HTML en Word? Como no sea dentro de una capa <div>, no conozco otra manera... o que Mocro$oft se haya inventado otro estándar HTML para conseguirlo, que es típico de ellos.