123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #ifndef ___EASYPRINTER__
- #define ___EASYPRINTER__
- #pragma once
- #include "PrinterDef.h"
- #define DPI_MUL (m_lfDPIY/72)
- #define CALC_FONT_HEIGHT(x) (-MulDiv(x, m_lfDPIY, 72))
- #define CALC_PHYSICALX(x) (MulDiv(x, m_lfDPIX, 72))
- #define CALC_PHYSICALY(y) (MulDiv(y, m_lfDPIY, 72))
- class CEasyPrinter
- {
- public:
- CEasyPrinter(void);
- ~CEasyPrinter(void);
-
- protected:
- static ULONG m_gdiplusToken;
-
- CFont m_cfont;
- CFont *m_pOldfont;
-
- HDC m_PrinterDC;
- CDC m_dcPrinter;
-
- CPrintDialog *m_pPrintDlg;
-
- INT m_nPrintOrientation;
-
- INT m_nOrientationLength;
-
- CString m_strCurPrinterName;
-
- CSize m_CurPrinterDefaultPaperSize;
-
- double m_lfDPIX;
- double m_lfDPIY;
-
- double m_lf72DPIMul;
- #ifdef _DEBUG
- public:
- #endif
-
- PrintList m_printlist;
-
- HANDLE m_hPrinter;
- public:
- void SetTextFont(IN INT nTextFontSize, IN BOOL bBold, IN BOOL bItalic, IN TString strTextFontName);
- public:
- BOOL InitialzePrinter(IN LPCTSTR lpPrinterName = NULL, IN BOOL bShowDlg = FALSE);
- TString GetDefaultPrinter();
- #ifdef _VER_WINAPI_
- BOOL InitPrinter(IN LPCTSTR lpPrinter = NULL);
- #endif
- BOOL StartPrint();
- void EndofPrint();
- BOOL StartPage();
- void NewAnPage();
- void EndofPage();
- public:
-
- BOOL LoadTemplateFromJson(IN TString strTemplateJson);
-
- BOOL LoadTemplateFromFile(IN TString strTemplateFile);
-
- void SetPrinter(IN TString strPrinterName);
- BOOL LoadValuesFromJson(IN TString strJsonValues);
- BOOL LoadValuesFromFile(IN TString strJsonFile);
- };
- #endif
|