IP Library Granted Patent US 8,817,285
Granted Patent B2
US 8,817,285 · App. 13/727,887 · Granted Aug 26, 2014

Method and apparatus for printing HTML content

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 8,817,285
App. No.
13/727,887
Granted
Aug 26, 2014
Kind
B2
Abstract

A method, apparatus, and computer program product are described herein for generating printer commands for controlling a printing device, based on HTML. More specifically, the example embodiments of the system described herein provide for receiving HTML representing a label that comprises, in some examples, a barcode or other print content, transforming the HTML to a printer control language, and rasterizing the image on a printing device in preparation for printing, all while preserving barcode print quality and high speed printing and scanning.

Claims (69)

1. A method comprising:

converting received Hypertext Markup Language (HTML) that specifies content to be printed by a printing device, to Extensible Hypertext Markup Language (XHTML), wherein at least one element in the XHTML is assigned an element identifier;

generating style information, based on an Extensible Stylesheet Language (XSL) template, for at least one element in the XHTML, wherein the style information is stored in a format object tree and is associated with the XHTML via the element identifier;

extracting placement information from the format object tree for at least one element, wherein the placement information is stored in an XML placement document and is associated with the XHTML via the element identifier; and

generating at least one printer command that incorporates, based on the element identifier, the content from the XHTML, style information from the formatting object tree, and placement information from the XML placement document, wherein execution of the at least one printer command by a printing device results in rasterization of the content in the style specified by the HTML, and in the position derived from the HTML.

2. The method of claim 1 , wherein the at least one printer command is generated remotely from the printing device, and the method further comprises:

transmitting the at least one printer command to the printing device.

3. The method of claim 1 , wherein the placement information comprises at least one coordinate pair identifying a position on a two-dimensional axis and is interpretable by the printer control language.

4. The method of claim 1 , wherein the at least one printer command is generated by parsing the XHTML into the printer control language and said parsing comprises:

referencing a custom element type in a lookup table to identify at least one command in the printer control language and associated with the element type.

5. The method of claim 1 , further comprising:

detecting at least one element type indicating that the content includes a barcode;

identifying at least one barcode characteristic based on the XHTML; and

referencing a barcode lookup table to generate style information based on the at least one barcode characteristic, wherein printing of the barcode content using the style information results in printing of the barcode.

6. The method of claim 5 , wherein the at least one barcode characteristic is at least one of a barcode type, a barcode width, and a barcode height.

7. The method of claim 1 , wherein the printer control language is Zebra Programming Language.

8. The method of claim 1 , wherein the HTML comprises at least one command in the printer control language.

9. The method of claim 1 , further comprising:

generating an XHTML output file including absolute placement information.

10. The method of claim 9 , further comprising:

receiving a change in absolute placement information, provided by a user, for at least one element, in the form of subsequently received HTML.

11. The method of claim 1 , further comprising:

receiving content to be printed by a printing device in a format specified by the HTML.

12. An apparatus comprising processing circuitry configured to cause the apparatus to at least:

convert received Hypertext Markup Language (HTML) that specifies content to be printed by a printing device, to Extensible Hypertext Markup Language (XHTML), wherein at least one element in the XHTML is assigned an element identifier;

generate style information, based on an Extensible Stylesheet Language (XSL) template, for at least one element in the XHTML, wherein the style information is stored in a format object tree and is associated with the XHTML via the element identifier;

extract placement information from the format object tree for at least one element, wherein the placement information is stored in an XML placement document and is associated with the XHTML via the element identifier; and

generate at least one printer command that incorporates, based on the element identifier, the content from the XHTML, style information from the formatting object tree, and placement information from the XML placement document, wherein execution of the at least one printer command by a printing device results in rasterization of the content in the style specified by the HTML, and in the position derived from the HTML.

13. The apparatus of claim 12 , wherein the at least one printer command is generated remotely from the printing device, and the processing circuitry is further configured to:

transmit the at least one printer command to the printing device.

14. The apparatus of claim 12 , wherein the placement information comprises at least one coordinate pair identifying a position on a two-dimensional axis and is interpretable by the printer control language.

15. The apparatus of claim 12 , wherein parsing the XHTML into the printer control language to generate the at least one printer command comprises:

referencing a custom element type in a lookup table to identify at least one command in the printer control language associated with the element type.

16. The apparatus of claim 12 , wherein the processing circuitry is further configured to:

detect at least one element type indicating that the content includes a barcode;

identify at least one barcode characteristic based on the XHTML; and

reference a barcode lookup table to generate style information based on the at least one barcode characteristic, wherein printing of the barcode content using the style information results in printing of the barcode.

17. The apparatus of claim 16 , wherein the at least one barcode characteristic is at least one of a barcode type, a barcode width, and a barcode height.

18. The apparatus of claim 12 , wherein the printer control language is Zebra Programming Language.

19. The apparatus of claim 12 , wherein the HTML comprises at least one command in the printer control language.

20. The apparatus of claim 12 , wherein the processing circuitry is further configured to:

generate an XHTML output file including absolute placement information.

21. The apparatus of claim 20 , wherein the processing circuitry is further configured to:

receive a change in absolute placement information, provided by a user, for at least one element, in the form of subsequently received HTML.

22. The apparatus of claim 12 , wherein the processing circuitry is further configured to:

receive content to be printed by a printing device in a format specified by the HTML.

23. A computer program product comprising at least one non-transitory computer-readable medium having computer-readable program instructions stored therein, the computer-readable program instructions comprising instructions, which, when performed by an apparatus, are configured to cause the apparatus to at least:

convert received Hypertext Markup Language (HTML) that specifies content to be printed by a printing device, to Extensible Hypertext Markup Language (XHTML), wherein at least one element in the XHTML is assigned an element identifier;

generate style information, based on an Extensible Stylesheet Language (XSL) template, for at least one element in the XHTML, wherein the style information is stored in a format object tree and is associated with the XHTML via the element identifier;

extract placement information from the format object tree for at least one element, wherein the placement information is stored in an XML placement document and is associated with the XHTML via the element identifier; and

generate at least one printer command that incorporates, based on the element identifier, the content from the XHTML, style information from the formatting object tree, and placement information from the XML placement document, wherein execution of the at least one printer command by a printing device results in rasterization of the content in the style specified by the HTML, and in the position derived from the HTML.

24. The computer program product of claim 23 , wherein the at least one printer command is generated remotely from the printing device, and the computer-readable program instructions further comprise instructions, which, when performed by an apparatus, are configured to cause the apparatus to at least:

transmit the at least one printer command to the printing device.

25. The computer program product of claim 23 , wherein the placement information comprises at least one coordinate pair identifying a position on a two-dimensional axis and is interpretable by the printer control language.

26. The computer program product of claim 23 , wherein parsing the XHTML into the printer control language to generate the at least one printer command comprises:

referencing a custom element type in a lookup table to identify at least one command in the printer control language and associated with the element type.

27. The computer program product of claim 23 , wherein the computer-readable program instructions further comprise instructions, which, when performed by an apparatus, are configured to cause the apparatus to at least:

detect at least one element type indicating that the content includes a barcode;

identify at least one barcode characteristic based on the XHTML; and

reference a barcode lookup table to generate style information based on the at least one barcode characteristic, wherein printing of the barcode content using the style information results in printing of the barcode.

28. The computer program product of claim 27 , wherein the at least one barcode characteristic is at least one of a barcode type, a barcode width, and a barcode height.

29. The computer program product of claim 23 , wherein the printer control language is Zebra Programming Language.

30. The computer program product of claim 23 , wherein the HTML comprises at least one command in the printer control language.

31. The computer program product of claim 23 , wherein the computer-readable program instructions further comprise instructions, which, when performed by an apparatus, are configured to cause the apparatus to at least:

generate an XHTML output file including absolute placement information.

32. The computer program product of claim 31 , wherein the computer-readable program instructions further comprise instructions, which, when performed by an apparatus, are configured to cause the apparatus to at least:

receive a change in absolute placement information, provided by a user, for at least one element, in the form of subsequently received HTML.

33. The computer program product of claim 23 , wherein the computer-readable program instructions further comprise instructions, which, when performed by an apparatus, are configured to cause the apparatus to at least:

receive content to be printed by a printing device in a format specified by the HTML.

Assignments (7)
RELEASE OF SECURITY INTEREST - 364 - DAY Recorded Mar 5, 2021
From: JPMORGAN CHASE BANK, N.A.
To: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
Reel/Frame 056036/0590 →
SECURITY INTEREST Recorded Sep 1, 2020
From: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053841/0212 →
NOTICE OF TRANSFER OF SECURITY INTEREST IN PATENTS Recorded Jul 3, 2019
From: ZEBRA TECHNOLOGIES CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049675/0049 →
MERGER Recorded Mar 29, 2019
From: ZIH CORP.
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 048884/0618 →
PATENT SECURITY INTEREST ASSIGNMENT AGREEMENT Recorded Oct 25, 2017
From: MORGAN STANLEY SENIOR FUNDING, INC., AS THE EXISTING AGENT
To: JPMORGAN CHASE BANK, N.A., AS THE SUCCESSOR AGENT
Reel/Frame 044791/0842 →
SECURITY AGREEMENT Recorded Oct 31, 2014
From: ZIH CORP.; LASER BAND, LLC; ZEBRA ENTERPRISE SOLUTIONS CORP.; SYMBOL TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC. AS THE COLLATERAL AGENT
Reel/Frame 034114/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2013
From: TANABE, BRIAN; NUDEL, ERIC A; HALL, ETHAN
To: ZIH CORP.
Reel/Frame 029821/0428 →