convert_contain_options_bean.dart 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import 'package:ConversionFlutterDemo/models/convert_bean.dart';
  2. class ConvertOptionsBean {
  3. bool containImages;
  4. bool containAnnotations;
  5. //convert excel only
  6. ExcelWorkSheetOptions workSheetOptions;
  7. //convert excel only
  8. ContentOptions contentOptions = ContentOptions.AllContent;
  9. //convert image only, 1~1000
  10. int imageDpi = 300;
  11. //convert image only
  12. ImagePageOptions imagePageOptions;
  13. //convert csv only
  14. bool mergeCSV = false;
  15. //convert html only
  16. HtmlPageOptions htmlPageOptions;
  17. ConvertOptionsBean(
  18. {this.containImages = true,
  19. this.containAnnotations = true,
  20. this.workSheetOptions = ExcelWorkSheetOptions.ForEachPage,
  21. this.contentOptions = ContentOptions.AllContent,
  22. this.imageDpi = 300,
  23. this.imagePageOptions = ImagePageOptions.PNG,
  24. this.mergeCSV = false,
  25. this.htmlPageOptions = HtmlPageOptions.SinglePage});
  26. Map<String, String> getOptions(int index, ConvertBean bean) {
  27. return {
  28. 'updateIndex' : index.toString(),
  29. 'convertType' : bean.convertType,
  30. 'filePath' : bean.filePath,
  31. 'fileName' : bean.fileName,
  32. 'containImages': containImages.toString(),
  33. 'containAnnotations': containAnnotations.toString(),
  34. 'workSheetOptions' : workSheetOptions.name,
  35. 'contentOptions' : contentOptions.name,
  36. 'imageDpi' : imageDpi.toString(),
  37. 'imagePageOptions' : imagePageOptions.name,
  38. 'mergeCSV' : mergeCSV.toString(),
  39. 'htmlPageOptions' : htmlPageOptions.name
  40. };
  41. }
  42. }
  43. enum ExcelWorkSheetOptions { ForEachTable, ForEachPage, ForTheDocument }
  44. enum ContentOptions { OnlyText, OnlyTable, AllContent }
  45. enum ImagePageOptions {
  46. JPEG,
  47. PNG,
  48. }
  49. enum HtmlPageOptions {
  50. SinglePage,
  51. SinglePageNavigationByBookmark,
  52. MultiplePages,
  53. MultiplePagesSplitByBookmarks
  54. }