ExportReportManager.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #ifndef EXPORTREPORTMANAGER_H
  2. # define EXPORTREPORTMANAGER_H
  3. # include <QObject>
  4. class ProjectInfo;
  5. class QWord;
  6. class ExportReportManager : public QObject
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit ExportReportManager(QObject *parent = nullptr);
  11. ~ExportReportManager();
  12. ProjectInfo *proj() const;
  13. void setProj(ProjectInfo *proj);
  14. int evalType() const;
  15. void setEvalType(int type);
  16. bool exportReport();
  17. private:
  18. // 初始化 word
  19. bool createWord();
  20. // 插入不同评估类型下共同的信息
  21. void insertCommonInfo();
  22. // 填充方案信息
  23. void insertSchemeInfo();
  24. // 在一个书签位置插入文字
  25. bool insertText(const QString &bookmark, const QString &text);
  26. signals:
  27. private:
  28. ProjectInfo *m_proj = nullptr; // 项目
  29. int m_evalType = 0; // 报告评估类型
  30. QWord *m_word = nullptr;
  31. };
  32. #endif // EXPORTREPORTMANAGER_H
  33. /*
  34. bmSchemes->dynamicCall("Select(void)");
  35. QAxObject *selection = m_word->getWordApp()->querySubObject("Selection");
  36. if (!selection)
  37. return;
  38. selection->dynamicCall("InsertAfter(QString&)", "\n");
  39. // selection->dynamicCall("MoveLeft(int)", 1);
  40. selection->querySubObject("ParagraphFormat")->dynamicCall("Alignment", "wdAlignParagraphCenter");
  41. // selection->dynamicCall("TypeText(QString&)", "Table Test");//设置标题
  42. QAxObject *range1 = selection->querySubObject("Range");
  43. QAxObject *tables = doc->querySubObject("Tables");
  44. QAxObject *table = tables->querySubObject("Add(QVariant,int,int)", range1->asVariant(), 2, 2);
  45. */
  46. /**
  47. * 标签名称
  48. *
  49. * 封面
  50. * 项目名称:bmProjName,单位:bmProjUnit,时间:bmProjDate
  51. *
  52. * 评估目的
  53. * 评估目的:bmEvalPurpose
  54. *
  55. * 方案设计
  56. * 方案描述:bmSchemes
  57. *
  58. * 2023-12-13 by chengxr
  59. */
  60. /**
  61. 【中文字号】 【英文字号】 【毫米】 【像素】
  62. 1英寸 72pt 25.30mm 95.6px
  63. 大特号 63pt 22.14mm 83.7px
  64. 特号 54pt 18.97mm 71.7px
  65. 初号 42pt 14.82mm 56px
  66. 小初 36pt 12.70mm 48px
  67. 一号 26pt 9.17mm 34.7px
  68. 小一 24pt 8.47mm 32px
  69. 二号 22pt 7.76mm 29.3px
  70. 小二 18pt 6.35mm 24px
  71. 三号 16pt 5.64mm 21.3px
  72. 小三 15pt 5.29mm 20px
  73. 四号 14pt 4.94mm 18.7px
  74. 小四 12pt 4.23mm 16px
  75. 五号 10.5pt 3.70mm 14px
  76. 小五 9pt 3.18mm 12px
  77. 六号 7.5pt 2.56mm 10px
  78. 小六 6.5pt 2.29mm 8.7px
  79. 七号 5.5pt 1.94mm 7.3px
  80. 八号 5pt 1.76mm 6.7px
  81. * 2023-12-12 by chengxr
  82. */