IP Library Granted Patent US 9,535,880
Granted Patent B2
US 9,535,880 · App. 14/260,743 · Granted Jan 3, 2017

Method and apparatus for preserving fidelity of bounded rich text appearance by maintaining reflow when converting between interactive and flat documents across different environments

Inventors: Yash Kumar Gupta (Agra, IN); Narender Gupta (Delhi, IN)
Assignee: ADOBE SYSTEMS INCORPORATED
G06F17/211G06F17/217G06F17/2264
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 9,535,880
App. No.
14/260,743
Granted
Jan 3, 2017
Kind
B2
Abstract

A computer implemented method and apparatus for preserving fidelity of bounded rich text appearance, by maintaining reflow, when converting between interactive and flat documents across different environments. The method comprises receiving an image, text data, and formatting metadata corresponding to text entered on a webpage; and processing the text data, wherein processing includes using the image and formatting metadata, evaluating a count of characters corresponding to a line of entered text to identify a location in the image for insertion of a newline character; and inserting the newline character at a location identified during the evaluating.

Claims (55)

1. A computer implemented method comprising:

receiving, by a server, an image of text as displayed on a webpage using a first browser and a set of text data and a set of formatting metadata corresponding to the text on the webpage using the first browser;

segmenting the image into a plurality of sub-images, wherein each sub-image represents a line of the text data;

extracting text characters from each sub-image; and

based on an analysis of the image and the set of formatting metadata, calculating, by the server, a count of characters corresponding to a line of entered text as shown in the image, wherein calculating the count of characters comprises counting a number of leading and trailing spaces in the line of entered text;

identifying, from the set of formatting data, a character at a position equal to the count of characters corresponding to the line of entered text as shown in the image;

determining whether a next character after the identified character is a newline character;

based on determining that the identified character is not a newline character, generating a file that allows the text to be displayed by a second browser of a different type or in flattened form as the text was displayed on the webpage using the first browser by inserting a newline character at the position equal to the count of characters corresponding to the line of entered text; and

using the generated file to display the text in flattened form exactly as the text was displayed on the webpage by the first browser.

2. The method of claim 1 , wherein:

receiving the image of text comprises receiving an image that is extracted from an HTML canvas,

receiving the set of text data comprises receiving at least a set of plain text data of the text on the webpage, and

receiving the set of formatting metadata comprises receiving at least one of a font-family, font-size, font-style, font-color, or a number of lines of text.

3. The method of claim 1 , wherein segmenting comprises dividing a height of the image by a number of lines of text and dividing the image to create a number of sub-images equal to the number of lines of text, where each sub-image is of equal height.

4. The method of claim 1 , wherein extracting text characters from each sub-image comprises applying an optical character recognition algorithm.

5. The method of claim 1 , further comprising using the generated file to render the text in a second browser of a different type exactly as the text was displayed on the webpage by the first browser.

6. The method of claim 1 , wherein calculating the count of characters comprises identifying how many characters are in the line of entered text.

7. The method of claim 1 , wherein inserting the newline character at the position equal to the count of characters corresponding to the line of entered text comprises entering the newline character after a last character of the line of entered text.

8. A system for preserving fidelity of bounded rich text appearance by maintaining reflow when converting between interactive and flat documents across different environments comprising:

at least one processor; and

at least one non-transitory computer readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:

receive an image of text as displayed on a webpage using a first browser and a set of text data and a set of formatting metadata corresponding to the text on the webpage using the first browser;

segment the image into a plurality of sub-images, wherein each sub-image represents a line of the text data;

extract text characters from each sub-image; and

based on an analysis of the image and the set of formatting metadata, calculate a count of characters corresponding to a line of entered text as shown in the image performing steps comprising counting a number of leading and trailing spaces in the line of entered text;

identify, from the set of formatting data, a character at a position equal to the count of characters corresponding to the line of entered text as shown in the image;

determine whether a next character after the identified character is a newline character; and

based on determining that the identified character is not a newline character, generate a file that allows the text to be displayed by a second browser of a different type or in flattened form as the text was displayed on the webpage using the first browser by inserting a newline character at the position equal to the count of characters corresponding to the line of entered text; and

use the generated file to display the text in flattened form exactly as the text was displayed on the webpage by the first browser.

9. The system of claim 8 , wherein:

the image comprises an image that is extracted from an HTML canvas,

the set of text data comprises at least a set of plain text data of the text on the webpage, and

the set of formatting metadata comprises at least one of a font-family, font-size, font-style, font-color, or a number of lines of text.

10. The system of claim 8 , wherein the instructions, when executed by the at least one processor, cause the system to segment by performing steps comprising dividing a height of the image by a number of lines of text and dividing the image to create a number of sub-images equal to the number of lines of text, where each sub-image is of equal height.

11. The system of claim 8 , wherein the instructions, when executed by the at least one processor, cause the system to extract text characters from each sub-image by performing steps comprising applying an optical character recognition algorithm.

12. The system of claim 8 , wherein performing the steps further comprises identifying how many characters are in the line of entered text.

13. The system of claim 8 , wherein the instructions, when executed by the at least one processor, cause the system insert the newline character at the position equal to the count of characters corresponding to the line of entered text by entering the newline character after a last character of the line of entered text.

14. A non-transitory computer readable medium storing instructions thereon that, when executed by at least one processor, cause a computer system to perform a method for preserving fidelity of bounded rich text appearance by maintaining reflow when converting between interactive and flat documents across different environments comprising:

receiving an image of text as displayed on a webpage using a first browser and a set of text data and a set of formatting metadata corresponding to the text on the webpage using the first browser;

segmenting the image into a plurality of sub-images, wherein each sub-image represents a line of the text data;

extracting text characters from each sub-image; and

based on an analysis of the image and the set of formatting metadata, calculating a count of characters corresponding to a line of entered text as shown in the image, wherein calculating the count of characters comprises counting a number of leading and trailing spaces in the line of entered text;

identifying, from the set of formatting data, a character at a position equal to the count of characters corresponding to the line of entered text as shown in the image;

determining whether a next character after the identified character is a newline character;

based on determining that the identified character is not a newline character, generating a file that allows the text to be displayed by a second browser of a different type or in flattened form as the text was displayed on the webpage using the first browser by inserting a newline character at the position equal to the count of characters corresponding to the line of entered text; and

using the generated file to display the text in flattened form exactly as the text was displayed on the webpage by the first browser.

15. The non-transitory computer readable medium of claim 14 , wherein:

receiving the image comprises receiving an image that is extracted from an HTML canvas,

receiving the set of text data comprises receiving at least a set of plain text data of the text entered on the webpage, and

receiving the set of formatting metadata comprises receiving at least one of a font-family, font-size, font-style, font-color, or a number of lines of text.

16. The non-transitory computer readable medium of claim 14 , wherein segmenting comprises dividing a height of the image by a number of lines of text and dividing the image to create a number of sub-images equal to the number of lines of text, where each sub-image is of equal height.

17. The non-transitory computer readable medium of claim 14 , wherein extracting text characters from each sub-image comprises applying an optical character recognition algorithm.

18. The non-transitory computer readable medium of claim 14 , wherein using the generated file further comprises rendering the text in a second browser of a different type exactly as the text was displayedon the webpage by the first browser.

19. The non-transitory computer readable medium of claim 14 , wherein calculating the count of characters comprises identifying how many characters are in the line of entered text.

20. The non-transitory computer readable medium of claim 14 , wherein inserting the newline character at the position equal to the count of characters corresponding to the line of entered text comprises entering the newline character after a last character of the line of entered text.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2014
From: GUPTA, YASH KUMAR; GUPTA, NARENDER
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 032775/0727 →
Continuity (1)
Related Publication 20150309966A1 · Oct 29, 2015