Closed

Status
Not open for further replies.
Here's the modified code with the search bar and all fields/information removed, and a box added for scanned text:

HTML:
<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">
  <title>LEO'S OCR</title>
  <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>
</head>
<body>
<div class="container-fluid">
  <h2>OCR SAMPLE</h2>
  <div class="col-xs-6">
    <form id="form" action="javascript:void(0)">
      <div class="form-group">
        <input id="file" type="file"/>
      </div>
      <div class="form-group">
        <select class="form-control" id="lang">
          <option value="eng">English</option>
        </select>
      </div>
      <div class="form-group">
        <input class="btn btn-default" type="submit" value="submit"/>
      </div>
    </form>
    <div id="result"></div>
  </div>
  <div class="col-xs-6">
    <div id="progress"></div>
  </div>
</div>

<div class="container">
  <div id="content">
    <div class="table-responsive-xl">
      <table id="myTable" class="table table-hover">
        <tr class="header">
          <th style="width:60%;">Fields</th>
          <th style="width:40%;">Information</th>
        </tr>
      </table>
    </div>
  </div>
</div>

<div id="scannedText"></div>

<button id="cmd">Generate PDF</button>

<script src='https://cdn.rawgit.com/naptha/tesseract.js/0.2.0/dist/tesseract.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js'></script>
<script src='./script.js'></script>

</body>
</html>

And the updated script.js file:
JavaScript:
$("#form").on("submit", e => {
  e.preventDefault();

  const file_list = $("#file").prop("files");
  if (_.isEmpty(file_list)) {
    alert("file Empty");
    return;
  }
  const file = file_list[0];
  if (file.type.indexOf("image") === -1) {
    alert("Image");
    return;
  }

  let status = {};
  Tesseract.recognize(file, { lang: $("#lang").val() }).
  progress(result => {
    let p = result.progress * 100;
    if (!status[result.status]) {
      status[result.status] = true;
      $("#progress").append(`
          <p>${result.status}</p>
          <div class="progress">
            <div class="progress-bar progress-bar${_.size(status)}"></div>
          <div>
        `);
    }
    if (_.isNaN(p)) {
      p = 100;
    }
    $([ICODE].progress-bar${_.size(status)}[/ICODE]).
    css({ width: [ICODE]${p}%[/ICODE] }).
    text(parseFloat(p).toFixed(2));
  }).
  catch(() => {
    $(".progress-bar").addClass("progress-bar-error");
    alert("Empty");
  }).
  then(result => {
    $(".progress-bar").addClass("progress-bar-success");
    $("#result").text(result.text);
    $("#scannedText").text(result.text);
  });

});

var doc = new jsPDF();
var specialElementHandlers = {
  '#editor': function (element, renderer) {
    return true;
  }
};

$('#cmd').click(function () {
  doc.fromHTML($('#content').html(), 15, 15, {
    'width': 170,
    'elementHandlers': specialElementHandlers
  });

  doc.save('sample-file.pdf');
});
 
Here's the modified code with the search bar and all fields/information removed, and a box added for scanned text:

HTML:
<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">
  <title>LEO'S OCR</title>
  <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>
</head>
<body>
<div class="container-fluid">
  <h2>OCR SAMPLE</h2>
  <div class="col-xs-6">
    <form id="form" action="javascript:void(0)">
      <div class="form-group">
        <input id="file" type="file"/>
      </div>
      <div class="form-group">
        <select class="form-control" id="lang">
          <option value="eng">English</option>
        </select>
      </div>
      <div class="form-group">
        <input class="btn btn-default" type="submit" value="submit"/>
      </div>
    </form>
    <div id="result"></div>
  </div>
  <div class="col-xs-6">
    <div id="progress"></div>
  </div>
</div>

<div class="container">
  <div id="content">
    <div class="table-responsive-xl">
      <table id="myTable" class="table table-hover">
        <tr class="header">
          <th style="width:60%;">Fields</th>
          <th style="width:40%;">Information</th>
        </tr>
      </table>
    </div>
  </div>
</div>

<div id="scannedText"></div>

<button id="cmd">Generate PDF</button>

<script src='https://cdn.rawgit.com/naptha/tesseract.js/0.2.0/dist/tesseract.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js'></script>
<script src='./script.js'></script>

</body>
</html>

And the updated script.js file:
JavaScript:
$("#form").on("submit", e => {
  e.preventDefault();

  const file_list = $("#file").prop("files");
  if (_.isEmpty(file_list)) {
    alert("file Empty");
    return;
  }
  const file = file_list[0];
  if (file.type.indexOf("image") === -1) {
    alert("Image");
    return;
  }

  let status = {};
  Tesseract.recognize(file, { lang: $("#lang").val() }).
  progress(result => {
    let p = result.progress * 100;
    if (!status[result.status]) {
      status[result.status] = true;
      $("#progress").append(`
          <p>${result.status}</p>
          <div class="progress">
            <div class="progress-bar progress-bar${_.size(status)}"></div>
          <div>
        `);
    }
    if (_.isNaN(p)) {
      p = 100;
    }
    $([ICODE].progress-bar${_.size(status)}[/ICODE]).
    css({ width: [ICODE]${p}%[/ICODE] }).
    text(parseFloat(p).toFixed(2));
  }).
  catch(() => {
    $(".progress-bar").addClass("progress-bar-error");
    alert("Empty");
  }).
  then(result => {
    $(".progress-bar").addClass("progress-bar-success");
    $("#result").text(result.text);
    $("#scannedText").text(result.text);
  });

});

var doc = new jsPDF();
var specialElementHandlers = {
  '#editor': function (element, renderer) {
    return true;
  }
};

$('#cmd').click(function () {
  doc.fromHTML($('#content').html(), 15, 15, {
    'width': 170,
    'elementHandlers': specialElementHandlers
  });

  doc.save('sample-file.pdf');
});
Remove the tables and make a box for scanned text
 
Status
Not open for further replies.

Similar threads

About this Thread

  • 2
    Replies
  • 246
    Views
  • 1
    Participants
Last reply from:
Ruyi

Online now

Members online
1,017
Guests online
853
Total visitors
1,870

Forum statistics

Threads
2,276,222
Posts
28,968,417
Members
1,231,173
Latest member
JJJJMMMM
Back
Top