Resolving page references in layout dependent documents
Abstract
A method for resolving references in electronic documents (EDs), including: obtaining an ED having a reference to an item; generating, based on the ED, an intermediate document (ID) for input to a layout engine; identifying an entry having an initial value for the reference; calculating, during a first rendering of the ED, a first page having the item based on the ID and the initial value substituted for the reference; populating the entry with a first page number corresponding to the first page; calculating, during a second rendering of the ED, a second page having the item based on the first page number substituted for the reference; populating the entry with a second page number corresponding to the second page; and generating, in response to the first page number equaling the second page number, a first rendered document based on the second page number substituted for the reference.
Claims
exact text as granted — not AI-modified1 . A method for resolving references in electronic documents (EDs), comprising:
obtaining an ED comprising a reference to an item within the ED; generating, based on the ED, an intermediate document (ID) for input to a layout engine; identifying, within a data structure external to the ID, an entry comprising an initial value for the reference; calculating, by the layout engine and during a first rendering of the ED, a first page comprising the item based on the ID and the initial value substituted for the reference; populating the entry with a first page number corresponding to the first page; calculating, by the layout engine and during a second rendering of the ED, a second page comprising the item based on the ID and the first page number substituted for the reference; populating the entry with a second page number corresponding to the second page; and generating, using the layout engine and in response to the first page number equaling the second page number in the entry, a first rendered document (RD) based on the ID and the second page number substituted for the reference.
2 . The method of claim 1 , wherein the ED is defined using an extensible markup language.
3 . The method of claim 1 , wherein the ED is obtained by a page rendering device (PRD) and wherein the PRD comprises the layout engine and the data structure.
4 . The method of claim 1 , further comprising:
identifying, within the ED, an occurrence of a page break associated with a user application; and setting, before calculating the first page, the initial value in the entry based on the page break.
5 . The method of claim 1 , further comprising:
modifying, in response to the first page number equaling the second page number, the ED to include the second page number for the reference; and generating a second RD for the ED using the second page number as the initial value.
6 . The method of claim 1 , wherein the data structure is an array.
7 . The method of claim 1 , wherein the ED comprises a table of contents, and wherein the table of contends comprises the reference.
8 . A non-transitory computer readable storage medium storing instructions for resolving references in electronic documents (EDs), the instructions comprising functionality to:
obtain an ED comprising a reference to an item within the ED; generate, based on the ED, an intermediate document (ID) for input to a layout engine; identify, within a data structure external to the ID, an entry comprising an initial value for the reference; submit, to the layout engine, the ID and the initial value substituted for the reference, wherein the layout engine calculates a first page comprising the item during a first rendering of the ED; populate the entry with a first page number corresponding to the first page; submit, to the layout engine, the ID and the first page number substituted for the reference, wherein the layout engine calculates a second page comprising the item during a second rendering of the ED; and populate the entry with a second page number corresponding to the second page; and generate, in response to the first page number equaling the second page number, a rendered document (RD) based on the ID and the second page number substituted for the reference.
9 . The non-transitory computer readable storage medium of claim 8 , wherein the ED is defined using an extensible markup language.
10 . The non-transitory compute readable storage medium of claim 8 , wherein the ED is obtained by a page rendering device (PRD) and wherein the PRD comprises the layout engine and the data structure.
11 . The non-transitory computer readable storage medium of claim 8 , the instructions further comprising functionality to:
identify, within the ED, an occurrence of a page break associated with a user application; and set, before calculating the first page, the initial value in the entry based on the page break.
12 . The non-transitory computer readable storage medium of claim 8 , the instructions further comprising to:
modify, in response to the first page number equaling the second page number, the ED to include the second page number for the reference; and generate a second RD for the ED using the second page number as the initial value.
13 . The non-transitory computer readable storage medium of claim 8 , wherein the data structure is an array.
14 . The non-transitory computer readable storage medium of claim 8 , wherein the ED comprises a table of contents, and wherein the table of contents comprises the reference.
15 . A system for resolving references in electronic documents (EDs), comprising:
a hardware processor; a convertor module executing on the hardware processor and configured to generate an intermediate document (ID) based on an electronic document (ED) comprising a reference to an item within the ED; a layout engine executing on the hardware processor and configured to:
calculate, during a first rendering of the ED, a first page comprising the item based on the ID and an initial value substituted for the reference; and
calculate, during a second rendering of the ED, a second page comprising the item based on the ID and a first page number corresponding to the first page substituted for the reference; and
a data structure external to the ID and comprising an entry storing the initial value, the first page number, and a second page number corresponding to the second page, wherein the layout engine is further configured to generate a rendered document (RD) based on the ID and the second page number substituted for the reference in response to the first page number equaling the second page number.
16 . The system of claim 15 , wherein the ED is defined using an extensible markup language.
17 . The system of claim 15 , further comprising:
a user application configured to record an occurrence of a page break in the ED, wherein the initial value is set based on the page break.
18 . The system of claim 15 , wherein the layout engine is further configured to:
modify, in response to the first page number equaling the second page number, the ED to include the second page number for the reference; and generate a second RD for the ED using the second page number as the initial value.
19 . The system of claim 15 , wherein the convertor module, the layout engine, and the data structure are located on a page rendering device.
20 . The system of claim 15 , wherein the ED comprises a table of contends, and wherein the table of contends comprises the reference.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.