Foxit PDF SDK
fs_compliancecommon.h
Go to the documentation of this file.
1 
15 #ifndef FS_COMPLIANCEENGINE_H_
16 #define FS_COMPLIANCEENGINE_H_
17 
18 #include "common/fs_common.h"
19 
25 namespace foxit {
29 namespace addon {
33 namespace compliance {
34 class ResultInformation;
35 class ProgressCallback;
38 class Preflight;
39 
49 class ComplianceEngine FS_FINAL : public Object{
50  public:
56  typedef enum _ViewOrPrintCondition {
68 
69 
102  static ErrorCode Initialize(const wchar_t* compliance_resource_folder_path, const char* compliance_engine_unlockcode);
103 
112  static void Release();
113 
114 #if !defined(_MAC_JAVA_)
115 
137 
147  static void ReleaseThreadContext();
148 #endif
149 
162  static void SetTempFolderPath(const wchar_t* temp_folder_path);
163 
173  static void EnableHandleTransparency(bool enable_handle_transparency);
174 
191  static void SetLanguage(const char* language);
192 };
193 
199  public:
205  virtual void Release() = 0;
206 
215  virtual void UpdateCurrentStateData(int current_rate, const WString& current_state_string) = 0;
216 
217  protected:
218  ~ProgressCallback() {}
219 };
220 
222 class PreflightSettingData FS_FINAL : public Object{
223  public:
229  typedef enum _LibraryType {
236  } LibraryType;
237 
243  typedef enum _OperateType {
250  } OperateType;
251 
252 
255  : preflight_key(L"")
257  , src_pdf_path(L"")
258  , saved_pdf_path(L"")
259  , first_page_index(0)
260  , last_page_index(-1) {}
261 
279  this->preflight_key = preflight_key;
280  this->operate_type = operate_type;
281  this->src_pdf_path = src_pdf_path;
282  this->saved_pdf_path = saved_pdf_path;
283  this->first_page_index = first_page_index;
284  this->last_page_index = last_page_index;
285  }
286 
296  operate_type = data.operate_type;
297  src_pdf_path = data.src_pdf_path;
301  return (*this);
302  }
303 
306 
313 
316 
319 
322 
329 };
330 
332 class PreflightReportSettingData FS_FINAL : public Object{
333  public:
339  typedef enum _ReportFileFormatType {
349 
355  typedef enum _ProblemsHighlightMethod {
361 
362 
366  , to_generate_overview(true)
367  , to_highlight_problems(true)
369  , report_file_path(L"") {}
370 
387  ProblemsHighlightMethod problem_highlight_method, const wchar_t* report_file_path) {
388  this->report_file_format_type = report_file_format_type;
389  this->to_generate_overview = to_generate_overview;
390  this->to_highlight_problems = to_highlight_problems;
391  this->problems_highlight_method = problem_highlight_method;
392  this->report_file_path = report_file_path;
393  }
394 
408  return (*this);
409  }
410 
416 
419 
422 
429 
432 };
433 
437 class Preflight FS_FINAL : public Base {
438  public:
440  Preflight();
441 
442  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
443  explicit Preflight(FS_HANDLE handle);
444 
446  ~Preflight();
447 
453  Preflight(const Preflight& other);
454 
462  Preflight& operator = (const Preflight& other);
463 
471  bool operator == (const Preflight& other) const;
472 
480  bool operator != (const Preflight& other) const;
481 
489  bool IsEmpty() const;
490 
502 
510  StringArray GetItemKeysArray(const String& group_name);
511 
520  void Analyze(const PreflightSettingData& preflight_setting_data, ProgressCallback* progress_callback = NULL);
521 
530  void AnalyzeAndFixup(const PreflightSettingData& preflight_setting_data, ProgressCallback* progress_callback = NULL);
531 
540  bool GenerateReport(const PreflightReportSettingData& preflight_report_setting_data, ProgressCallback* progress_callback = NULL);
541 
549  bool CanFixup(const String& item_key);
550 };
551 
555 class FixupData : public Object {
556  public:
562  typedef enum _FixupState {
569  } FixupState;
570 
571 
574  : used_count(0)
576 
582  FixupData(const FixupData& other)
583  : used_count(other.used_count)
584  , state(other.state)
585  , name(other.name)
586  , comment(other.comment)
587  , reasons(other.reasons) {}
588 
596  FixupData& operator = (const FixupData& other) {
597  used_count = other.used_count;
598  state = other.state;
599  name = other.name;
600  comment = other.comment;
601  reasons = other.reasons;
602  return *this;
603  }
604 
612  bool operator == (const FixupData& other) const {
613  bool is_equal = (used_count == other.used_count && state == other.state &&
614  name == other.name && comment == other.comment);
615  if (is_equal) {
616  for (int i=0; i<(int)reasons.GetSize(); i++) {
617  if (reasons[i] != other.reasons[i]) {
618  is_equal = false;
619  break;
620  }
621  }
622  }
623  return is_equal;
624  }
625 
633  bool operator != (const FixupData& other) const {
634  return !((*this) == other);
635  }
636 
650 };
651 
655 class HitData : public Object {
656  public:
662  typedef enum _CheckSeverity {
669  } CheckSeverity;
670 
671 
674  : triggered_count(0)
676  , page_index(-1){}
677 
683  HitData(const HitData& other)
685  , severity(other.severity)
686  , name(other.name)
687  , comment(other.comment)
689  , page_index(other.page_index) {}
690 
698  HitData& operator = (const HitData& other) {
700  severity = other.severity;
701  name = other.name;
702  comment = other.comment;
704  page_index = other.page_index;
705  return *this;
706  }
707 
715  bool operator == (const HitData& other) const {
716  bool is_equal = (triggered_count == other.triggered_count && severity == other.severity &&
717  name == other.name && comment == other.comment && page_index == other.page_index);
718  if (is_equal) {
719  for (int i=0; i<(int)trigger_values.GetSize(); i++) {
720  if (trigger_values[i] != other.trigger_values[i]) {
721  is_equal = false;
722  break;
723  }
724  }
725  }
726  return is_equal;
727  }
728 
736  bool operator != (const HitData& other) const {
737  return !((*this) == other);
738  }
739 
755 };
756 
761 class ResultInformation FS_FINAL : public Base {
762  public:
765  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
766  explicit ResultInformation(FS_HANDLE handle);
774  ResultInformation(const ResultInformation& other);
775 
791  bool operator == (const ResultInformation& other) const;
792 
800  bool operator != (const ResultInformation& other) const;
801 
809  bool IsEmpty() const;
810 
816  int GetFixupDataCount() const;
825  FixupData GetFixupData(int index) const;
826 
832  int GetHitDataCount() const;
833 
842  HitData GetHitData(int index) const;
843 };
844 } // namespace compliance/**
845 } // namespace addon
846 } // namespace foxit
847 
848 #endif // FS_COMPLIANCEENGINE_H_
virtual void Release()=0
A callback function used to release current callback object itself.
LibraryType
Enumeration for the preflight library type.
Definition: fs_compliancecommon.h:229
PreflightReportSettingData()
Constructor.
Definition: fs_compliancecommon.h:364
FixupData & operator=(const FixupData &other)
Assign operator.
Definition: fs_compliancecommon.h:596
Error severity.
Definition: fs_compliancecommon.h:668
Report file format type: XML.
Definition: fs_compliancecommon.h:343
bool operator !=(const HitData &other) const
Not equal operator.
Definition: fs_compliancecommon.h:736
int page_index
Page index, starting from 0. -1 means current hit data was hit in document level.
Definition: fs_compliancecommon.h:754
bool to_generate_overview
Whether to generate overview or not. true menas to generate overview, false means not.
Definition: fs_compliancecommon.h:418
CFX_Object Object
Object type.
Definition: fs_basictypes.h:220
Preflight library type: Foxit.
Definition: fs_compliancecommon.h:231
HitData GetHitData(int index) const
Get a hit data.
int first_page_index
Index of the first page to be analyzed or fixed, staring from 0. Default value: 0.
Definition: fs_compliancecommon.h:321
bool CanFixup(const String &item_key)
Check whether the item key can be fixuped or not.
Definition: fs_basictypes.h:227
Definition: fs_compliancecommon.h:761
FixupData GetFixupData(int index) const
Get a fixup data.
uint32 triggered_count
Represents the count of hit operation for current data has been triggered during document verificatio...
Definition: fs_compliancecommon.h:741
ReportFileFormatType
Enumeration for the preflight report file format type.
Definition: fs_compliancecommon.h:339
FixupData()
Constructor.
Definition: fs_compliancecommon.h:573
A fixup succeeded.
Definition: fs_compliancecommon.h:564
StringArray GetItemKeysArray(const String &group_name)
Get item keys array with the specific group name.
WStringArray trigger_values
Array of trigger values. The count of triggered values is no more then triggered_count.
Definition: fs_compliancecommon.h:752
bool GenerateReport(const PreflightReportSettingData &preflight_report_setting_data, ProgressCallback *progress_callback=0)
Generate report after analyzing or fixing.
CheckSeverity severity
The check severity of current hit data. Please refer to values starting from HitData::e_CheckSeverity...
Definition: fs_compliancecommon.h:746
WIDE STRING CLASS.
Definition: fx_string.h:1461
HitData & operator=(const HitData &other)
Assign operator.
Definition: fs_compliancecommon.h:698
Definition: fs_compliancecommon.h:655
int GetHitDataCount() const
Get count of hit data.
Viewing or printing condition:Japan Color 2001 Coated.
Definition: fs_compliancecommon.h:64
Definition: fs_compliancecommon.h:222
Problems highlighted by transparent masks.
Definition: fs_compliancecommon.h:357
PreflightSettingData(const wchar_t *preflight_key, OperateType operate_type, const wchar_t *src_pdf_path, const wchar_t *saved_pdf_path, int first_page_index, int last_page_index)
Constructor, with parameters.
Definition: fs_compliancecommon.h:277
ViewOrPrintCondition
Enumeration for viewing or printing condition.
Definition: fs_compliancecommon.h:56
HitData()
Constructor.
Definition: fs_compliancecommon.h:673
Definition: fs_compliancecommon.h:332
PreflightReportSettingData & operator=(const PreflightReportSettingData &data)
Assign operator.
Definition: fs_compliancecommon.h:402
HitData(const HitData &other)
Constructor, with another hit data object.
Definition: fs_compliancecommon.h:683
FixupState state
Fixup state. Please refer to values starting from FixupData::e_FixupStateSuccess and this should be o...
Definition: fs_compliancecommon.h:643
WStringArray reasons
Fixup reasons. This may be an empty array. The count of reasons will not exceed used_times.
Definition: fs_compliancecommon.h:649
virtual void UpdateCurrentStateData(int current_rate, const WString &current_state_string)=0
A callback function used to update current progress state data to user in order that user can update ...
int GetFixupDataCount() const
Get count of fixup data.
Preflight library type: Prepress,Color and Transparency.
Definition: fs_compliancecommon.h:235
bool operator==(const ResultInformation &other) const
Equal operator.
bool IsEmpty() const
Check whether current object is empty or not.
WString comment
Hit rule comment to explain more details about the rule.
Definition: fs_compliancecommon.h:750
FixupData(const FixupData &other)
Constructor, with another fixup data object.
Definition: fs_compliancecommon.h:582
bool operator==(const FixupData &other) const
Equal operator.
Definition: fs_compliancecommon.h:612
static void EnableHandleTransparency(bool enable_handle_transparency)
Set a flag to decide whether to enable transparency handling.
FixupState
Enumeration for the state of a fixup data.
Definition: fs_compliancecommon.h:562
Definition: fs_compliancecommon.h:198
WString name
Fixup rule name.
Definition: fs_compliancecommon.h:645
ErrorCode
Enumeration for error code.
Definition: fs_basictypes.h:236
int last_page_index
Index of the last page to be analyzed or fixed. If this is -1, that means all the pages of the source...
Definition: fs_compliancecommon.h:328
bool operator==(const Preflight &other) const
Equal operator.
bool operator==(const HitData &other) const
Equal operator.
Definition: fs_compliancecommon.h:715
Opearte type: single fixups.
Definition: fs_compliancecommon.h:249
Viewing or printing condition: PSO Coated v3 (ECI).
Definition: fs_compliancecommon.h:66
static void SetTempFolderPath(const wchar_t *temp_folder_path)
Set the temporary folder for compliance engine.
Viewing or printing condition:ISO Coated v2 (ECI).
Definition: fs_compliancecommon.h:62
Opearte type: single checks.
Definition: fs_compliancecommon.h:247
Definition: fs_compliancecommon.h:49
A fixup failed.
Definition: fs_compliancecommon.h:566
Viewing or printing condition: Auto.
Definition: fs_compliancecommon.h:58
bool operator !=(const ResultInformation &other) const
Not equal operator.
Report file format type: HTML.
Definition: fs_compliancecommon.h:347
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:195
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:213
Header file for common definitions and classes.
WString comment
Fixup rule comment to explain more details about the rule.
Definition: fs_compliancecommon.h:647
bool operator !=(const FixupData &other) const
Not equal operator.
Definition: fs_compliancecommon.h:633
bool operator !=(const Preflight &other) const
Not equal operator.
Info severity.
Definition: fs_compliancecommon.h:664
Warning severity.
Definition: fs_compliancecommon.h:666
PreflightSettingData & operator=(const PreflightSettingData &data)
Assign operator.
Definition: fs_compliancecommon.h:294
uint32 used_count
Represents the count of fixup operation invocations for current data during the conversion.
Definition: fs_compliancecommon.h:638
Definition: fs_basictypes.h:451
void Analyze(const PreflightSettingData &preflight_setting_data, ProgressCallback *progress_callback=0)
Analyze a PDF file.
Definition: fs_basictypes.h:229
OperateType
Enumeration for the preflight operate type.
Definition: fs_compliancecommon.h:243
static void Release()
Release compliance engine.
CheckSeverity
Enumeration for check severity of a hit data.
Definition: fs_compliancecommon.h:662
WString name
Hit rule name.
Definition: fs_compliancecommon.h:748
WString src_pdf_path
A complete path of source PDF file to be analyze and fix.
Definition: fs_compliancecommon.h:315
Preflight & operator=(const Preflight &other)
Assign operator.
Foxit namespace.
Definition: fs_taggedpdf.h:27
void AnalyzeAndFixup(const PreflightSettingData &preflight_setting_data, ProgressCallback *progress_callback=0)
Analyze and fixup a PDF file.
StringArray GetGroupNamesArray(const PreflightSettingData::LibraryType &library_type, const PreflightSettingData::OperateType &operate_type)
Get all group names array corresponding to the library type and operation type.
ProblemsHighlightMethod problems_highlight_method
The method highlight problems. Only effective when to_highlight_problems is true and report_file_form...
Definition: fs_compliancecommon.h:428
BYTE STRING CLASS.
Definition: fx_string.h:317
static void ReleaseThreadContext()
Release compliance context of the thread.
size_t GetSize() const
Get the size of elements in current array.
bool IsEmpty() const
Check whether current object is empty or not.
Report file format type: TXT & TEXT.
Definition: fs_compliancecommon.h:345
Preflight library type: Standards.
Definition: fs_compliancecommon.h:233
Report file format type: PDF.
Definition: fs_compliancecommon.h:341
static ErrorCode Initialize(const wchar_t *compliance_resource_folder_path, const char *compliance_engine_unlockcode)
Initialize compliance engine.
Opearte type: profiles.
Definition: fs_compliancecommon.h:245
static void SetLanguage(const char *language)
Set language for compliance engine.
ResultInformation & operator=(const ResultInformation &other)
Assign operator.
#define NULL
The null-pointer value.
Definition: fx_system.h:792
PreflightReportSettingData(ReportFileFormatType report_file_format_type, bool to_generate_overview, bool to_highlight_problems, ProblemsHighlightMethod problem_highlight_method, const wchar_t *report_file_path)
Constructor, with parameters.
Definition: fs_compliancecommon.h:386
OperateType operate_type
The preflight operate type. Please refer to values starting from PreflightSettingData::e_OperateTypeP...
Definition: fs_compliancecommon.h:312
ReportFileFormatType report_file_format_type
The report file format type. Please refer to values starting from PreflightReportSettingData::e_Repor...
Definition: fs_compliancecommon.h:415
A fixup was not required.
Definition: fs_compliancecommon.h:568
PreflightSettingData()
Constructor.
Definition: fs_compliancecommon.h:254
Problems highlighted by layers.
Definition: fs_compliancecommon.h:359
WString report_file_path
A complete path for the report file. This should not be an empty string.
Definition: fs_compliancecommon.h:431
Definition: fs_compliancecommon.h:555
ProblemsHighlightMethod
Enumeration for the highlight method for preflight problems.
Definition: fs_compliancecommon.h:355
static ErrorCode InitializeThreadContext()
Initialize compliance context for a new thread.
Definition: fs_compliancecommon.h:437
Viewing or printing condition:Coated GRACoL 2006.
Definition: fs_compliancecommon.h:60
WString saved_pdf_path
A complete path for saving the PDF file generated by the preflight analysis and fixup process.
Definition: fs_compliancecommon.h:318
bool to_highlight_problems
Whether to highlight problems or not. true menas to highlight problems, false means not.
Definition: fs_compliancecommon.h:421
WString preflight_key
The preflight key. Retrieve available keys via Preflight::GetItemKeysArray.
Definition: fs_compliancecommon.h:305