| //======================================================================== |
| // |
| // JSInfo.h |
| // |
| // This file is licensed under the GPLv2 or later |
| // |
| // Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com> |
| // Copyright (C) 2016 Albert Astals Cid <aacid@kde.org> |
| // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, <info@kdab.com>. Work sponsored by the LiMux project of the city of Munich |
| // |
| // To see a description of the changes please see the Changelog file that |
| // came with your tarball or type make ChangeLog if you are building from git |
| // |
| //======================================================================== |
| |
| #ifndef JS_INFO_H |
| #define JS_INFO_H |
| |
| #include <stdio.h> |
| #include "Object.h" |
| #include "PDFDoc.h" |
| #include "goo/gtypes.h" |
| |
| #include "Link.h" |
| #include "UnicodeMap.h" |
| |
| class PDFDoc; |
| |
| class JSInfo { |
| public: |
| |
| // Constructor. |
| JSInfo(PDFDoc *doc, int firstPage = 0); |
| |
| // Destructor. |
| ~JSInfo(); |
| |
| // scan for JS in the PDF |
| void scanJS(int nPages); |
| |
| // scan and print JS in the PDF |
| void scanJS(int nPages, FILE *fout, UnicodeMap *uMap); |
| |
| // return true if PDF contains JavaScript |
| GBool containsJS(); |
| |
| private: |
| |
| PDFDoc *doc; |
| int currentPage; |
| GBool hasJS; |
| GBool print; |
| FILE *file; |
| UnicodeMap *uniMap; |
| |
| void scan(int nPages); |
| void scanLinkAction(LinkAction *link, const char *action, bool deleteLink = true); |
| void printJS(const GooString *js); |
| |
| }; |
| |
| #endif |