fix(core): update

This commit is contained in:
Philipp Kunz 2021-11-29 16:29:15 +01:00
parent 19e3ba3362
commit 75ef50d072
8 changed files with 133 additions and 233 deletions

276
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,12 @@
"tslint": "^6.1.3", "tslint": "^6.1.3",
"tslint-config-prettier": "^1.15.0" "tslint-config-prettier": "^1.15.0"
}, },
"dependencies": {}, "dependencies": {
"@pushrocks/smartfile": "^8.0.10",
"@pushrocks/smartpromise": "^3.1.6",
"@pushrocks/smartshell": "^2.0.30",
"@pushrocks/smartunique": "^3.0.3"
},
"browserslist": [ "browserslist": [
"last 1 chrome versions" "last 1 chrome versions"
], ],

Binary file not shown.

View File

@ -1,8 +1,18 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import * as smartocr from '../ts/index'; import * as smartocr from '../ts/index';
tap.test('first test', async () => { let testOcrInstance: smartocr.SmartOcr;
console.log(smartocr.standardExport);
tap.test('should create a valid instance of Smartocr', async () => {
testOcrInstance = await smartocr.SmartOcr.createAndInit();
expect(testOcrInstance).to.be.instanceOf(smartocr.SmartOcr);
});
tap.test('should ocr a pdfBuffer', async () => {
const smartfile = await import('@pushrocks/smartfile');
const pdfBuffer = (await smartfile.Smartfile.fromFilePath('./test/demo_without_textlayer.pdf'))
.contentBuffer;
testOcrInstance.processPdfBuffer(pdfBuffer);
}); });
tap.start(); tap.start();

View File

@ -1,3 +1 @@
import * as plugins from './smartocr.plugins'; export * from './smartocr.classes.smartocr';
export let standardExport = 'Hi there! :) This is an exported string';

View File

@ -0,0 +1,40 @@
import * as plugins from './smartocr.plugins';
import * as paths from './smartocr.paths';
export class SmartOcr {
// STATIC
public static async createAndInit() {
const smartocrInstance = new SmartOcr();
await smartocrInstance.init();
return smartocrInstance;
}
// INSTANCE
public readyDeferred = plugins.smartpromise.defer();
public smartshellInstance: plugins.smartshell.Smartshell;
public async processPdfBuffer (pdfBufferArg: Buffer): Promise<Buffer> {
const uniqueString = plugins.smartunique.uni('doc_');
const originalPath = plugins.path.join(paths.noGitDir, `${uniqueString}.pdf`);
const processedPath = plugins.path.join(paths.noGitDir, `${uniqueString}_processed.pdf`);
const originalSmartfile = await plugins.smartfile.Smartfile.fromBuffer(originalPath, pdfBufferArg);
await originalSmartfile.write();
await this.smartshellInstance.exec(`ocrmypdf --rotate-pages ${originalPath} ${processedPath}`);
const processedSmartfile = await plugins.smartfile.Smartfile.fromFilePath(processedPath);
await plugins.smartfile.fs.remove(originalPath);
await plugins.smartfile.fs.remove(processedPath);
return processedSmartfile.contentBuffer;
}
constructor() {
this.smartshellInstance = new plugins.smartshell.Smartshell({
executor: 'bash'
});
}
public async init() {
await plugins.smartfile.fs.ensureDir(paths.noGitDir);
const result = await plugins.smartshell.which('ocrmypdf');
}
}

4
ts/smartocr.paths.ts Normal file
View File

@ -0,0 +1,4 @@
import * as plugins from './smartocr.plugins';
export const packageDir = plugins.path.join(__dirname, '../');
export const noGitDir = plugins.path.join(packageDir, './.nogit');

View File

@ -1,2 +1,19 @@
const removeme = {}; // node native
export { removeme }; import * as path from 'path';
export {
path
}
// @pushrocks scope
import * as smartfile from '@pushrocks/smartfile';
import * as smartshell from '@pushrocks/smartshell';
import * as smartunique from '@pushrocks/smartunique';
import * as smartpromise from '@pushrocks/smartpromise';
export {
smartfile,
smartshell,
smartunique,
smartpromise
}