2020-03-11 01:58:06 +00:00
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "PaperSize.h"
|
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
namespace Device {
|
|
|
|
|
|
|
|
|
|
PaperSize::PaperSize()
|
|
|
|
|
{
|
|
|
|
|
InitPaperMap();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PaperSize::~PaperSize()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PaperSize::InitPaperMap()
|
|
|
|
|
{
|
2021-02-03 10:21:45 +00:00
|
|
|
|
papersize.insert({ A3,CSize(297,420) });
|
|
|
|
|
papersize.insert({ A4,CSize(210,297) });
|
|
|
|
|
papersize.insert({ A5,CSize(148,210) });
|
|
|
|
|
papersize.insert({ A6,CSize(105,148) });
|
|
|
|
|
papersize.insert({ B4,CSize(250,353) });
|
|
|
|
|
papersize.insert({ B5,CSize(176,250) });
|
|
|
|
|
papersize.insert({ B6,CSize(125,176) });
|
2021-11-20 03:09:04 +00:00
|
|
|
|
#ifdef G400
|
|
|
|
|
papersize.insert({ MaxSize,CSize(297,420 * 1.5) });
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#elif defined G300
|
|
|
|
|
papersize.insert({ MaxSize,CSize(210,335 * 2) });
|
2021-11-20 03:09:04 +00:00
|
|
|
|
#else
|
2021-02-03 10:21:45 +00:00
|
|
|
|
papersize.insert({ MaxSize,CSize(297,420 * 2) });
|
2021-11-20 03:09:04 +00:00
|
|
|
|
#endif
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#ifdef G300
|
|
|
|
|
papersize.insert({ USStatement,CSize(210,297 * 1.5) });
|
|
|
|
|
#else
|
2021-02-03 10:21:45 +00:00
|
|
|
|
papersize.insert({ USStatement,CSize(297,420 * 1.5) });
|
2022-05-24 12:05:47 +00:00
|
|
|
|
#endif // G300
|
2021-02-03 10:21:45 +00:00
|
|
|
|
papersize.insert({ USLetter,CSize(216,279) });
|
|
|
|
|
papersize.insert({ USLegal,CSize(216,356) });
|
2021-04-13 09:30:05 +00:00
|
|
|
|
papersize.insert({ USLedger,CSize(279,432) });
|
2021-02-03 10:21:45 +00:00
|
|
|
|
papersize.insert({ None,CSize(297,420) });
|
2021-04-06 01:31:21 +00:00
|
|
|
|
papersize.insert({ K8,CSize(270,390) });
|
|
|
|
|
papersize.insert({ K16,CSize(190,270) });
|
2021-05-19 10:58:07 +00:00
|
|
|
|
papersize.insert({ Trigeminy,CSize(270,560) });
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CSize PaperSize::GetPaperSize(DWORD paperType, float dpi,int orentation)
|
|
|
|
|
{
|
2021-02-03 10:21:45 +00:00
|
|
|
|
if (papersize.find((TwSS)paperType) != papersize.end() && (dpi > 99 && dpi < 601)) {
|
|
|
|
|
CSize resize(2338,3307);
|
|
|
|
|
if (orentation == 0){
|
|
|
|
|
resize.cx = papersize[(TwSS)paperType].cx * dpi / 25.4;
|
|
|
|
|
resize.cy = papersize[(TwSS)paperType].cy * dpi / 25.4;
|
|
|
|
|
return resize;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
resize.cy = papersize[(TwSS)paperType].cx * dpi / 25.4;
|
|
|
|
|
resize.cx = papersize[(TwSS)paperType].cy * dpi / 25.4;
|
|
|
|
|
return resize;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return CSize(2338, 3307);
|
2021-02-03 10:21:45 +00:00
|
|
|
|
//auto iter = dpiDct.find({(TwSS)paperType, dpi});
|
|
|
|
|
//if (iter != dpiDct.end()) {
|
|
|
|
|
// if (orentation == 0)//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ת
|
|
|
|
|
// return iter->second;
|
|
|
|
|
// else if(orentation == 3)//<2F><>ת<EFBFBD><D7AA>ʮ<EFBFBD><CAAE>
|
|
|
|
|
// {
|
|
|
|
|
// CSize size;
|
|
|
|
|
// size.cx = iter->second.cy;
|
|
|
|
|
// size.cy = iter->second.cx;
|
|
|
|
|
// return size;
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
//return CSize(2338, 3307);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
}
|
|
|
|
|
}
|