@xuda.io/drive_module 1.1.951 → 1.1.952
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -125
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -25,6 +25,7 @@ const fse = require("fs-extra");
|
|
|
25
25
|
const crypto = require("node:crypto");
|
|
26
26
|
const unzipper = require("unzipper");
|
|
27
27
|
const fs = require("fs");
|
|
28
|
+
const tesseract = require("node-tesseract-ocr");
|
|
28
29
|
|
|
29
30
|
////////////////////////////////////////////
|
|
30
31
|
|
|
@@ -1725,7 +1726,6 @@ const ocr_drive_file = async function (app_id, doc) {
|
|
|
1725
1726
|
|
|
1726
1727
|
switch (doc.mime.split("/")[0]) {
|
|
1727
1728
|
case "image": {
|
|
1728
|
-
const tesseract = require("node-tesseract-ocr");
|
|
1729
1729
|
ocr = await tesseract.recognize(target_file, {
|
|
1730
1730
|
// lang: "eng",
|
|
1731
1731
|
lang: "eng+heb",
|
|
@@ -1740,7 +1740,6 @@ const ocr_drive_file = async function (app_id, doc) {
|
|
|
1740
1740
|
switch (doc.mime.split("/")[1]) {
|
|
1741
1741
|
case "pdf": {
|
|
1742
1742
|
const { convertPDF } = require("pdf2image");
|
|
1743
|
-
const tesseract = require("node-tesseract-ocr");
|
|
1744
1743
|
|
|
1745
1744
|
const images = await convertPDF(target_file);
|
|
1746
1745
|
for await (const imageData of images) {
|
|
@@ -1806,129 +1805,6 @@ const ocr_drive_file = async function (app_id, doc) {
|
|
|
1806
1805
|
}
|
|
1807
1806
|
};
|
|
1808
1807
|
|
|
1809
|
-
// const ocr_drive_file = async function (doc) {
|
|
1810
|
-
// const { drive_type, target_file } = doc;
|
|
1811
|
-
// var doc_ret;
|
|
1812
|
-
// try {
|
|
1813
|
-
// doc.ocr_stat = 2;
|
|
1814
|
-
// doc.ocr_stat_date = Date.now();
|
|
1815
|
-
// switch (drive_type) {
|
|
1816
|
-
// case "workspace":
|
|
1817
|
-
// case "studio":
|
|
1818
|
-
// const app_id_reference = await _common.get_project_app_id(doc.app_id);
|
|
1819
|
-
// await db_module.save_app_couch_doc(app_id_reference, doc);
|
|
1820
|
-
// doc_ret = await db_module.get_app_couch_doc(app_id_reference, doc._id);
|
|
1821
|
-
// break;
|
|
1822
|
-
|
|
1823
|
-
// case "user":
|
|
1824
|
-
// await db_module.save_couch_doc("xuda_drive", doc);
|
|
1825
|
-
// doc_ret = await db_module.get_couch_doc("xuda_drive", doc._id);
|
|
1826
|
-
// break;
|
|
1827
|
-
|
|
1828
|
-
// default:
|
|
1829
|
-
// throw new Error("drive_type error");
|
|
1830
|
-
// break;
|
|
1831
|
-
// }
|
|
1832
|
-
|
|
1833
|
-
// doc = await get_drive_doc("file",drive_type,)//doc_ret.data;
|
|
1834
|
-
|
|
1835
|
-
// var ocr = "";
|
|
1836
|
-
|
|
1837
|
-
// switch (doc.mime.split("/")[0]) {
|
|
1838
|
-
// case "image": {
|
|
1839
|
-
// const tesseract = require("node-tesseract-ocr");
|
|
1840
|
-
// ocr = await tesseract.recognize(target_file, {
|
|
1841
|
-
// lang: "eng",
|
|
1842
|
-
// oem: 1,
|
|
1843
|
-
// psm: 3,
|
|
1844
|
-
// });
|
|
1845
|
-
|
|
1846
|
-
// break;
|
|
1847
|
-
// }
|
|
1848
|
-
|
|
1849
|
-
// case "application": {
|
|
1850
|
-
// switch (doc.mime.split("/")[1]) {
|
|
1851
|
-
// case "pdf": {
|
|
1852
|
-
// const { convertPDF } = require("pdf2image");
|
|
1853
|
-
// const tesseract = require("node-tesseract-ocr");
|
|
1854
|
-
|
|
1855
|
-
// const images = await convertPDF(target_file);
|
|
1856
|
-
// for await (const imageData of images) {
|
|
1857
|
-
// ocr += await tesseract.recognize(imageData.path, {
|
|
1858
|
-
// lang: "eng",
|
|
1859
|
-
// oem: 1,
|
|
1860
|
-
// psm: 3,
|
|
1861
|
-
// });
|
|
1862
|
-
// }
|
|
1863
|
-
// break;
|
|
1864
|
-
// }
|
|
1865
|
-
|
|
1866
|
-
// case "vnd.openxmlformats-officedocument.wordprocessingml.document": {
|
|
1867
|
-
// const mammoth = require("mammoth");
|
|
1868
|
-
// ocr = (await mammoth.extractRawText({ path: target_file })).value;
|
|
1869
|
-
// break;
|
|
1870
|
-
// }
|
|
1871
|
-
|
|
1872
|
-
// case "nd.ms-excel":
|
|
1873
|
-
// case "vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
|
|
1874
|
-
// const xlsx = require("node-xlsx").default;
|
|
1875
|
-
|
|
1876
|
-
// const sheets = xlsx.parse(target_file);
|
|
1877
|
-
// sheets.forEach((sheet) => {
|
|
1878
|
-
// console.log(`Sheet: ${sheet.name}`);
|
|
1879
|
-
// sheet.data.forEach((row) => {
|
|
1880
|
-
// ocr += row.join(" "); // Join all cells in the row
|
|
1881
|
-
// });
|
|
1882
|
-
// });
|
|
1883
|
-
// break;
|
|
1884
|
-
// }
|
|
1885
|
-
|
|
1886
|
-
// case "vnd.ms-powerpoint":
|
|
1887
|
-
// case "vnd.openxmlformats-officedocument.presentationml.presentation":
|
|
1888
|
-
// // tbd
|
|
1889
|
-
// break;
|
|
1890
|
-
|
|
1891
|
-
// default:
|
|
1892
|
-
// ocr = (await fs_module.read_file(target_file)).data;
|
|
1893
|
-
// break;
|
|
1894
|
-
// }
|
|
1895
|
-
// break;
|
|
1896
|
-
// }
|
|
1897
|
-
|
|
1898
|
-
// case "text": {
|
|
1899
|
-
// ocr = (await fs_module.read_file(target_file)).data;
|
|
1900
|
-
// break;
|
|
1901
|
-
// }
|
|
1902
|
-
|
|
1903
|
-
// default:
|
|
1904
|
-
// break;
|
|
1905
|
-
// }
|
|
1906
|
-
|
|
1907
|
-
// doc.ocr = ocr.replace(/<\/?[^>]+(>|$)/g, "").replace(/[\n\t]/g, "");
|
|
1908
|
-
// doc.ocr_stat = 3;
|
|
1909
|
-
// } catch (err) {
|
|
1910
|
-
// doc.ocr_stat = 4;
|
|
1911
|
-
// } finally {
|
|
1912
|
-
// doc.ocr_stat_ts = Date.now();
|
|
1913
|
-
|
|
1914
|
-
// var save_ret;
|
|
1915
|
-
// switch (drive_type) {
|
|
1916
|
-
// case "workspace":
|
|
1917
|
-
// case "studio":
|
|
1918
|
-
// const app_id_reference = await _common.get_project_app_id(doc.app_id);
|
|
1919
|
-
// await db_module.save_app_couch_doc(app_id_reference, doc);
|
|
1920
|
-
// break;
|
|
1921
|
-
|
|
1922
|
-
// case "user":
|
|
1923
|
-
// await db_module.save_couch_doc("xuda_drive", doc);
|
|
1924
|
-
// break;
|
|
1925
|
-
|
|
1926
|
-
// default:
|
|
1927
|
-
// break;
|
|
1928
|
-
// }
|
|
1929
|
-
// }
|
|
1930
|
-
// };
|
|
1931
|
-
|
|
1932
1808
|
const validate_drive_type = function (drive_type) {
|
|
1933
1809
|
if (!["studio", "workspace", "user"].includes(drive_type)) {
|
|
1934
1810
|
throw new Error(
|