From 064c247499021e749f9c49cd6046716b831fb93b Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Tue, 19 Nov 2013 14:42:05 +0100 Subject: [PATCH] PPT filter: use mso-dump --- src/filters/msodump.zip | Bin 0 -> 90658 bytes src/filters/ppt-dump.py | 141 ++++++++++++++++++++++++++++++++++++++++ src/filters/rclppt | 83 ++++------------------- 3 files changed, 154 insertions(+), 70 deletions(-) create mode 100644 src/filters/msodump.zip create mode 100755 src/filters/ppt-dump.py diff --git a/src/filters/msodump.zip b/src/filters/msodump.zip new file mode 100644 index 0000000000000000000000000000000000000000..9e038b9967b5f3bca7c3f58da1a30ae7cf8b8a37 GIT binary patch literal 90658 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%0DZ!^RF}gswOT!KR%mMwI4?@m6qWhY`tT{ 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 SuMO#CyLu_ZfUW!cH~wEmX6GFM literal 0 HcmV?d00001 diff --git a/src/filters/ppt-dump.py b/src/filters/ppt-dump.py new file mode 100755 index 00000000..e94ce291 --- /dev/null +++ b/src/filters/ppt-dump.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python2 +######################################################################## +# +# Copyright (c) 2010 Kohei Yoshida, Thorsten Behrens +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +######################################################################## + +import sys, os.path, getopt +sys.path.append(sys.path[0]+"/msodump.zip/src") +import ole, pptstream, globals, olestream + +from globals import error + +def usage (exname): + exname = os.path.basename(exname) + msg = """Usage: %s [options] [ppt file] + +Options: + --help displays this help message. + --no-struct-output suppress normal disassembly output + --dump-text print the textual content +"""%exname + print msg + + +class PPTDumper(object): + + def __init__ (self, filepath, params): + self.filepath = filepath + self.params = params + + def __printDirHeader (self, dirname, byteLen): + dirname = globals.encodeName(dirname) + globals.outputln("") + globals.outputln("="*68) + globals.outputln("%s (size: %d bytes)"%(dirname, byteLen)) + globals.outputln("-"*68) + + def dump (self): + file = open(self.filepath, 'rb') + strm = pptstream.PPTFile(file.read(), self.params) + file.close() + strm.printStreamInfo() + strm.printHeader() + strm.printDirectory() + dirnames = strm.getDirectoryNames() + result = True + for dirname in dirnames: + if len(dirname) == 0 or dirname == 'Root Entry': + continue + + try: + dirstrm = strm.getDirectoryStreamByName(dirname) + except Exception, err: + error("getDirectoryStreamByName(%s): %s\n" % (dirname,str(err))) + # The previous version was killed by the exception + # here, so the equivalent is to break, but maybe there + # is no reason to do so. + break + self.__printDirHeader(dirname, len(dirstrm.bytes)) + if dirname == "PowerPoint Document": + if not self.__readSubStream(dirstrm): + result = False + elif dirname == "Current User": + if not self.__readSubStream(dirstrm): + result = False + elif dirname == "\x05DocumentSummaryInformation": + strm = olestream.PropertySetStream(dirstrm.bytes) + strm.read() + else: + globals.dumpBytes(dirstrm.bytes, 512) + return result + + def __readSubStream (self, strm): + # read all records in substream + return strm.readRecords() + + +def main (args): + exname, args = args[0], args[1:] + if len(args) < 1: + print("takes at least one argument") + usage(exname) + return + + params = globals.Params() + try: + opts, args = getopt.getopt(args, "h", + ["help", "debug", "show-sector-chain", + "no-struct-output", "dump-text"]) + for opt, arg in opts: + if opt in ['-h', '--help']: + usage(exname) + return + elif opt in ['--debug']: + params.debug = True + elif opt in ['--show-sector-chain']: + params.showSectorChain = True + elif opt in ['--no-struct-output']: + globals.muteOutput(1) + params.noStructOutput = True + elif opt in ['--dump-text']: + params.dumpText = True + else: + error("unknown option %s\n"%opt) + usage() + + except getopt.GetoptError: + error("error parsing input options\n") + usage(exname) + return + + dumper = PPTDumper(args[0], params) + if not dumper.dump(): + error("FAILURE\n") + if params.dumpText: + print(globals.textdump.replace("\r", "\n")) + +if __name__ == '__main__': + main(sys.argv) diff --git a/src/filters/rclppt b/src/filters/rclppt index ba5640b4..467acab6 100755 --- a/src/filters/rclppt +++ b/src/filters/rclppt @@ -17,11 +17,9 @@ #================================================================ # Handle powerpoint files for recoll. -# Uses catppt from the catdoc utilities -# (http://ftp.45.free.net/~vitus/software/catdoc/) -# In my experience, this sometimes fail to extract text, printing "Default -# Design" ou "format par defaut" instead and only. -# +# Use unoconv, this is very slow, but catppt just can't handle the majority +# of semi-modern ppt files + #================================================================ # set variables @@ -96,72 +94,17 @@ umask 77 # !! Leave the following line unmodified ! #ENDRECFILTCOMMONCODE -havecappt=no -iscmd cappt && havecappt=yes -haveunoconv=no -iscmd unoconv && haveunoconv=yes -iscmd pdftotext || haveunoconv=no +filtersdir=`dirname $0` +checkcmds $filtersdir/ppt-dump.py -if test X$havecatppt = Xno -a X$haveunoconv = Xno ; then - # checkcmds will exit with the appropriate salutations - checkcmds catppt unoconv pdftotext -fi +mso="$filtersdir/ppt-dump.py --no-struct-output --dump-text" -# This needs a temp dir because we first output pdf (outputting html -# would produce one file per page), and pdftotext can't read from -# stdin -if test z"$RECOLL_TMPDIR" != z; then - ttdir=$RECOLL_TMPDIR -elif test z"$TMPDIR" != z ; then - ttdir=$TMPDIR -else - ttdir=/tmp -fi +cat < + +
+EOF
 
-tmpdir=$ttdir/rclppt_tmp$$
-mkdir $tmpdir || exit 1
-mkdir $tmpdir/rclppttmp || exit 1
+$mso "$infile"| sed -e 's/ $cattxt
-lines=`wc -l < $cattxt`
-
-if test $lines -lt 5 -a X$haveunoconv = Xyes; then
-    unoconv -f pdf -o "$unopdf" "$infile"
-    sinfile=`basename "$infile"`
-    `dirname $0`/rclpdf "$unopdf/${sinfile%.*}.pdf"
-else
-    # output the catppt result
-    echo ''
-    #echo '' "$title" ''
-    echo ''
-    echo ''
-    echo '
'
-
-    catppt -d utf-8 "$infile" | \
-        sed -e 's/'
-    echo ''
-fi
+echo '
'