OCR Handwritten Logs: Driver, Visitor and Shift Records
By Schema LawPublished Updated
OCR can read a handwritten log sheet only in part: the printed column headings come back, and the handwritten entries come back as a rough draft with cells missing or shifted. To get handwritten logs into a table, set the columns from the blank form, key each line with the page image open, and have a second person check.
A log is a table that people fill in by hand, one line at a time, over days or months. Its value in a case is in the small things: a time, a pair of initials, a blank where a line should be. Those are the marks recognition software handles worst. The rest of this post explains why, and gives a keying method built for that weakness.
Can OCR read a handwritten log sheet?
OCR can read the printed parts of a handwritten log sheet and will attempt the handwritten parts. Expect the form title and column headings to convert, longer handwritten words to convert unevenly, and short entries such as times, initials and ticks to be the least dependable. Treat the output as a typing aid, not as the log.
Three things happen when a log page is converted, and it helps to judge them separately.
Finding the grid. The software has to work out that the page is a table and where its rows and columns run. On a log, the printed rules help with this and the handwriting hurts, because ink crosses the lines. How a table is found on a scanned page at all is explained in the guide to converting a scanned PDF to Excel.
Reading each cell. Each handwritten cell is a tiny handwriting sample with no context. The general limits are covered in the post on what machines can read in handwritten notes.
Keeping cells in their rows. A value read correctly and placed one row down is a wrong entry. On a log this is the costly failure, since a time attached to the wrong name changes what the record says.
Treat a driver's log, a visitor sign-in sheet, or a shift note as the business record. Read the name, the time, any amount, and the initials or signature. A value in the wrong row changes the documentary evidence. Keep the scan for authentication, note who had the originals for the chain of custody, and compare corroborating evidence with that time.
Schema Law reads uploaded pages into text and tables, and its homepage says recognition is strongest on clean print and weaker on handwriting, and that nothing marks a passage as uncertain. For a log, the consequence is that a clean-looking exported table tells you nothing about which cells are right. Try two or three pages of your own log before planning around any tool. The free plan takes one document a day of up to three pages, and Excel and CSV export are included on every plan; the pricing page shows each plan's page allowance.
A quick test for one page
Convert the page, then count. How many lines carry writing on the paper, and how many rows are in the output? How many filled cells in one column on paper, and how many in the output? If the counts differ, cells were dropped or merged, and for this log you should key from the image and use the draft only for the longer text cells.
Driver logs, visitor sign-in sheets and shift notes as evidence
Driver logs, visitor sign-in sheets and shift notes are records an organization keeps as part of its routine, written by whoever was on duty. In a case they are used to show when something happened, who was present, and whether a required step was recorded. The original sheet is what shows who wrote what.
| Log | Kept by | What a line holds | What a case asks of it |
|---|---|---|---|
| Driver's record of duty status on paper | The driver | A grid with lines drawn across the hours, plus mileage, vehicle and location notes | Hours driving and resting before a collision |
| Vehicle inspection or maintenance log | Driver or mechanic | Date, odometer, defect noted, signature | Whether a defect was reported and when |
| Visitor sign-in sheet | Each visitor | Name, company, person visited, time in, time out | Who was on the premises at a given time |
| Shift handover or care notes | Staff on each shift | Time, note, initials | What was observed and passed on |
| Cleaning or inspection sheet | Staff | Time, initials, a tick | Whether a floor or a restroom was checked before a fall |
| Security patrol or incident log | Guard | Time, location, remark | What was seen and reported |
| Temperature or equipment log | Operator | Time, reading, initials | Whether readings were taken and in range |
Driver logs are a special case
A paper driver's log is partly a drawing. The federal hours-of-service regulation, 49 CFR 395.8, requires a graph grid in a carrier's recordkeeping system and describes how it is completed: for the off duty, sleeper berth and driving statuses, paragraph (h) says "A continuous line shall be drawn between the appropriate time markers". A drawn line across a grid is not text. No character recognition turns it into hours. A person reads the grid and keys the start and end of each status.
The same section explains why a paper log may or may not exist for a given driver. Paragraph (a)(1)(i) says that a motor carrier "must install and require each of its drivers to use an ELD to record the driver's duty status", subject to paragraph (a)(1)(ii), whose subparagraph (A) lists cases in which a carrier "may require a driver to record the driver's duty status manually". Check which applied to the driver and period in your case.
Two sentences in paragraph (f) are worth having beside you when you look at the sheet. Paragraph (f)(1): "Drivers shall keep their records of duty status current to the time shown for the last change of duty status." Paragraph (f)(2): "All entries relating to a driver's duty status must be legible and made by the driver." Whether a given log met those requirements is for the lawyer and any expert. For the person keying, they are a reason to note every entry that is illegible or appears to be in a different hand.
What the paper shows that a table cannot
Federal Rule of Evidence 803(6) describes records of a regularly conducted activity in terms that include that "the record was kept in the course of a regularly conducted activity of a business, organization, occupation, or calling, whether or not for profit" and that "making the record was a regular practice of that activity", among other conditions set out in the text of Rule 803. Whether a particular log qualifies in your court is a legal question, and state rules differ. The handling point is that the questions asked of a log concern how it was made, and the answers are on the paper: the pens, the hands, the order of the lines. Keep the scans in color, and keep your table as a guide to the sheets, never a replacement.
Claim files hold a related kind of handwritten record. The post on adjuster notes covers handwritten adjuster notes and field worksheets.
Why do ruled columns and many different writers defeat recognition?
Ruled columns defeat recognition because handwriting does not stay inside them, and many writers defeat it because the software meets a new hand on every line with only a few characters to go on. A log combines both problems on one sheet, then adds ditto marks, arrows and abbreviations.
What the ruling does
- Ink touches the lines. A descender that crosses the rule beneath it, or a 7 whose top lies along the rule over it, merges with the printed line. The scan shows one connected shape.
- Entries overflow their column. A long company name runs into the "Person visited" column. The software may split the name across two cells or push the next value along.
- Entries overflow their row. A remark that needs two lines takes the row below, and the next person signs in a line further down. Row count and entry count no longer match.
- Narrow columns shrink the writing. A "Time out" column a centimetre wide produces cramped digits.
What many writers do
- No hand to learn. On a letter, forty lines of one person's writing give a recognition model, and a human reader, repeated examples of each letter shape. A sign-in sheet gives one line per person.
- Different pens. Whatever was on the desk: ballpoint, marker, pencil. Contrast changes from line to line.
- Different habits for the same field. One visitor writes 2:15, the next 14.15, the next "2.15p", the next a quarter past two as "2¼".
- Different care. The first signer of the day prints. The fortieth scrawls.
What log-keeping habits add
- Ditto marks and "do." A pair of small strokes meaning "same as the line before" is a real entry that software reads as punctuation or nothing.
- Vertical lines and brackets. A line drawn down a column to mean "same for all these rows".
- Arrows. Linking a remark to a different row.
- Overwriting. A time corrected by writing a new digit on top of the old one.
None of this means a log cannot be converted. It means the unit of checking is the cell. The vocabulary for rows, cells and spans is set out in the post on table OCR.
Initials, times and tick marks in a handwritten log
Initials, times and tick marks are the shortest entries in a handwritten log and the ones a dispute about timing or attendance depends on. Each is one to five characters with no surrounding words to help a reader or a machine. Key them from the image by eye, and record what you see, not what you expect.
Initials
Two or three joined capitals are closer to a small signature than to text. Do not expect software to return them as letters.
- Build a key. For each distinct set of initials in the log, record a cropped example, your reading and, once known, the person: "JRM, page 3 line 12, per staff rota: J. R. Mbeki".
- Key initials as read, and use
[initials illegible]when you cannot read them. Do not key the name you think they stand for. - Record a change of hand. If the initials on a line look unlike that person's initials elsewhere, add a note. Do not draw a conclusion.
Times
- Key the time exactly as written in one column, and a normalized 24-hour time in a second. "2.15p" and
14:15. - Record the basis when a.m. or p.m. is missing. The entry sits between 13:50 and 14:40, so 2:15 is read as 14:15. If the position does not settle it, leave the normalized cell empty.
- Watch the digit pairs handwriting confuses. 1 and 7, 4 and 9, 3 and 8, 0 and 6. The post on OCR and numbers lists which digits and letters get swapped most often.
- Key overwritten times as overwritten. "14:15, first digit of minutes written over an earlier digit, possibly 4".
Tick marks and other symbols
A tick, a cross, a dash, a circle and an empty cell are five different entries. Give each its own code and use only those codes:
| On the page | Key as |
|---|---|
| Tick | Y |
| Cross | X |
| Dash or line through the cell | - |
| "N/A" written | NA |
| Ditto marks | " with the repeated value in a separate resolved column |
| Vertical line down several rows | ditto-line on each row it covers |
| Nothing | [blank] |
| A mark you cannot classify | [mark] plus a note |
The reason for [blank] is that an empty spreadsheet cell is ambiguous. It could mean the paper was blank or that nobody keyed the cell. In a log, a blank where a tick should be may be the most important entry on the sheet.
Keying a handwritten log into a table two people can check
Key a handwritten log into a table by fixing the columns from the form, giving every physical line its own row with a page and line number, keying in passes by column, and then having a second person check against the images. Page and line numbers are what make the check possible.
- Scan every sheet, both sides, in color. Name the files so the sheet order is preserved.
- Number the sheets and the lines. Use the printed line numbers if the form has them. If not, count ruled lines from the top, including empty ones.
- Set the columns. One column per printed column on the form, then add:
sheet,line, the as-written and normalized pairs for dates and times,note,keyed_by,checked_by. - One row per ruled line. Empty lines get a row marked
[blank line]. An entry that spills onto a second line gets one row for each physical line, joined by a note. - Key by column, not by row. Go down the "Time in" column for the whole sheet, then the next column. Staying in one kind of data makes you faster and more consistent, and stops the name on a line from suggesting what the time ought to be.
- Use the machine draft where it earns its place. For columns of longer text, such as remarks or company names, paste from the converted output and correct. For times, initials and ticks, key from the image.
- Second-person check. The checker reads from the image, cell by cell, while looking at the table. Disagreements are settled by both looking at the image together. A cell they cannot agree on is keyed
[unclear]with both readings in the note. - Count. Lines on the sheet against rows in the table, for every sheet.
A worked example
A fictional restroom inspection sheet from a store, Calloway Market, for one afternoon:
| sheet | line | time_as_written | time_24h | area | checked | initials | note |
|---|---|---|---|---|---|---|---|
| 4 | 9 | 1:00 | 13:00 | Restroom A | Y | DK | |
| 4 | 10 | 2:00 | 14:00 | Restroom A | Y | DK | |
| 4 | 11 | [blank] | [blank] | [blank] | [blank] | [blank line] | |
| 4 | 12 | 4:00 | 16:00 | Restroom A | Y | [initials illegible] | Different pen from lines 9 and 10 |
| 4 | 13 | 3.00 | 15:00 | Restroom A | Y | DK | Time earlier than line 12 |
A converted table could well have closed up line 11 and returned four tidy rows. The keyed table keeps the empty line, the unreadable initials, the change of pen and the time that runs backwards. Each is a question for the lawyer, and each would have been invisible.
Finding gaps and out-of-order entries in a handwritten log
Find gaps and out-of-order entries by sorting and comparing the keyed table: compare each time with the line before it, compare the entries present with the entries the log's own routine would predict, and list every difference with its sheet and line. Report what the table shows and leave the explanation open.
Checks to run
- Sequence. In a new column, subtract each normalized time from the next. A negative result is an entry out of order.
- Interval. If the form or the routine implies a schedule, such as hourly checks, list the expected times and mark each as found or not found.
- Blank lines between entries. Filter on
[blank line]rows that have filled rows on both sides. - Unpaired entries. A visitor with a time in and no time out. A shift that starts and has no handover note.
- Missing sheets. If sheets are numbered or dated, list the numbers or dates present and look for breaks. A log with a sheet for every day but one deserves a line in your report.
- Runs in one hand. From the note column, list any run of entries by different people that appear to be in one pen and one hand. That is an observation from the image, to be confirmed by the lawyer looking at the sheet.
- Totals that the log itself states. Under 49 CFR 395.8(f)(11), a driver's paper log carries the total hours in each duty status to the right of the grid, and "the total of such entries shall equal 24 hours". Add up your keyed intervals and compare. A mismatch may be your keying or may be the log.
Check your own work first
Every anomaly in the table is either in the log or in the keying. Before an anomaly goes in a report, go back to the image for that sheet and line and confirm the cells on both sides of it. A 1 keyed as a 7 is enough to put two times out of order.
Write the findings as a list
One line per finding: sheet, line, what the table shows, and the image file to open.
- Sheet 4, line 11: blank line between entries at 14:00 and 16:00.
- Sheet 4, lines 12 and 13: line 13 time (15:00) is earlier than line 12 (16:00).
- Sheet 4, line 12: initials illegible; pen differs from lines 9, 10 and 13.
That list, the table and the color scans together let a lawyer or an expert go straight to the lines that matter. Columns of handwritten money figures need a different check, built on arithmetic, and the post on moving a handwritten ledger to Excel covers it.