diff --git a/sdk/webscan/WebUser.cpp b/sdk/webscan/WebUser.cpp index 5e49e1aa..8be87975 100644 --- a/sdk/webscan/WebUser.cpp +++ b/sdk/webscan/WebUser.cpp @@ -237,6 +237,18 @@ WebUser::WebUser(WebServer* server, HGUInt id, HGMsgPump msgPump, const std::str SANE_Int version_code = 0; sane_init_ex(&version_code, sane_ex_callback, this); + +#if defined(HG_CMP_MSC) + Sleep(500); +#else + usleep(500 * 1000); +#endif + + if (!m_server->IsOld()) + { + std::string cmd = "CDEV"; + PostCmdMsg((const HGByte*)cmd.c_str(), (HGUInt)cmd.size()); + } } WebUser::~WebUser() @@ -867,7 +879,7 @@ void WebUser::GetSettingInfoNew(const std::string& devName) AddOptItem(optJson, arrayJson, "filetype", m_filetype.c_str(), fileTypeList); const char* showBase64List[] = { "0", "1", NULL }; AddOptItem(optJson, arrayJson, "showbase64", m_showbase64.c_str(), showBase64List); - const char* sourceList[] = { "Adf-duplex", NULL }; + const char* sourceList[] = { "Adf-front", "Adf-back", "Adf-duplex", NULL }; AddOptItem(optJson, arrayJson, "source", m_source.c_str(), sourceList); const char* modeList[] = { "Lineart", "Gray", "Color", NULL }; AddOptItem(optJson, arrayJson, "mode", m_mode.c_str(), modeList); @@ -1759,27 +1771,6 @@ std::string WebUser::GetBase64(const std::string& filePath) fclose(file); } - if (!base64.empty()) - { - HGUInt imgType = 0; - HGImgFmt_GetImgFmtType(filePath.c_str(), &imgType); - - std::string prefix; - if (HGIMGFMT_TYPE_JPEG == imgType) - prefix = "data:image/jpeg;base64,"; - else if (HGIMGFMT_TYPE_BMP == imgType) - prefix = "data:image/bmp;base64,"; - else if (HGIMGFMT_TYPE_PNG == imgType) - prefix = "data:image/png;base64,"; - else if (HGIMGFMT_TYPE_TIFF == imgType) - prefix = "data:image/tiff;base64,"; - else if (HGIMGFMT_TYPE_PDF == imgType) - prefix = "data:application/pdf;base64,"; - else if (HGIMGFMT_TYPE_PNM == imgType) - prefix = "data:image/pnm;base64,"; - base64.insert(0, prefix); - } - return base64; } @@ -1898,6 +1889,25 @@ void WebUser::SetParam(const std::string& devParam) cJSON_Delete(json); } + if (m_source == "Adf-front") + { + SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_DM); + HGBool b = HGFALSE; + SetParam(OPTION_TITLE_JHZFM, &b); + } + else if (m_source == "Adf-back") + { + SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_DM); + HGBool b = HGTRUE; + SetParam(OPTION_TITLE_JHZFM, &b); + } + else + { + SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_SM); + HGBool b = HGFALSE; + SetParam(OPTION_TITLE_JHZFM, &b); + } + if (m_mode == "Lineart") { SetParam(OPTION_TITLE_YSMS, OPTION_VALUE_YSMS_HB); @@ -1946,7 +1956,8 @@ void WebUser::SetParam(const std::string& devParam) if (m_blankpageskip == "yes") { - SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_TGKBYTY); + HGBool b = HGTRUE; + SetParam(OPTION_TITLE_TGKBY, &b); HGInt value = 50; if (m_blankpageskipsensitivity == "1") @@ -1961,7 +1972,8 @@ void WebUser::SetParam(const std::string& devParam) } else { - SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_SM); + HGBool b = HGFALSE; + SetParam(OPTION_TITLE_TGKBY, &b); } if (atoi(m_deletefilesbeforescan.c_str())) diff --git a/test/webscan-new/web-api.html b/test/webscan-new/web-api.html index 2efc8fb0..f54cf173 100644 --- a/test/webscan-new/web-api.html +++ b/test/webscan-new/web-api.html @@ -66,7 +66,7 @@ if (base64) { var myCanvas = document.getElementById("myCanvas"); - myCanvas.src = base64; + myCanvas.src = "data:image/png;base64," + base64; } } @@ -81,7 +81,7 @@ if (imgbase64data) { var myCanvas = document.getElementById("myCanvas"); - myCanvas.src = imgbase64data; + myCanvas.src = "data:image/jpeg;base64," + imgbase64data; } }