Hi SPUG,
I am using Archive::Zip to create a MS WORD docx archive on win7 running
ActivePerl Build 822 [280952].
It works mostly, but I think it is having problems with files that contain
multiple full stops.
Example: word/_rels/document.xml.rels
The docx file is created, and I can even open it (sometimes with errors) which
I suspect might be related to the complaining that
Archive::Zip::Member::_unixToDosTime is doing about the one file that has a
funny name (at least for WIN).
The code isn't much:
sub zip_docx {
$zip = Archive::Zip->new();
$zip->addTree('.');
$zipname = "$id".".docx";
print STDERR "trying to create $zipname\n";
$return = $zip->writeToFileNamed($zipname);
if ($return ne AZ_OK) {
print STDERR "Error creating $zipname rc: $return dollar_bang:$! :\n";
}
else {
print STDOUT "$zipname created\n";
}
}
Here are the errors:
C:\Users\nm040a\Desktop\FlatCQ>perl -w ../myperl/ddps/write_word.pl short.xml
IO error: Unsupported date before 1980 encountered, moving to 1980 : at
C:/perl/lib/Archive/Zip/Member.pm line 491
Archive::Zip::Member::_unixToDosTime(315561600) called at
C:/perl/lib/Archive/Zip/Member.pm line 180
Archive::Zip::Member::setLastModFileDateTimeFromUnix('Archive::Zip::NewFileMember=HASH(0x38913b4)',
315561600) called at C:/perl/lib/Archive/Zip/NewFileMember.pm line 36
Archive::Zip::NewFileMember::_newFromFileNamed('Archive::Zip::NewFileMember',
'./word/_rels/document.xml.rels', 'word/_rels/document.xml.rels') called at
C:/perl/lib/Archive/Zip/Member.pm line 54
Archive::Zip::Member::newFromFile('Archive::Zip::Member',
'./word/_rels/document.xml.rels', 'word/_rels/document.xml.rels') called at
C:/perl/lib/Archive/Zip/Archive.pm line 202
Archive::Zip::Archive::addFile('Archive::Zip::Archive=HASH(0x386316c)','./word/_rels/document.xml.rels',
'word/_rels/document.xml.rels') called at C:/perl/lib/Archive/Zip/Archive.pm
line 607
Archive::Zip::Archive::addTree('Archive::Zip::Archive=HASH(0x386316c)',.)
called at ../myperl/ddps/write_word.pl line 476
main::zip_docx() called at ../myperl/ddps/write_word.pl line 126
trying to create cms00002173.docx
Error creating cms00002173.docx rc: 0 dollar_bang: :
The direcory structure of the folder is this:
_rels
.rels
docProps
app.xml
core.xml
word
_rels
document.xml.rels
theme
theme1.xml
document.xml
fronTable.xml
settings.xml
styles.xml
webSettings.xml
Regards,
Rich Wood
Richard O. Wood
Wildwood IT Consultants, Inc.
[email protected]
425.281.1914 mobile_____________________________________________________________
Seattle Perl Users Group Mailing List
POST TO: [email protected]
SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list
MEETINGS: 3rd Tuesdays
WEB PAGE: http://seattleperl.org/