Generating high volume accessible documents
11176221 · 2021-11-16
Assignee
Inventors
Cpc classification
G06F40/117
PHYSICS
International classification
G06F17/00
PHYSICS
G06F16/957
PHYSICS
Abstract
An architecture for generating accessible documents uses a Data/Layout Description Language (D/LDL) and data sources. The D/LDL and the data source are fed to a pre-processing module which generates an intermediate document containing all the data and positioning hints and structural information required to create the accessible file. The intermediate file is converted into an object model using a Model Builder and is passed to a Model Formatter to calculate the exact positioning of elements. The object model is then passed to a Standard formatter to ensure compliance with required standards and is then passed to a model writer which translates the object to an accessible file in the required format. The design allows for skipping the preprocessing module if the full file is available and allows to plug different model writers for different formats.
Claims
1. A method for generating a presentation file comprising: (a) accessing a layout file, the layout file using a Data/Layout Description Language (D/LDL) comprising positioning information and accessibility information with placeholders for variable data, from one or more different data sources, including at least one of a database, different file formats and user provided variable data; (b) populating the layout file with data obtained from the one or more different data sources; (c) automatically converting the populated layout file to an object model-that-serves as an abstraction layer between the D/LDL and an accessibility standard-compliant document format; (d) calculating the positions of elements within the object model that flow within tables or across pages; (e) adding accessibility related information to the object model; and (f) converting the object model to the accessibility standard-compliant document format.
2. The method of claim 1 wherein converting (f) comprises converting the object model to a selected one of plurality of different accessibility standard-compliant document formats.
3. The method of claim 2 wherein one of the plurality of different accessibility standard-compliant document formats comprises a portable document format (PDF).
4. The method of claim 2 wherein one of the plurality of different accessibility standard-compliant document formats comprises hypertext markup language (HTML).
5. The method of claim 2 wherein one of the plurality of different accessibility standard-compliant document formats comprises markup language.
6. The method of claim 1 wherein the adding comprises creating dynamic entities including tables of content, indices and running headers or footers based on headings including calculating the positions of elements in and corresponding links for the tables of content and the indices.
7. An apparatus for generating a presentation file comprising: at least one processor configured to execute instructions stored in non-transitory memory, the processor executing instructions to perform operations comprising: (a) accessing a layout file, the layout file using a Data/Layout Description Language (D/LDL) comprising positioning information and accessibility information with placeholders for variable data from different data sources including at least one of a database, file formats and user-provided variable data, (b) populating the layout file with data obtained from the one or more different data sources; (c) automatically converting the populated layout file to an object model having a format that is independent of a format of the populated layout file, the object model serving as an abstraction layer between the D/LDL and an accessibility standard-compliant document format; (d) calculating the positions of elements within the object model that flow within tables or across pages; (e) adding accessibility related information to the object model; and (f) converting the object model to an accessibility standard-compliant document format.
8. The apparatus of claim 1 converting comprises converting the object model to a selected one of a plurality of different accessibility standard-compliant document formats.
9. The apparatus of claim 2 wherein one of the plural different accessibility standard-compliant document formats comprises portable document format (PDF).
10. The apparatus of claim 2 wherein one of the plural different accessibility standard-compliant document formats comprises hypertext markup language (HTML).
11. The apparatus of claim 2 wherein one of the plural different accessibility standard-compliant document formats comprises markup language.
12. The apparatus of claim 1 wherein the adding comprises (i) creating dynamic entities including tables of content and indices and (ii) calculating the positions of elements in and corresponding links for the tables of content and the indices.
13. The apparatus of claim 7 wherein at least one processor is configured to allow changes in a format used to specify the D/LDL file without changing position formatting and accessibility formatting.
14. The apparatus of claim 7 wherein the at least one processor is further configured to calculate the position of every element taking into account page size, number of columns, column width, table cell width and other attributes specified in the D/LDL.
15. The apparatus of claim 7 wherein the at least one processor is further configured to calculate accessibility attributes comprising header IDs assigned to every table cell.
16. The method of claim 1 further including allowing changes in a format used to specify the D/LDL file without changing position formatting and accessibility formatting.
17. The method of claim 1 further including calculating position of every element taking into account page size, number of columns, column width, table cell width and other attributes specified in the D/LDL.
18. The method of claim 1 further including calculating accessibility attributes comprising header IDs assigned to every table cell.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The following detailed description of exemplary non-limiting illustrative embodiments is to be read in conjunction with the drawings of which:
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
(7)
(8) The
(9) A preprocessing module 14 (see
(10) In another example non-limiting process, users bypass the pre-processing module 16 (see
(11) The full file is passed to a Model Builder 18 which converts the populated D/LDL file into an object model serving as an abstract layer between the D/LDL and the standard compliant document. The Position formatter 20 and Standards formatter 22 allows either or both of the populated D/LDL file and the structured standard compliant document to change without affecting the other. The same D/LDL file could be mapped into different standard compliant documents complying with different standards. Conversely, it is also possible for different D/LDL files to map into the same or similar standard compliant document.
(12) The abstraction or middleware provided by Position formatter/Standards formatter 20 provides an intermediate, abstracted representation of the document called an “object model” that is disassociated from both the input and the output. The disclosed embodiment provides tools to convert between the D/LDL file and an abstract object model or representation, and tools being provided to convert between the abstract object model or representation and the desired standard compliant document.
(13) The intermediate abstract model or representation may often contain all the information within the D/LDL file in a different form, although in some embodiments there can be a loss of superfluous information in converting the D/LDL file to the abstract object model or representation. Similarly, the intermediate object model or representation typically contains all the information needed to produce the standard compliant document, although in some embodiments this conversion may add information to the standard compliant document that is not present in the abstract model or representation.
(14) The Position Formatter 20/Standards Formatter 22 (see
(15) The Format Writer 24 (see
(16) Example Non-Limiting Pre-processing Module 14
(17) The Pre-processing module 14 (see
(18) Elements can be described in fixed positions on specific pages or flowing one after the other. The language also provides for specifying data sources 10 (specified as OLEDB (Object Linking and Embedding Database) connection strings) and queries within these sources. These queries can be used to specify fields that get populated as the values (text) in certain tags.
(19) Variables 50 may be declared so that users may pass custom data to the pre-processor 14 which replaces any occurrence of this variable with this value.
(20) The D/LDL also provides for specifying tags (structure types), attributes (Alternative Text, Scope, ListNumbering, Artifact subtypes and much more) in addition to Metadata.
(21) It also provides for specifying that certain strings are “special strings,” allowing them to be replaced with ActualText (for example special characters or special abbreviations).
(22) There are also constructs allowing for the automatic creation of common structures such as Tables of Content, Indices, running headers or footers based on Headings, odd/even pages, page labels and page numbers.
(23) The output of the pre-processing module 14 is the layout file 16 with all variables replaced, all queries run and their tags populated with their corresponding entries.
(24) Example Non-Limiting Model Builder 18
(25) The Model builder 18 (see
(26) Example Non-Limiting Position Formatter 20/Accessibility Formatter 22
(27) The position formatter 20 (see
(28) The position formatter 20 is also responsible for creating dynamic entities such as tables of content and indices as these require calculating the positions of all elements in order to be able to create the corresponding links in the tables of content and the index.
(29) Certain running headers and footers are also created by the position formatter 20.
(30) The accessibility or “standards” formatter 22 calculates attributes such as the header IDs assigned to every table cell. This adds accessibility related information (headers and IDs).
(31) The output of these modules is a model complete with all information required to render the document into any supported format.
(32) Example Non-Limiting Format Writers 24
(33) The format writer 24 (see
(34) While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.