samples/textDetection.js
async function main(inputDir) {
  const index = new Index();
  try {
    const files = await readdir(inputDir);

    // Get a list of all files in the directory (filter out other directories)
    const allImageFiles = (await Promise.all(
      files.map(async file => {
        const filename = path.join(inputDir, file);
        const stats = await stat(filename);
        if (!stats.isDirectory()) {
          return filename;
        }
      })
    )).filter(f => !!f);

    // Figure out which files have already been processed
    let imageFilesToProcess = (await Promise.all(
      allImageFiles.map(async filename => {
        const processed = await index.documentIsProcessed(filename);
        if (!processed) {
          // Forward this filename on for further processing
          return filename;
        }
      })
    )).filter(file => !!file);

    // The batch endpoint won't handle
    if (imageFilesToProcess.length > 15) {
      console.log(
        'Maximum of 15 images allowed. Analyzing the first 15 found.'
      );
      imageFilesToProcess = imageFilesToProcess.slice(0, 15);
    }

    // Analyze any remaining unprocessed files
    if (imageFilesToProcess.length > 0) {
      console.log('Files to process: ');
      await getTextFromFiles(index, imageFilesToProcess);
    }
    console.log('All files processed!');
  } catch (e) {
    console.error(e);
  }
  index.quit();
}
async function main(inputDir) {
  const index = new Index();
  try {
    const files = await readdir(inputDir);

    // Get a list of all files in the directory (filter out other directories)
    const allImageFiles = (await Promise.all(
      files.map(async file => {
        const filename = path.join(inputDir, file);
        const stats = await stat(filename);
        if (!stats.isDirectory()) {
          return filename;
        }
      })
    )).filter(f => !!f);

    // Figure out which files have already been processed
    let imageFilesToProcess = (await Promise.all(
      allImageFiles.map(async filename => {
        const processed = await index.documentIsProcessed(filename);
        if (!processed) {
          // Forward this filename on for further processing
          return filename;
        }
      })
    )).filter(file => !!file);

    // The batch endpoint won't handle
    if (imageFilesToProcess.length > 15) {
      console.log(
        'Maximum of 15 images allowed. Analyzing the first 15 found.'
      );
      imageFilesToProcess = imageFilesToProcess.slice(0, 15);
    }

    // Analyze any remaining unprocessed files
    if (imageFilesToProcess.length > 0) {
      console.log('Files to process: ');
      await getTextFromFiles(index, imageFilesToProcess);
    }
    console.log('All files processed!');
  } catch (e) {
    console.error(e);
  }
  index.quit();
}
async function main ( inputDir ) { const index = new Index ( ) ; try { const files = await readdir ( inputDir ) ; // Get a list of all files in the directory (filter out other directories) const allImageFiles = ( await Promise . all ( files . map ( async file => { const filename = path . join ( inputDir , file ) ; const stats = await stat ( filename ) ; if ( ! stats . isDirectory ( ) ) { return filename ; } } ) ) ) . filter ( f => ! ! f ) ; // Figure out which files have already been processed let imageFilesToProcess = ( await Promise . all ( allImageFiles . map ( async filename => { const processed = await index . documentIsProcessed ( filename ) ; if ( ! processed ) { // Forward this filename on for further processing return filename ; } } ) ) ) . filter ( file => ! ! file ) ; // The batch endpoint won't handle if ( imageFilesToProcess . length > 15 ) { console . log ( 'Maximum of 15 images allowed. Analyzing the first 15 found.' ) ; imageFilesToProcess = imageFilesToProcess . slice ( 0 , 15 ) ; } // Analyze any remaining unprocessed files if ( imageFilesToProcess . length > 0 ) { console . log ( 'Files to process: ' ) ; await getTextFromFiles ( index , imageFilesToProcess ) ; } console . log ( 'All files processed!' ) ; } catch ( e ) { console . error ( e ) ; } index . quit ( ) ; }
Main entry point for the program.
@param {string} inputDir The directory in which to run the sample.
@returns {Promise<void>}
Main entry point for the program .