From e90186304f65724193bf182880945218c3380fe7 Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Thu, 2 Mar 2023 11:21:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E6=99=B6=E5=AF=BC=E5=87=BA=E5=92=8C?= =?UTF-8?q?=E5=8F=A6=E5=AD=98=E4=B8=BA=E6=B7=BB=E5=8A=A0ocr=E5=A4=9A?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scanner/Scanner_zh_CN.qm | Bin 38292 -> 39026 bytes app/scanner/Scanner_zh_CN.ts | 380 ++++++++++++++----------- app/scanner/Scanner_zh_EN.qm | Bin 51996 -> 52902 bytes app/scanner/Scanner_zh_EN.ts | 380 ++++++++++++++----------- app/scanner/dialog_export.cpp | 21 ++ app/scanner/dialog_export.ui | 275 +++++++++--------- app/scanner/dialog_exportimagefile.cpp | 3 +- app/scanner/dialog_saveas.cpp | 21 ++ app/scanner/dialog_saveas.ui | 17 ++ app/scanner/mainwindow.cpp | 2 +- app/scanner/ocrPdf.cpp | 25 +- app/scanner/ocrPdf.h | 2 +- 12 files changed, 674 insertions(+), 452 deletions(-) diff --git a/app/scanner/Scanner_zh_CN.qm b/app/scanner/Scanner_zh_CN.qm index f57ab4a858db6c3edae6a18d6d389fa72c893a02..4e0c79d3c371953e073ccfcd3e3c73fefe65e871 100644 GIT binary patch delta 4877 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 HgV+B6!y&h* diff --git a/app/scanner/Scanner_zh_CN.ts b/app/scanner/Scanner_zh_CN.ts index 64dcf13c..5796c592 100644 --- a/app/scanner/Scanner_zh_CN.ts +++ b/app/scanner/Scanner_zh_CN.ts @@ -496,7 +496,7 @@ Continue to clear? 导出 - + Input is not valid. Page range will be "Chosen Pages". @@ -505,50 +505,80 @@ Page range will be "Chosen Pages". 页面范围将是“所选页面。默认切换“被选页码 - + + Ocr type: + OCR类型: + + + Compression Option 压缩选项 - + Page Range 页码范围 - + Chosen Pages 被选页码 - + All Pages 所有页码 - + Nominate Pages(example:1,3,6 or 3-6) 指定页码(例如:1,3,6 或者3-6) - + Page: 页码 - + Save as multipages (TIFF/PDF/OFD/GIF) Save as multipages (TIFF/PDF/OFD) 多页保存(TIFF/PDF/OFD/GIF) - - + + Input is not valid. Page range will be 'Chosen Pages'. 输入无效。 页码范围将是“被选页码” + + + English + 英语 + + + + Simplified Chinese + 中文(简体) + + + + Traditional Chinese + 中文(繁体) + + + + Japanese + 日文 + + + + Korean + 韩文 + Dialog_ExportImageFile @@ -563,17 +593,17 @@ Page range will be 'Chosen Pages'. 停止导出 - + export failed: 导出失败: - + tip 提示 - + export succeed 导出完成 @@ -1556,6 +1586,36 @@ Please make sure the two passwords are the same. Use subfolder based on current date 使用当前日期建立子文件夹 + + + Ocr type: + OCR类型: + + + + English + 英语 + + + + Simplified Chinese + 中文(简体) + + + + Traditional Chinese + 中文(繁体) + + + + Japanese + 日文 + + + + Korean + 韩文 + Dialog_SaveMessageBox @@ -2262,8 +2322,8 @@ bug description: - - + + Question 询问 @@ -2325,12 +2385,12 @@ Do you want to clear? 磁盘空间不足,请删除不需要的文件,以保证有足够的空间 - + Open images 打开图片 - + Insert images 插入图片 @@ -2360,14 +2420,14 @@ Do you want to clear? - - - - - - - - + + + + + + + + Please wake up the device manually 请手动唤醒设备 @@ -2387,216 +2447,216 @@ Do you want to clear? 取消 - - - + + + save succeed 保存成功 - - + + find savePath in thumbnail 图片名在列表中已存在 - + Please select at least one picture before export 请至少选中一张图片再进行导出 - + File name 文件名 - + File path 文件路径 - + File size 文件大小 - + Creation date/time 创建时间 - + Modified date/time 修改时间 - + Accessed date/time 访问时间 - + Format 格式 - + Width 宽度 - + Height 高度 - + depth 深度 - + Color model 色彩模式 - + DPI 每英寸像素点 - + Print size 打印尺寸 - + Frame - + None - + Mono 黑白 - + Gray 灰度 - + Color 彩色 - + Not supported 不支持 - + Warning 警告 - + Device is Running! Please finish scanning first. 设备正在运行! 请先结束扫描。 - + cache path folder limit:%1 无法访问当前缓存路径:%1 请尝试在【用户】菜单登录管理员账户,前往【缓存设置】更改缓存路径。 - + aquireinto folder limit:%1 无法访问当前缓存路径:%1 请尝试在【扫描到】更改缓存路径。 - + Image processing failed 图像处理失败 - + Ocr init failed OCR初始化错误 - + Ocr failed OCR错误 - + File does not exist 文件不存在 - + Failed to load dynamic library 加载动态库失败 - + File data error 文件数据错误 - + Image format processing error 图像格式处理错误 - + Out of memory 内存不足 - + Failed 错误 - - + + The language switch is successful and takes effect the next time the software is started! 语言切换成功,下次启动软件时生效! - + Are you sure to delete selected file? 您确定彻底删除选中项文件? - - - - - - - - + + + + + + + + already waked up device 已唤醒设备 - + be ready 就绪 @@ -2606,7 +2666,7 @@ Please finish scanning first. 请尝试在【用户】菜单登录管理员账户,前往【缓存设置】更改缓存路径 - + Insufficient access rights 文件访问权限不足 @@ -2619,46 +2679,46 @@ Please finish scanning first. 图像处理失败 - + Are you sure to close 您确定要断开设备: - + ? 吗? - - + + close 关闭 - + tip 提示 - + Other versions not available 未获取到其他版本 - - + + The device does not support this operation 设备不支持该操作 - - + + IO error IO错误 - - + + error 错误 @@ -2673,17 +2733,17 @@ Continue to close? 是否继续关闭? - + Sure to sign out administrator account? 是否确定登出管理员账户? - + confirm the operation 确认操作 - + Are you sure to clear the rollor acount? 你确定要清除滚轴计数吗 @@ -2692,36 +2752,36 @@ Continue to close? 请重新进入关于界面以获取最新值 - - + + <p>%1: <a href='%2'>%3</a> - - + + <p>%1: %2 - + roller number 滚轴张数 - + open scanner 打开扫描仪 - - + + app name 华高扫描软件 - - + + success 成功 @@ -2738,22 +2798,22 @@ Continue to close? 失败 - - + + failed 失败 - + warning 警告 - + the disk space in the current path is unsufficient, please select a new path or clear the disk space in time. 当前路径磁盘空间不足, 请重新选择路径或及时清理磁盘空间。 @@ -2763,7 +2823,7 @@ Continue to close? 配置丢失 - + apply setting 应用配置 @@ -2771,18 +2831,18 @@ Continue to close? - - - - - - - - - - - - + + + + + + + + + + + + start failed 启动失败 @@ -2931,25 +2991,25 @@ Continue to close? - - - - - - - - - + + + + + + + + + save image doc failed: 保存图片文件失败: - + start failed! 启动安装程序失败! - + There are pictures that have not been saved. Are you sure to close? 有图像未保存,确定关闭? @@ -2960,63 +3020,63 @@ Are you sure to close? 发现设备 : %1 - - - - - - - - - - - - - + + + + + + + + + + + + + tips 提示 - + Are you sure to close? 确定关闭应用软件? - + confirm operation 确认操作 - + are you sure to clear the roller count? 您确定要清除滚轴计数吗 - - - + + + hint 提示 - - + + Roller scanned count has been set to 0. 辊轴计数已置零 - - + + Roller scanned count reset failed. 重置滚轴计数失败 - + Error 错误 - + Document missing! It would be deleted or renamed. 文档丢失!文档可能已被删除或被重命名。 @@ -3057,21 +3117,21 @@ Are you sure to close? <p>%1</p><p>版本: %2<br>版权: &#169; %3</p><p>%4%5%6%7%8%9</p> - - + + about %1 关于 %1 - - + + <p>Version: %1</p> <p>版本: %1</p> <p>版本: %1</p> - - + + <p>CopyRight: &#169; %1</p> <p>版权: &#169; %1</p> <p>版权: &#169; %1</p> diff --git a/app/scanner/Scanner_zh_EN.qm b/app/scanner/Scanner_zh_EN.qm index a063164a2c08cc2366c119a51a86d217d20bcf25..88b4f9b50423ee9a5afad43caf5d993bc785c20c 100644 GIT binary patch delta 5216 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 delta 4505 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 acjrEA?V!ocXw#@&YIbzn+_bTkBmV~~1|dWM diff --git a/app/scanner/Scanner_zh_EN.ts b/app/scanner/Scanner_zh_EN.ts index bedc410f..47da6a89 100644 --- a/app/scanner/Scanner_zh_EN.ts +++ b/app/scanner/Scanner_zh_EN.ts @@ -470,32 +470,32 @@ Continue clearing? Export - + Page Range Page range - + Nominate Pages(example:1,3,6 or 3-6) Specific page number (For example:1,3,6 or 3-6) - + Chosen Pages Selected pages - + All Pages All pages - + Page: Page number: - + Input is not valid. Page range will be "Chosen Pages". @@ -504,12 +504,17 @@ Page range will be "Chosen Pages". The page range will be “selected pages” - + Save as multipages (TIFF/PDF/OFD/GIF) Save multiple pages(TIFF/PDF/OFD/GIF) - + + Ocr type: + OCR type: + + + Compression Option Compression options @@ -523,13 +528,38 @@ The page range will be “selected pages” - - + + Input is not valid. Page range will be 'Chosen Pages'. Input invalid. The page range will be “selected pages” + + + English + English + + + + Simplified Chinese + Simplified Chinese + + + + Traditional Chinese + Traditional Chinese + + + + Japanese + Japanese + + + + Korean + Korean + Dialog_ExportImageFile @@ -544,17 +574,17 @@ The page range will be “selected pages” Stop exporting - + export succeed Export completed - + export failed: Export failed: - + tip Prompt @@ -1476,6 +1506,36 @@ Please make sure the two passwords are the same. Use subfolder based on current date Create a subfolder using the current date + + + Ocr type: + OCR type: + + + + English + English + + + + Simplified Chinese + Simplified Chinese + + + + Traditional Chinese + Traditional Chinese + + + + Japanese + Japanese + + + + Korean + Korean + Dialog_SaveMessageBox @@ -2195,8 +2255,8 @@ Please make sure the two passwords are the same. - - + + Question Ask @@ -2249,7 +2309,7 @@ Please make sure the two passwords are the same. - + the disk space in the current path is unsufficient, please select a new path or clear the disk space in time. Insufficient disk space for the current path. Please reselect a path or clear disk space immediately. @@ -2257,7 +2317,7 @@ Please reselect a path or clear disk space immediately. - + warning Warning @@ -2286,15 +2346,15 @@ Please reselect a path or clear disk space immediately. - - - - - - - - - + + + + + + + + + save image doc failed: Failed to save image: @@ -2317,46 +2377,46 @@ Please reselect a path or clear disk space immediately. - - - - - - - - - - - - + + + + + + + + + + + + start failed Failed to start - - - - - - - - + + + + + + + + Please wake up the device manually Please wake up the device manually - - - - - - - - + + + + + + + + already waked up device Device is awake @@ -2393,230 +2453,230 @@ Do you want to clear? Clear? - + Open images Open image - + Insert images Insert image - - - - - - - - - - - - - + + + + + + + + + + + + + tips prompt - - - + + + save succeed Saved successfully - - + + find savePath in thumbnail Image name already exists in the list - + Please select at least one picture before export Please select at least one image and then export - + File name File name - + File path File path - + File size File size - + Creation date/time Creation time - + Modified date/time Modification time - + Accessed date/time Access time - + Format Format - + Width Width - + Height Height - + depth Depth - + Color model Color mode - + DPI Pixels per inch - + Print size Print size - + Frame Frame - + None None - + Mono Black and white - + Gray Gray scale - + Color Color - + Not supported Not supported - + Warning Warning - + Device is Running! Please finish scanning first. Device is currently running! Please stop scanning first. - + There are pictures that have not been saved. Are you sure to close? There are unsaved images; are you sure you want to close? - + Are you sure to close? Are you sure you want to close? - + Sure to sign out administrator account? Are you sure you want to log out of the administrator account? - + confirm operation Confirm operation - + are you sure to clear the roller count? Are you sure you want to clear the roller count? - - - + + + hint Prompt - - + + Roller scanned count has been set to 0. Roller count reset to zero. - - + + Roller scanned count reset failed. Failed to reset roller count. - + Error Error - + Document missing! It would be deleted or renamed. File lost! File may be deleted or renamed. - + confirm the operation Confirm operation - + Are you sure to clear the rollor acount? Are you sure you want to clear the roller count? - + cache path folder limit:%1 Unable to access the current path:%1 Please try to log in to the administrator account in the [User] menu and go to the [Cache settings] to change the cache path. - + aquireinto folder limit:%1 Unable to access the current path:%1 Please try to change the cache path in [Scan to]. @@ -2630,76 +2690,76 @@ Please try to change the cache path in [Scan to]. <p>%1</p><p>Version: %2<br>Copyright: &#169; %3</p><p>%4%5%6%7%8%9</p> - - + + about %1 About %1 - - + + <p>Version: %1</p> <p>Version: %1</p> - - + + <p>CopyRight: &#169; %1</p> <p>Copyright: &#169; %1</p> - - + + <p>%1: <a href='%2'>%3</a> <p>%1: <a href='%2'>%3</a> - - + + <p>%1: %2 <p>%1: %2 - + roller number Number of rollers - + open scanner Open scanner - - + + app name HUAGOSCAN scanning software - - + + success successfully - + be ready Ready - - + + failed failed - - + + error Error - + start failed! Failed to start! @@ -2709,106 +2769,106 @@ Please try to change the cache path in [Scan to]. Please go to “Scan to” and change the accessible scan folder and then perform the scan. - + Insufficient access rights Insufficient file access permissions - + Image processing failed Image processing failed - + Ocr init failed OCR initialization error - + Ocr failed OCR failed - + File does not exist File does not exist - + Failed to load dynamic library Failed to load dynamic library - + File data error File data error - + Image format processing error Image format processing error - + Out of memory Insufficient memory - + Failed Failed - + apply setting Apply configuration - + Are you sure to close Are you sure you want to disconnect device: - + ? ? - - + + close Close - + tip Prompt - + Other versions not available No other versions obtained - - + + The device does not support this operation Device does not support this operation - - + + IO error IO error - - + + The language switch is successful and takes effect the next time the software is started! The language switch is successful and takes effect the next time the software is started! - + Are you sure to delete selected file? Are you sure to delete the selected file completely? diff --git a/app/scanner/dialog_export.cpp b/app/scanner/dialog_export.cpp index 2b844276..f99d338a 100644 --- a/app/scanner/dialog_export.cpp +++ b/app/scanner/dialog_export.cpp @@ -144,6 +144,16 @@ Dialog_Export::Dialog_Export(int total, const std::vector &selectedIndexs, ui->lab_warning->setVisible(true); ui->lab_warning->setText(tr("Input is not valid.\nPage range will be 'Chosen Pages'.")); } + + ui->label_ocrType->setVisible(false); + ui->comboBox_ocrType->setVisible(false); +#if defined(OEM_ZHONGJING) && defined(HG_CMP_MSC) + ui->label_ocrType->setVisible(isOcr()); + ui->comboBox_ocrType->setVisible(isOcr()); + QStringList ocrType = { tr("English"), tr("Simplified Chinese"), tr("Traditional Chinese"), tr("Japanese"), tr("Korean") }; + ui->comboBox_ocrType->addItems(ocrType); + ui->comboBox_ocrType->setCurrentIndex(getCfgValue("export", "ocrLanguage", 0)); +#endif } Dialog_Export::~Dialog_Export() @@ -273,6 +283,11 @@ void Dialog_Export::on_dialog_accepted() saveCfgValue("export", "exportType", exportType); saveCfgValue("export", "saveAsMulti", ui->check_saveAsMulti->isChecked()); +#if defined(OEM_ZHONGJING) && defined(HG_CMP_MSC) + int ocrLanguage = ui->comboBox_ocrType->currentIndex(); + saveCfgValue("export", "ocrLanguage", ocrLanguage); +#endif + accept(); } @@ -281,6 +296,12 @@ void Dialog_Export::on_filterSelected(const QString& filterName) bool enabled = false; m_suffix = ui->fileDialog->nameFilters().indexOf(filterName); + +#if defined(OEM_ZHONGJING) && defined(HG_CMP_MSC) + ui->label_ocrType->setVisible(isOcr()); + ui->comboBox_ocrType->setVisible(isOcr()); +#endif + enabled = (m_supportType[m_suffix].attr & FILE_TYPE_ATTR_CONTAIN_MULTI_PAGES) == FILE_TYPE_ATTR_CONTAIN_MULTI_PAGES; ui->check_saveAsMulti->setEnabled(enabled); // ui->check_saveAsMulti->setEnabled(m_suffix > 2 && m_suffix < 6); diff --git a/app/scanner/dialog_export.ui b/app/scanner/dialog_export.ui index a1ffec9f..d92bd3bc 100644 --- a/app/scanner/dialog_export.ui +++ b/app/scanner/dialog_export.ui @@ -13,148 +13,169 @@ Export - + - + - - - Page Range - - - - + + + + + Page Range + + - - - Nominate Pages(example:1,3,6 or 3-6) - - + + + + + Nominate Pages(example:1,3,6 or 3-6) + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Chosen Pages + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + All Pages + + + + - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Chosen Pages - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - All Pages - - - - - - - - - - - Page: - - - - - - - - - - true - - - color: rgb(216, 0, 0); - - - + + + + + Page: + + + + + + + + + + true + + + color: rgb(216, 0, 0); + + + Input is not valid. Page range will be "Chosen Pages". - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - - - - - - - - - Save as multipages (TIFF/PDF/OFD/GIF) - - + + + - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Compression Option - - + + + + + Save as multipages (TIFF/PDF/OFD/GIF) + + + + + + + Ocr type: + + + + + + + + 111 + 0 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Compression Option + + + + diff --git a/app/scanner/dialog_exportimagefile.cpp b/app/scanner/dialog_exportimagefile.cpp index 34dfdc18..ff723bcb 100644 --- a/app/scanner/dialog_exportimagefile.cpp +++ b/app/scanner/dialog_exportimagefile.cpp @@ -10,6 +10,7 @@ #include #include #include "ocrPdf.h" +#include "app_cfg.h" Dialog_ExportImageFile::Dialog_ExportImageFile(const QString &destPath, const QString &destName, const QString &destExt, bool isSaveAsMulti, int jpegQuality, int tiffCompressionBW, int tiffCompression, int tiffQuality, bool isOcr, @@ -116,7 +117,7 @@ void HGAPI Dialog_ExportImageFile::ThreadFunc(HGThread thread, HGPointer param) HGImgFmt_CloseImageWriter(writer); - bool result = createOcrPdf(tmpFileName, getStdString(fileName).c_str()); + bool result = createOcrPdf(tmpFileName, getStdString(fileName).c_str(), getCfgValue("export", "ocrLanguage", 0)); QFile::remove(tmpFileName); if (!result) { diff --git a/app/scanner/dialog_saveas.cpp b/app/scanner/dialog_saveas.cpp index e8ef4f12..3ec54285 100644 --- a/app/scanner/dialog_saveas.cpp +++ b/app/scanner/dialog_saveas.cpp @@ -107,6 +107,17 @@ Dialog_SaveAs::Dialog_SaveAs(QWidget *parent) : ui->cbox_subFolder->setChecked(false); ui->cbox_subFolder->setChecked(getCfgValue("saveAs", "subFolderByTime", false)); + + ui->label_ocrType->setVisible(false); + ui->comboBox_ocrType->setVisible(false); + +#if defined(OEM_ZHONGJING) && defined(HG_CMP_MSC) + ui->label_ocrType->setVisible(isOcr()); + ui->comboBox_ocrType->setVisible(isOcr()); + QStringList ocrType = { tr("English"), tr("Simplified Chinese"), tr("Traditional Chinese"), tr("Japanese"), tr("Korean") }; + ui->comboBox_ocrType->addItems(ocrType); + ui->comboBox_ocrType->setCurrentIndex(getCfgValue("saveAs", "ocrLanguage", 0)); +#endif } Dialog_SaveAs::~Dialog_SaveAs() @@ -224,6 +235,11 @@ void Dialog_SaveAs::on_dialog_accepted() m_savePath = getStdFileName(path + "/" + name + extName); } +#if defined(OEM_ZHONGJING) && defined(HG_CMP_MSC) + int ocrLanguage = ui->comboBox_ocrType->currentIndex(); + saveCfgValue("saveAs", "ocrLanguage", ocrLanguage); +#endif + saveCfgValue("saveAs", "suffix", m_suffix); saveCfgValue("saveAs", "subFolderByTime", ui->cbox_subFolder->isChecked()); accept(); @@ -233,6 +249,11 @@ void Dialog_SaveAs::on_filterSelected(const QString& filterName) { m_suffix = ui->fileDialog->nameFilters().indexOf(filterName); ui->btn_option->setEnabled(0 == m_suffix || 6 == m_suffix); + +#if defined(OEM_ZHONGJING) && defined(HG_CMP_MSC) + ui->label_ocrType->setVisible(isOcr()); + ui->comboBox_ocrType->setVisible(isOcr()); +#endif } void Dialog_SaveAs::on_btn_option_clicked() diff --git a/app/scanner/dialog_saveas.ui b/app/scanner/dialog_saveas.ui index 8d9775c0..b02c1f83 100644 --- a/app/scanner/dialog_saveas.ui +++ b/app/scanner/dialog_saveas.ui @@ -33,6 +33,23 @@ + + + + Ocr type: + + + + + + + + 101 + 0 + + + + diff --git a/app/scanner/mainwindow.cpp b/app/scanner/mainwindow.cpp index f57e1f7a..2b73ba80 100644 --- a/app/scanner/mainwindow.cpp +++ b/app/scanner/mainwindow.cpp @@ -435,7 +435,7 @@ HGResult MainWindow::saveImage(HGImage image, const HGImgFmtSaveInfo* info, bool HGChar tmpFileName[256]; HGBase_GetTmpFileName("bmp", tmpFileName, 256); ret = HGImgFmt_SaveImage(image, 0, info, tmpFileName); - bool result = createOcrPdf(tmpFileName, fileName); + bool result = createOcrPdf(tmpFileName, fileName, getCfgValue("saveAs", "ocrLanguage", 0)); QFile::remove(tmpFileName); return (result) ? HGBASE_ERR_OK : HGIMGPROC_ERR_OCR; #else diff --git a/app/scanner/ocrPdf.cpp b/app/scanner/ocrPdf.cpp index 9ed8d725..660db350 100644 --- a/app/scanner/ocrPdf.cpp +++ b/app/scanner/ocrPdf.cpp @@ -32,7 +32,7 @@ std::string getOcrPath() return ocrPath; } -bool createOcrPdf(const std::string &imgPath, const std::string &dstFile) +bool createOcrPdf(const std::string &imgPath, const std::string &dstFile, int languageType) { #ifdef HG_CMP_MSC std::string ocrPath = getOcrPath(); @@ -93,7 +93,28 @@ bool createOcrPdf(const std::string &imgPath, const std::string &dstFile) bool ret = false; char cmd[1024] = {0}; - sprintf(cmd, "tesseract.exe \"%s\" \"%s\" -l %s --psm %d --oem %d %s", imgPath.c_str(), prefix, "eng", 3, 3, "pdf"); + + if (0 == languageType) + { + sprintf(cmd, "tesseract.exe \"%s\" \"%s\" -l %s --psm %d --oem %d %s", imgPath.c_str(), prefix, "eng", 3, 3, "pdf"); + } + else if (1 == languageType) + { + sprintf(cmd, "tesseract.exe \"%s\" \"%s\" -l %s --psm %d --oem %d %s", imgPath.c_str(), prefix, "chi_sim", 3, 3, "pdf"); + } + else if (2 == languageType) + { + sprintf(cmd, "tesseract.exe \"%s\" \"%s\" -l %s --psm %d --oem %d %s", imgPath.c_str(), prefix, "chi_tra", 3, 3, "pdf"); + } + else if (3 == languageType) + { + sprintf(cmd, "tesseract.exe \"%s\" \"%s\" -l %s --psm %d --oem %d %s", imgPath.c_str(), prefix, "jpn", 3, 3, "pdf"); + } + else if (4 == languageType) + { + sprintf(cmd, "tesseract.exe \"%s\" \"%s\" -l %s --psm %d --oem %d %s", imgPath.c_str(), prefix, "kor", 3, 3, "pdf"); + } + BOOL b = CreateProcessA(NULL, cmd, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &StartupInfo, &ProcessInfo); if (b) { diff --git a/app/scanner/ocrPdf.h b/app/scanner/ocrPdf.h index f2dbcffb..e500ee45 100644 --- a/app/scanner/ocrPdf.h +++ b/app/scanner/ocrPdf.h @@ -4,6 +4,6 @@ #include std::string getOcrPath(); -bool createOcrPdf(const std::string &imgPath, const std::string &dstFile); +bool createOcrPdf(const std::string &imgPath, const std::string &dstFile, int languageType);//languageType is the index of the comboBox on export and save_as ui. #endif /* __OCRPDF_H__ */