IP Library › Granted Patent US 12,131,566
Granted Patent B2
US 12,131,566 · App. 17/682,402 · Granted Oct 29, 2024

Systems and methods for extracting text from portable document format data

Inventors: Stephan Schwiebert (Sydney, AU); Velislava Yanchina (Byron Bay, AU); Henrry Eduardo Iguaro Jaramillo (Sydney, AU); Andrew Bennett (Sydney, AU)
Assignee: CANVA PTY LTD
G06V30/416G06T3/60G06T11/60G06V30/414G06T2210/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,131,566
App. No.
17/682,402
Granted
Oct 29, 2024
Kind
B2
Abstract

Described herein is a computer implemented method. The method includes receiving data for an area of text of a document, the area of text containing a plurality of glyphs. A processing unit groups the glyphs into a plurality of lines based on glyph position information and for each line determines one or more paragraph attributes, wherein a difference in the one or more paragraph attributes between different lines indicates a likelihood that the different lines are in different paragraphs. Responsive to determining the one or more paragraph attributes, the plurality of lines are grouped into one or more paragraphs and an editable document is generated that contains text in paragraphs that corresponds to the one or more paragraphs.

Claims (54)

1. A computer implemented method including:

receiving, at a computer processing system including a processing unit, data for an area of text of a document, the area of text containing a plurality of glyphs, each glyph associated with position information defining a position of the glyph in the document; and

by the processing unit:

grouping the glyphs into a plurality of lines based on the position information, including reverting a rotation parameter of the glyphs in the data to a common rotation and then determining a bounding box for each glyph based on the position information and grouping the glyphs based on positions of the determined bounding boxes;

for each line determining one or more paragraph attributes, wherein a difference in the one or more paragraph attributes between different lines indicates a likelihood that the different lines are in different paragraphs;

responsive to the determination of the one or more paragraph attributes, grouping the plurality of lines into one or more paragraphs; and

generating an editable document containing text in paragraphs that corresponds to the one or more paragraphs.

2. The computer implemented method of claim 1 , further including, by the processing unit, prior to grouping the plurality of lines into one or more paragraphs:

determining a baseline for each of the plurality of lines; and

normalizing differences between the determined baselines.

3. The computer implemented method of claim 2 , wherein normalizing the differences between the determined baselines includes determining that adjacent lines in the plurality of lines are spaced apart beyond a threshold amount and responsive to the determination, adding one or more blank lines between the adjacent lines.

4. The computer implemented method of claim 3 , wherein the plurality of lines are horizontal lines and the method includes determining a font of the one or more blank lines as equal to a font of an upper line.

5. The computer implemented method of claim 1 , wherein the one or more paragraph attributes include at least one of: font style of the glyphs in the line;

font size of the glyphs and character spacing of the glyphs.

6. The computer implemented method of claim 1 , wherein the one or more paragraph attributes includes a leading spacing.

7. The computer implemented method of claim 1 , further including by the one or processors determining an alignment of each of the plurality of lines relative to the area of text, wherein the one or more paragraph attributes includes the determined alignment.

8. The computer implemented method of claim 1 , further including determining the area by:

accessing, by a computer system including a processing unit, portable document format (PDF) data defining a plurality of glyphs;

sorting, by the processing unit the plurality of glyphs into one or more glyph sets;

calculating, for each glyph, an expanded glyph bounding box;

processing a particular glyph set to determine a distinct group of glyphs, the distinct group of glyphs including one or more glyphs from the particular glyph set which have collectively overlapping expanded bounding boxes.

9. A computer implemented method including:

receiving, at a computer processing system including a processing unit, data for an area of text of a document, the area of text containing a plurality of glyphs, each glyph associated with position information defining a position of the glyph in the document; and

by the processing unit:

grouping the glyphs into a plurality of lines based on the position information;

for each line determining one or more paragraph attributes, wherein a difference in the one or more paragraph attributes between different lines indicates a likelihood that the different lines are in different paragraphs;

responsive to the determination of the one or more paragraph attributes, grouping the plurality of lines into one or more paragraphs; and

generating an editable document containing text in paragraphs that corresponds to the one or more paragraphs,

wherein:

the one or more paragraph attributes include at least two of: font style of the glyphs in the line; font size of the glyphs and character spacing of the glyphs; and

grouping the plurality of lines into one or more paragraphs includes allocating adjacent lines to different paragraphs if any one of the two or more paragraph attributes is different between the adjacent lines.

10. A computer implemented method including:

receiving, at a computer processing system including a processing unit, data for an area of text of a document, the area of text containing a plurality of glyphs, each glyph associated with position information defining a position of the glyph in the document; and

by the processing unit:

grouping the glyphs into a plurality of lines based on the position information;

for each line determining one or more paragraph attributes, wherein a difference in the one or more paragraph attributes between different lines indicates a likelihood that the different lines are in different paragraphs;

responsive to the determination of the one or more paragraph attributes, grouping the plurality of lines into one or more paragraphs;

determining that a complete first word in a first line of the plurality of lines would fit within a second line that is an adjacent and preceding line in the plurality of lines and in response grouping the first line into a different paragraph to the second line; and

generating an editable document containing text in paragraphs that corresponds to the one or more paragraphs.

11. A computer processing system including:

a processing unit;

a communication interface; and

non-transitory computer-readable storage medium storing instructions, which when executed by the processing unit, cause the processing unit to:

receive data for an area of text of a document, the area of text containing a plurality of glyphs, each glyph associated with position information defining a position of the glyph in the document;

group the glyphs into a plurality of lines based on the position information, including reverting a rotation parameter of the glyphs in the data to a common rotation and then determining a bounding box for each glyph based on the position information and grouping the glyphs based on positions of the determined bounding boxes;

for each line determine one or more paragraph attributes, wherein a difference in the one or more paragraph attributes between different lines indicates a likelihood that the different lines are in different paragraphs;

responsive to the determination of the one or more paragraph attributes, group the plurality of lines into one or more paragraphs; and

generate an editable document containing text in paragraphs that corresponds to the one or more paragraphs.

12. The computer processing system of claim 11 , wherein prior to grouping the plurality of lines into one or more paragraphs execution of the instructions causes the processing unit to:

determine a baseline for each of the plurality of lines; and

normalize differences between the determined baselines.

13. The computer processing system of claim 12 , wherein normalizing the differences between the determined baselines includes determining that adjacent lines in the plurality of lines are spaced apart beyond a threshold amount and responsive to the determination, adding one or more blank lines between the adjacent lines.

14. The computer processing system of claim 13 , wherein the plurality of lines are horizontal lines and the method includes determining a font of the one or more blank lines as equal to a font of an upper line.

15. The computer processing system of claim 11 , wherein the one or more paragraph attributes include at least one of: font style of the glyphs in the line; font size of the glyphs and character spacing of the glyphs.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR NAME PREVIOUSLY RECORDED ON REEL 059118 FRAME 0195. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 27, 2023
From: SCHWIEBERT, STEPHAN; YANCHINA, VELISLAVA; JARAMILLO, HENRRY IGUARO; BENNETT, ANDREW
To: CANVA PTY LTD
Reel/Frame 064414/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2022
From: SCHWIEBERT, STEPHAN; YANCHINA, VELISLAVA; IGUARO, HENRY; BENNETT, ANDREW
To: CANVA PTY LTD
Reel/Frame 059118/0195 →
Priority Claims (1)
AU 2021201345 · Mar 2, 2021 · national
Continuity (1)
Related Publication 20220284724A1 · Sep 8, 2022
Cited By (1)
US 12,249,163