in reply to Word 2007 XML format and perl

use MIME::Base64 qw(encode_base64); open(FILE, $ARGV[0]) or die "$!"; open(OUTPUTFILE, ">newimg.jpg") or die $!; binmode FILE; binmode OUTPUTFILE; while (read(FILE, $buf, 60*57)) { print OUTPUTFILE encode_base64($buf); } close(FILE); close(OUTPUTFILE);
Nope, it works. I manually added a JPG to a Word 2007 document, saved it as an XML, ran the code against a different (similarly sized image), removed the base64 Word added for the image and replaced it with what the code created (I replaced the text with Windows eMacs mind you), saved it, and reopened it in Word. The image I replaced it with looked fine. Now, when I tried this with an image that was much wider than the original Word tried to force the image to fit in the original dimensions. This may be what you are experiencing, but that doesn't have anything to do with Perl or base64, it has to do with the XML tags that Word is using to place and format the image.

Celebrate Intellectual Diversity

Replies are listed 'Best First'.
Re^2: Word 2007 XML format and perl
by perlpreben (Beadle) on Feb 14, 2010 at 11:21 UTC

    hehe... im really sorry for wasting your time, cause I just realized that I had forgot to replace one line of base64-code due to my editor acting up.

    But your comment was still very helpfull , both due to the extra binmode on output and also it made me look outside the code to find the flaw. A million thanks :)