File indexing completed on 2024-05-12 15:37:06

0001 /*
0002     This file is part of a KMetaData File Extractor
0003     SPDX-FileCopyrightText: 2013 Denis Steckelmacher <steckdenis@yahoo.fr>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-or-later
0006 */
0007 
0008 
0009 #ifndef OFFICE_EXTRACTOR_H
0010 #define OFFICE_EXTRACTOR_H
0011 
0012 #include "extractorplugin.h"
0013 
0014 namespace KFileMetaData
0015 {
0016 
0017 class OfficeExtractor : public ExtractorPlugin
0018 {
0019     Q_OBJECT
0020     Q_PLUGIN_METADATA(IID "org.kde.kf5.kfilemetadata.ExtractorPlugin"
0021                       FILE "officeextractor.json")
0022     Q_INTERFACES(KFileMetaData::ExtractorPlugin)
0023 
0024 public:
0025     explicit OfficeExtractor(QObject* parent = nullptr);
0026 
0027     QStringList mimetypes() const override;
0028     void extract(ExtractionResult* result) override;
0029 
0030 private:
0031     void findExe(const QString& mimeType, const QString& name, QString& fullPath);
0032     QString textFromFile(const QString& fileUrl, const QString& command, QStringList& arguments);
0033 
0034 private:
0035     QStringList m_available_mime_types;
0036 
0037     QString m_catdoc;
0038     QString m_catppt;
0039     QString m_xls2csv;
0040 };
0041 }
0042 
0043 #endif