Apparatus, system and method for a vector-based form field document
Summary by NHIP
Vector Document Form Apparatus
The apparatus references base document form field information to insert input fields onto vector-based document pages within a viewer. A dynamic scrolling module moves document object instances sequentially when pages enter or leave the viewable area, while the inserted fields approximate the appearance of the original base document fields.
Claim Score by NHIP
Abstract
An apparatus for a vector-based form field document includes a reference module referencing document content for a vector-based document and referencing form field information corresponding to the document content. A loading module loads the document content in a vector-based document viewer. An insertion module inserts one or more form fields onto the document content in the viewer. The one or more form fields are inserted based on the form field information. Each form field includes a field for user input.

Term
Projected expiry 26 June 2032.
- Priority
- Filed
- Granted
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1An apparatus for a vector-based form field document, the apparatus comprising:a reference module for referencing document content for a vector-based document and for referencing form field information corresponding to the document content, the form field information being extracted from a base document comprising one or more form fields;an instance creation module for creating one or more document object instances from the document content, the one or more document object instances associated with one or more pages of the vector-based document;a loading module for loading the one or more document object instances in a vector-based document viewer;a dynamic scrolling module for displaying the one or more pages of the vector-based document with the one or more document object instances such that a first document object instance displaying a first page is moved to a position below a second document object instance displaying a second page in response to the first page being removed from a viewable area and the second page being moved into the viewable area;and an insertion module for inserting one or more form fields onto the one or more pages in the viewer, the one or more form fields inserted based on the form field information such that an appearance of each form field approximates an appearance of a corresponding form field of the base document, each form field comprising a field for user input;wherein the reference module, the instance creation module, the loading module, the dynamic scrolling module, and the insertion module comprise one or more of logic hardware and executable code stored on a non-transitory computer readable storage medium.
- 17Broadest claimClaim Score 28, narrow(NHIP)A method for a vector-based form field document, the method comprising:referencing document content for a vector-based document and referencing form field information corresponding to the document content, the form field information being extracted from a base document comprising one or more form fields;creating one or more document object instances from the document content, the one or more document object instances associated with one or more pages of the vector-based document;loading the one or more document object instances in a vector-based document viewer;displaying the one or more pages of the vector-based document with the one or more document object instances such that a first document object instance displaying a first page is moved to a position below a second document object instance displaying a second page in response to the first page being removed from a viewable area and the second page being moved into the viewable area;and inserting one or more form fields onto the one or more pages in the viewer, the one or more form fields inserted based on the form field information such that an appearance of each form field approximates an appearance of a corresponding form field of the base document, each form field comprising a field for user input;wherein the referencing, creating, loading, displaying, and inserting are each performed using logic hardware.
- 19A computer program product for a vector-based form field document, the computer program product comprising a non-transitory computer readable storage medium storing computer usable program code executable to perform operations, the operations comprising:referencing document content for a vector-based document and referencing form field information corresponding to the document content, the form field information being extracted from a base document comprising one or more form fields;creating one or more document object instances from the document content, the one or more document object instances associated with one or more pages of the vector-based document;loading the one or more document object instances in a vector-based document viewer;displaying the one or more pages of the vector-based document with the one or more document object instances such that a first document object instance displaying a first page is moved to a position below a second document object instance displaying a second page in response to the first page being removed from a viewable area and the second page being moved into the viewable area;and inserting one or more form fields onto the one or more pages in the viewer, the one or more form fields inserted based on the form field information such that an appearance of each form field approximates an appearance of a corresponding form field of the base document, each form field comprising a field for user input.
Independent claims3
94 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to U.S. Provisional Patent Application No. 61/451,509 entitled “Apparatus, System, and Method For a Vector-Based Form Field Document” and filed on Mar. 10, 2011 for Jason Porter Rickabaugh, which is incorporated herein by reference.
FIELD
The subject matter disclosed herein relates to vector-based documents and more particularly relates to vector-based form field documents.
BACKGROUND
Description of the Related Art
Documents and forms are often available for download on the Internet, or distributed by electronic communication such as email. These documents may include legal documents, agreements between parties, applications, and the like. Often, a user may fill in data in these documents.
Often, these documents are in the form of Portable Document Format (“PDF”) documents from Adobe® or Microsoft® Word® documents. Documents in these formats may be large and difficult to distribute among various users. Furthermore, applications that present documents in these formats may be resource intensive.
SUMMARY
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method for a vector-based form field document. Beneficially, such an apparatus, system, and method would insert form fields onto a vector-based document.
The present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available form field documents. Accordingly, the present invention has been developed to provide an apparatus, system, and method for a vector-based form field document that overcome many or all of the above-discussed shortcomings in the art.
An apparatus for a vector-based form field document is disclosed. A method and computer program product also perform the functions of the apparatus. The apparatus, in one embodiment, includes a reference module, a loading module, and an insertion module. The reference module, in one embodiment, references document content for a vector-based document and references form field information corresponding to the document content. The loading module, in one embodiment, loads the document content in a vector-based document viewer. The insertion module, in one embodiment, inserts one or more form fields onto the document content in the viewer. The one or more form fields may be inserted based on the form field information and each form field may include a field for user input.
In one embodiment, which may be combined with any of the embodiments above, the vector-based document includes a playback file including vector graphics and video and/or audio. In one embodiment, which may be combined with any of the embodiments above, the vector-based document includes a Shockwave Flash (“SWF”) file and/or an XML Paper Specification (“XPS”) file.
In one embodiment, which may be combined with any of the embodiments above, the apparatus includes an instance creation module creating a plurality of document object instances from the document content. Each document object instance may display a single page of the vector-based document. In a further embodiment, which may be combined with any of the embodiments above, the apparatus includes a dynamic scrolling module displaying a plurality of pages of the vector-based document with the plurality of document object instances. In one embodiment, which may be combined with any of the embodiments above, the dynamic scrolling module moves a first document object instance displaying a first page to a position below a second document object instance displaying a second page in response a user scrolling the first page out of a viewable area and scrolling the second page into the viewable area. In a further embodiment, which may be combined with any of the embodiments above, the apparatus includes a dynamic scrollbar module managing a position of the plurality of document object instances in the vector-based document. In one embodiment, which may be combined with any of the embodiments above, the insertion module inserting one or more form fields onto the document content in the viewer further includes the insertion module inserting one or more form fields onto a particular page in response to the particular page becoming an active page in the viewer.
In one embodiment, which may be combined with any of the embodiments above, the insertion module links each of the one or more form fields to a data object. In one embodiment, which may be combined with any of the embodiments above, the reference module references the document content combined with the form field information. In one embodiment, which may be combined with any of the embodiments above, the reference module references the document content separately from the form field information.
In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a signature module providing a signature component onto the document content in the viewer. In one embodiment, which may be combined with any of the embodiments above, the signature component is for electronically signing the vector-based document. In one embodiment, which may be combined with any of the embodiments above, the signature module processes an electronic signature from a user by way of the signature component. In one embodiment, which may be combined with any of the embodiments above, the signature module replaces the signature component on the document content with a signature token in response to processing the electronic signature.
In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a finalization module finalizing the vector-based document. In one embodiment, the finalized vector-based document includes user input and/or an electronic signature. In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a document server providing the vector-based document and receiving one or more requests for the vector-based document. In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a client including the vector-based document viewer. In one embodiment, which may be combined with any of the embodiments above, the vector-based document viewer requests the vector-based document from a the document server in response to the client loading a web page including embedded tags for loading the vector-based document viewer and referencing the vector-based document. In one embodiment, which may be combined with any of the embodiments above, the vector-based document viewer sends a request to the document server. The vector-based document viewer may receive the vector-based document from the document server.
In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a web page server providing the web page including embedded tags for loading the vector-based document viewer. In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a conversion module receiving a base document input by a user. In one embodiment, which may be combined with any of the embodiments above, the conversion module extracts form field information from the base document. In one embodiment, which may be combined with any of the embodiments above, the conversion module converts the document content into at least a portion of a vector-based document. In one embodiment, which may be combined with any of the embodiments above, the conversion module saves the form field information as metadata corresponding to the document content.
In one embodiment, which may be combined with any of the embodiments above, the apparatus includes an edit module presenting the document content and the form field information to the user in an editable display responsive to user input. In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a management module modifying the form field information in response to user interaction with the editable display. In one embodiment, which may be combined with any of the embodiments above, the apparatus includes a notification module sending an electronic message comprising a tokenized link to a user. The tokenized link may allow the user to access the vector-based document.
The method for a vector-based form field document includes, in on embodiment, referencing document content for a vector-based document and referencing form field information corresponding to the document content. The method, in one embodiment, includes loading the document content in a vector-based document viewer. In one embodiment, the method includes inserting one or more form fields onto the document content in the viewer. The one or more form fields may be inserted based on the form field information and each form field may include a field for user input.
In one embodiment, which may be combined with any of the embodiments above, the method includes creating a plurality of document object instances from the document content. In one embodiment, which may be combined with any of the embodiments above, each document object instance is for displaying a single page of the vector-based document. In one embodiment, which may be combined with any of the embodiments above, the method includes displaying a plurality of pages of the vector-based document with the plurality of document object instances. In certain embodiments, which may be combined with any of the embodiments above, the method includes moving a first document object instance displaying a first page to a position below a second document object instance displaying a second page in response a user scrolling the first page out of a viewable area and scrolling the second page into the viewable area.
The computer program product for a vector-based form field document includes a computer readable storage medium having computer readable program code embodied therein. In one embodiment, the computer readable code is configured to reference document content for a vector-based document and reference form field information corresponding to the document content. In one embodiment, the computer readable code is configured to load the document content in a vector-based document viewer. In one embodiment, the computer readable code is configured to insert one or more form fields onto the document content in the viewer. In one embodiment, the one or more form fields are inserted based on the form field information and each form field includes a field for user input.
Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.
Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.
These features and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
In order that the advantages of the invention will be readily understood, a description of the invention will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
<figref idref="DRAWINGS">FIG. 1</figref> is a schematic block diagram illustrating one embodiment of a system for a vector-based form field document in accordance with the present invention;
<figref idref="DRAWINGS">FIG. 2</figref> is a schematic block diagram illustrating one embodiment of an apparatus for a vector-based form field document in accordance with the present invention;
<figref idref="DRAWINGS">FIG. 3</figref> is a schematic block diagram illustrating one embodiment of an apparatus for a vector-based form field document in accordance with the present invention;
<figref idref="DRAWINGS">FIG. 4</figref> is a schematic flow chart diagram illustrating one embodiment of a method for a vector-based form field document in accordance with the present invention;
<figref idref="DRAWINGS">FIG. 5</figref> is a schematic flow chart diagram illustrating one embodiment of a method for a vector-based form field document in accordance with the present invention; and
<figref idref="DRAWINGS">FIG. 6</figref> is a schematic flow chart diagram illustrating another embodiment of a method for a vector-based form field document in accordance with the present invention.
DETAILED DESCRIPTION
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
Modules may also be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Indeed, a module of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network. Where a module or portions of a module are implemented in software, the software portions are stored on one or more computer readable mediums.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including Flash or an object oriented programming language such as Java, Smalltalk, C++, Flex, ActionScript, .NET, PHP, or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Aspects of the present invention are described below with reference to schematic flowchart diagrams and/or schematic block diagrams of methods, apparatuses, systems, and computer program products according to embodiments of the invention. It will be understood that each block of the schematic flowchart diagrams and/or schematic block diagrams, and combinations of blocks in the schematic flowchart diagrams and/or schematic block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the schematic flowchart diagrams and/or schematic block diagrams block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the schematic flowchart diagrams and/or schematic block diagrams block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The schematic flowchart diagrams and/or schematic block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of apparatuses, systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the schematic flowchart diagrams and/or schematic block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more blocks, or portions thereof, of the illustrated figures.
Although various arrow types and line types may be employed in the flowchart and/or block diagrams, they are understood not to limit the scope of the corresponding embodiments. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the depicted embodiment. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted embodiment. It will also be noted that each block of the block diagrams and/or flowchart diagrams, and combinations of blocks in the block diagrams and/or flowchart diagrams, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
<figref idref="DRAWINGS">FIG. 1</figref> illustrates one embodiment of a system for a vector-based form field document in accordance with the present invention. The system <b>100</b> includes a document server <b>105</b> with a form field document apparatus <b>108</b> and a document management apparatus <b>110</b>, a network <b>115</b>, a client <b>120</b> with a document viewer <b>125</b>, and a web server <b>130</b> with a web page <b>135</b>. The document server <b>105</b> may host, store, and/or provide vector-based documents for access, and/or download over the network <b>115</b> by the client <b>120</b>. The document server <b>105</b> may execute one or more applications to support a vector-based document application environment for providing vector-based documents. A vector-based document refers to an electronic document and/or electronic file having vector-based graphics, which includes fonts, glyphs, and/or the like. In one embodiment, the vector-based documents provided by the document server <b>105</b> may include playback files with vector graphics, video and/or audio. Furthermore, in one embodiment, the vector-based document is a Shockwave Flash (“SWF”) file for a Flash® application environment or an XML Paper Specification (“XPS”) file for a Microsoft® Silverlight® application environment. In other embodiments, any suitable file format supporting vector-based graphics may be used. Similarly, the vector-based document application environment of the document server <b>105</b> may be a Flash® application environment, a Silverlight® application environment, or other suitable application environment.
The document server <b>105</b> may host, store, and/or provide, to clients <b>120</b>, vector-based form field documents as described below. The document server <b>105</b> may provide vector-based documents along with (e.g. embedded inside) web pages and/or provide vector-based documents to web pages referencing such vector-based documents (e.g. on servers besides the document server <b>105</b> such as the web server <b>130</b>). In one embodiment, the document server <b>105</b> may receive a request for a particular vector-based document from a client <b>120</b> in response to the client <b>120</b> loading, from the web server <b>130</b>, a web page <b>135</b> with embedded code referencing the particular vector-based document. The document server <b>105</b> may communicate the vector-based document to the client <b>120</b>. For example, a particular web page <b>135</b> may have embedded tags that reference a vector-based document on the document server <b>105</b>. A browser loading the web page <b>135</b> provided by the web server <b>130</b> may load a document viewer (for viewing vector-based documents as described below) in the embedded tags and the document viewer may load the vector-based document.
The web server <b>130</b> may be separate and distinct from the document server <b>105</b>. In one embodiment, the web server <b>130</b> is independent of the document server <b>105</b>. Specifically, the web server <b>130</b> may be a third-party web server <b>130</b> operated independently of the document server <b>105</b> and/or managed by a different entity. The web server <b>130</b>, although independent of the document server <b>105</b>, may include embedded tags that reference a vector-based document from the document server <b>105</b>.
The document server <b>105</b> may be embodied as a computing device including a desktop computer, a portable computer, a server, a mainframe computer, and the like. The document server <b>105</b> may include memory storing computer readable programs. The document server <b>105</b> may include a processor that executes the computer readable programs as is well known to those skilled in the art. The computer readable programs may be tangibly stored in storage in communication with the document server <b>105</b>. Although <figref idref="DRAWINGS">FIG. 1</figref> depicts a single document server <b>105</b>, one skilled in the art realizes that the system <b>100</b> may include multiple document servers <b>105</b>.
The document server <b>105</b> includes a form field document apparatus <b>108</b> and a document management apparatus <b>110</b>, described below. Although in the depicted embodiment, the document server <b>105</b> includes both the form field document apparatus <b>108</b> and the document management apparatus <b>110</b>, in certain embodiments, the document server <b>105</b> may be embodied with either the form field document apparatus <b>108</b> or document management apparatus <b>110</b> alone and/or be in communication with the form field document apparatus <b>108</b> and/or the document apparatus <b>110</b> residing on another server. The network <b>115</b> may comprise a global communications network such as the Internet, a Local Area Network (“LAN”), multiple LANs communicating over the internet, or any other similar communications network.
The client <b>120</b> may communicate with the document server <b>105</b> through the network <b>115</b> to access, reference, retrieve, and/or download vector-based documents. The client <b>120</b> may be embodied as a desktop computer, a portable computer, a server, a mainframe computer, a handheld computing device, a touch device, a personal desktop assistant (“PDA”), a table computer, an e-Book reader, a mobile phone, a Smartphone, and the like. Furthermore, although <figref idref="DRAWINGS">FIG. 1</figref> depicts a single client <b>120</b>, multiple clients <b>120</b> may communicate with the document server <b>105</b> through the network <b>115</b>.
The client <b>120</b> may include a document viewer <b>125</b> to display, reference, and/or access a vector-based document from the document server <b>105</b>. In one embodiment, the document viewer <b>125</b> is a vector-based document viewer. The document viewer <b>125</b> may be embodied as an application executing on the client <b>120</b>. The document viewer <b>125</b> may be embodied as a web-browser, as a plug-in to a web browser, an application executing in conjunction with a web-browser, and/or an application independent of a web-browser. In one embodiment, the document viewer <b>125</b> is a Flash® player from Adobe®, a Silverlight® player from Microsoft®, or any suitable viewer capable of downloading and/or displaying a vector-based document.
In one embodiment, the form field document apparatus <b>108</b> provides a vector-based document with editable form fields. Specifically, the form field document apparatus <b>108</b> may overlay, insert and/or maintain editable form fields on vector-based document content. Furthermore, the form field document apparatus <b>108</b> may coordinate movement of the editable form fields such that they move with the document content as the user scrolls the document content up or down. Furthermore, the form field document apparatus <b>108</b> may make the editable form fields otherwise appear as part of the document content.
These vector-based form-field documents may be used for user input forms, signature documents, and the like. Because the vector-based nature of the form-field documents greatly reduces their size, these vector-based form field documents are more readily downloadable by clients <b>120</b> and/or shared amongst other clients <b>120</b>. Furthermore, in one embodiment, the vector-based form field documents of the form field document apparatus <b>108</b> are compatible with pre-existing document viewers <b>125</b>, such as Flash® players from Adobe® and Silverlight® players from Microsoft®, which are available as standalone applications or accompanying many web-browsers. Moreover, the file size of a vector-based form field document may be much smaller in comparison to PDF version of the document.
In certain embodiments, the form field document apparatus <b>108</b> or a portion of the form field document apparatus <b>108</b> is embodied as a vector-based document and/or file that includes a vector-based document. For example, the form field document apparatus <b>108</b> may be embodied as a SWF file. In these embodiments, the client <b>120</b> may download the form field document apparatus <b>108</b> from the document server <b>105</b> for access in the document viewer <b>125</b> and the form field document apparatus <b>108</b> may reside in volatile or non-volatile memory on the client <b>120</b>. Consequently, at least a portion of the form field document apparatus <b>108</b> may also reside on the client <b>120</b>.
In one embodiment, the client <b>120</b> (e.g. a browser or other application on the client <b>120</b>) processes and/or loads a web page including embedded tags for requesting, loading, and/or referencing a particular vector-based form field document. The web page may be provided by a second server (e.g. a web server <b>130</b>) different from the document server <b>105</b> as described above. The second server may be a third party server independent of the document server <b>105</b>. The browser may load the document viewer <b>125</b> into the embedded tags and the document viewer <b>125</b> may send a request to the document server <b>105</b> for a vector-based document (e.g. a vector-based form field document) e.g. a vector-based form field document) e.g. a vector-based form field document) and receive from the document server <b>105</b> a particular vector-based form field document to display in the document viewer <b>125</b>. In this manner, the document server <b>105</b> may include a library of vector-based form field documents that other websites, such as those hosted and/or provided by other web servers <b>130</b>, may reference using embedded tags. For example, an insurance company may use embedded tags on the Hyper Text Markup Language (“HTML”) code of its web page to reference an SWF file, hosted by the document server <b>105</b> and embodying a vector-based form field document, of an insurance contract.
In certain embodiments, the document viewer <b>125</b> may include at least a portion of the form field document apparatus <b>108</b> as part of the document viewer <b>125</b> and/or a plug-in to the document viewer <b>125</b>. The form field document apparatus <b>108</b> may be embodied across the document server <b>105</b>, the client <b>120</b>, and the document viewer <b>125</b> in any suitable form. In one embodiment, the form field document apparatus <b>108</b> is essentially self contained and includes instructions to combine a vector-based document with form fields. In another embodiment, the form field document apparatus <b>108</b> includes a portion of executable code on the client <b>120</b> and another portion in the vector-based document and/or file that includes the vector-based document. In yet another embodiment, the form field document apparatus <b>108</b> includes instructions on the client <b>120</b> and the document is free of instructions to combine form fields and an underlying vector-based document.
As stated above, in certain embodiments, the document server <b>105</b> includes a document management apparatus <b>110</b>. The document management apparatus <b>110</b> may convert documents of various formats into vector-based form-field documents described above. The document management apparatus <b>110</b> may also allow a user to edit and customize form fields in a document, establish users who will receive the document (participants), notify one or more participants of the existence of the document, grant one or more participants access to the document, finalize the document after one or more participants have electronically signed the document, and/or the like. In certain embodiments, the document viewer <b>125</b> may include at least a portion of the document management apparatus <b>110</b> as part of the document viewer <b>125</b> and/or a plug-in to the document viewer <b>125</b>. The document management apparatus <b>110</b> may be embodied across the document server <b>105</b>, the client <b>120</b>, and the document viewer <b>125</b> in any suitable form.
<figref idref="DRAWINGS">FIG. 2</figref> illustrates one embodiment of an apparatus <b>200</b> for a vector-based form field document in accordance with the present invention. The apparatus <b>200</b> may comprise one embodiment of the form field document apparatus <b>108</b>. The description of the apparatus <b>200</b> refers to elements of <figref idref="DRAWINGS">FIG. 1</figref>, like numbers referring to like elements. The depicted apparatus <b>200</b> includes a reference module <b>205</b>, a loading module <b>210</b>, an insertion module <b>215</b>, an instance creation module <b>220</b>, a dynamic scrolling module <b>225</b>, a dynamic scrollbar module <b>230</b>, a signature module <b>235</b>, and a user input module <b>240</b>.
The reference module <b>205</b> references document content for a vector-based document. Referencing may include downloading, reading from storage, and the like. The document content may include vector-graphics, text, and/or other portions of a vector-based document. In certain embodiments, the document content may include video data, audio data, raster graphics, streaming media, and the like. In addition, in one embodiment, the document content may include raster graphics and no vector graphics. For example, vector graphics may be unavailable for a certain document. In certain embodiments, the document content may include embedded form-fields and/or form field information. In one embodiment, the document content is embodied by at least a portion of a vector-based document and/or file such as a SWF or XPS file and/or data that is otherwise displayable by a document viewer <b>125</b>.
The reference module <b>205</b> may also reference form field information corresponding to the referenced document content. In one embodiment, the form field information is metadata. The form field information may include information for characteristics of form fields including, but not limited to, position on page, height, width, x, y, coordinates, field name, read/write, visibility, tab order, and/or other metadata. Each form field may be a field for user input. Form fields may include but are not limited to textinput, textarea, dropdown list/combo boxes, check boxes, radio buttons, checkbox groups, radio button groups, drawing areas, and the like. In one embodiment, the form field information approximates the appearance of form fields (or locations in a base document where a form field may be inserted) in a base document converted to a vector-based form field document as described below.
In one embodiment, the reference module <b>205</b> references the document content combined with the metadata (e.g. combined in an SWF file with the document content). In some embodiments, the reference module <b>205</b> references the document content separately from the form field information. The reference module <b>205</b> may reference the document content from a first location, such as on the document server <b>105</b>, and reference the form field information from a second location, such as in a different location on the document server <b>105</b> or from another server.
As stated above, in one embodiment, the vector-based document is embodied as a playback file with vector graphics and one or more of video and audio. In one embodiment, the vector-based document is embodied as a Shockwave Flash (“SWF”) file, an XML Paper Specification (“XPS”) file, and/or the like.
In one embodiment, the reference module <b>205</b> is triggered by vector-based document viewer requesting a vector-based document from a document server <b>105</b> in response to a client loading a web page including embedded tags for loading the vector-based document viewer <b>125</b> and referencing the vector-based document. The vector-based document viewer <b>125</b> may send a request to the document server <b>105</b>. The vector-based document viewer <b>125</b> may receive the vector-based document from the document server <b>105</b>. As stated above, the web page may be provided by a second server different, independent, and/or external from the document server <b>105</b>.
The loading module <b>210</b> loads the document content in a document viewer <b>125</b>. In one embodiment, the loading module <b>210</b> loads the document content as a document object. As used herein, a document object refers to a data structure loaded and displayed by a document viewer <b>125</b> such as a Flash® player. In one embodiment, loading the document content includes providing the document content as a document object which the document viewer <b>125</b> loads and displays. In another embodiment, the loading module <b>210</b> loads the document content with as a dynamic scrolling object as described below.
The insertion module <b>215</b> inserts one or more form fields onto the document content in the document viewer <b>125</b> such that the document viewer <b>125</b> displays a vector-based form field document. The insertion module <b>215</b>, in one embodiment, inserts the one or more form fields based on the metadata. Specifically, the form field information in the metadata may identify a position on the document content for a form field along with the size and other characteristics of the form field.
In one embodiment, the insertion module <b>215</b> inserts one or more form fields onto a particular page of the vector-based document in response to the particular page becoming an active page in the document viewer <b>125</b>. A page may be considered an active page when at least a portion of the page is visible to a user in the document viewer <b>125</b>, the page is adjacent to a visible page, and the like. In one embodiment, the insertion module <b>215</b> links each of the one or more form fields to a data object. In one embodiment, the form fields include a tab order with indexed form fields for when a user presses the tab key to move from one field to another. Furthermore, in one embodiment, the insertion module <b>215</b> coordinates movement of the editable form fields such that they move with the document content as the user scrolls the document content up or down.
In certain embodiments, the insertion module <b>215</b> inserts form fields based on an identity of a user/participant/document viewer <b>125</b>. For example, if an author of the document has locked certain form fields, or hidden certain form fields from a particular user, the particular user will be unable to see hidden form fields or be unable to edit locked form fields. Furthermore, in some embodiments, certain form fields may be pre-populated with data values as described in greater detail below. In one embodiment, the insertion module <b>215</b> pre-populates form fields by way of an XML web service, a REST web service, JavaScript Object Notation (“JSON”), Action Message Format (“AMF”), and the like.
The instance creation module <b>220</b> creates a plurality of document object instances from the document content. Each document object instance may display a single page of the vector-based document. In one embodiment, the document viewer <b>125</b> is not configured to display a continuous, multi-page scrolling document and displays a single page of the vector-based document per document instance. Therefore, the instance creation module <b>220</b> may create a plurality of document object instances such that the dynamic scrolling module may simulate a continuous multi-page document in such a document viewer <b>125</b> as described below.
The dynamic scrolling module <b>225</b> displays a plurality of pages of the vector-based document with the plurality of document object instances. In one embodiment, the dynamic scrolling module <b>225</b> moves a first document object instance displaying a first page to a position below a second document object instance displaying a second page in response a user scrolling the first page out of a viewable area and scrolling the second page into the viewable area using a scrollbar or other scrolling control of the document viewer <b>125</b>. As a result, the dynamic scrolling module <b>225</b> may simulate a continuous multi-page scrolling document using multiple document object instances “stacked” in such a manner. In one embodiment, the dynamic scrolling module <b>225</b> loads a portion of the document to be currently viewed (i.e. screen full, page, paragraph, etc.) and loads a portion of the document above and below the currently viewed portion, while the remainder of the document is not loaded into memory. In the embodiment, when the document is scrolled down, the dynamic scrolling module <b>225</b> unloads the portion of the document that is above the currently viewed section, displays the portion below the currently viewed section (which becomes a new currently viewed section), and loads a portion of the document following the new currently viewed section. In this way, the entire document need not be loaded into memory. The user may freely scroll the document up and down and it appears as one complete document. The user can also use a hand tool to grab the document with a mouse pointer, and move the document around.
The dynamic scrollbar module <b>230</b> manages a position of the plurality of document object instances in the vector-based document. The dynamic scrollbar module <b>230</b> may provide a scrollbar or other similar navigation control that represents the actual size of the document and is linked to the dynamic scrolling object that maintains position of viewable object instances. The dynamic scrollbar module <b>230</b> may also maintain a current position (e.g. the active page visible to the user) in the vector-based document and depict the current position in the scrollbar that allows the user to scroll through pages of the vector-based document.
For example, if the vector-based document has five pages and the user is currently viewing page 3, the dynamic scrollbar module <b>230</b> may set the scrollbar selector to a middle position on the scrollbar. The dynamic scrollbar module <b>230</b> may signal the dynamic scrolling module <b>225</b> to scroll up or down through the document in response to the user moving the scrollbar indicator up or down.
The signature module <b>235</b> provides and/or inserts a signature component (e.g. a signing block or the like) onto the document content in the viewer. In one embodiment, a user's signature of the vector-based document indicates that the user accepts the terms of document. A user may use the signature component to electronically sign the vector-based document. In one embodiment, the signature module <b>235</b> processes an electronic signature from a user by way of the signature component. Processing the electronic signature may include communicating with the document server <b>105</b> or another server to validate the electronic signature. The signature module <b>235</b> may mark the signature data with an indicator to set the signature data apart from other form field data which is transmitted to the document server <b>105</b>. In one embodiment, the signature module <b>235</b> may transmit signature data to the document server <b>105</b> in a separate transaction. In some embodiments, the signature module <b>235</b> replaces the signature component on the document content with a signature token in response to processing the electronic signature. The signature token may include an image, or other indicator that the user has electronically signed the document.
The signature module <b>235</b> may use a variety of methods for allowing a user to electronically sign a document. In one embodiment, the signing component has an arbitrate method or widget used to sign the document in accordance with E-Sign laws for a particular jurisdiction. The signature component may include a text field with a button where the user can type in a legal name and press the sign button. The signature module <b>235</b> may also interact with a computer peripheral device such as a signing pad, electronic signature method or other server interactive signing methods such as a telephone pin signature where the user is prompted for his or her telephone number and a computerized telephone system sends an SMS message with a pin or calls the user via a voice line and plays back a pre-recorded message with a pin number. The user would then type that pin into a dialog and press a button to sign.
The user input module <b>240</b> receives, references, stores, and/or validates user input in the form fields. The user input module <b>240</b> may validate user input using client side and/or server side validation. For example, the user input module <b>240</b> may verify that letters are not input in a particular form field designated for numerical input (e.g. the user enters ‘a’ in a form field expecting numbers). The user input module <b>240</b> may prompt a warning display and/or ignore user attempts to enter input inconsistent with a form field specification.
<figref idref="DRAWINGS">FIG. 3</figref> illustrates one embodiment of an apparatus <b>300</b> for a vector-based form field document in accordance with the present invention. The apparatus <b>300</b> may comprise one embodiment of the document management apparatus <b>110</b>. The depicted apparatus <b>300</b> may include one or more of a management module <b>305</b>, a conversion module <b>310</b>, an edit module <b>315</b>, a notification module <b>320</b>, a signature interaction module <b>325</b>, a finalization module <b>330</b>, and an authentication module <b>335</b>.
The management module <b>305</b> allows a user to upload files and documents, setup a workflow, and arrange to send notifications to other users that they have documents that need attention. The management module <b>305</b> may also allow a user, such as a document author, to designate one or more participants to which to send a particular vector-based form field document and may allow a user to lock certain form fields and/or set the visibility of certain form fields for particular participants as described below. The management module <b>305</b> may initiate notification of a user regarding a vector-based form field document as part of a workflow (e.g. a document author configures a vector-based form field document to be sent to a certain number of participants in a certain order). In one embodiment, the management module <b>305</b> initiates notification of a user, manages documents, and manages, maintains, and/or initiates a workflow using a web service including, but not limited to, an Extended Markup Language (“XML”) web service, a Representational State Transfer (“REST”) web service, and the like. In one embodiment, the management module <b>305</b> initiates notification of a user, manages documents, and manages, maintains, and/or initiates a workflow using a web service including, but not limited to, an Extended Markup Language (“XML”) web service, a Representational State Transfer (“REST”) web service, and the like. In addition, in one embodiment, a user may access a vector-based form field document without being notified. In this embodiment, the management module <b>305</b> may begin a workflow after a user interaction with a vector-based form field document (e.g. a user submits information on form fields of a vector-based form field document). Specifically, a web page may include embedded tags that instruct a browser loading the web page to load the document viewer <b>125</b> to display a specified vector-based form field document. A user may interact with the vector-based form field document from these web pages without being first notified. The management module <b>305</b> may detect and/or be notified of a user interaction with a particular vector-based form field document and the management module <b>305</b> may initiate a workflow, take a particular action, and the like. For example, the management module <b>305</b> may forward the particular vector-based form field document to another user as part of the workflow, notify a representative affiliated with the web page, and the like. In this manner, the document server <b>105</b> may offer various vector-based form field documents that web pages, including web pages not affiliated with the document server <b>105</b>, may reference to provide various forms for users.
The conversion module <b>310</b>, in one embodiment, converts documents into vector-based documents with corresponding form field information. In one embodiment, the conversion module <b>310</b> receives a base document input by a user. The base document may be a Portable Document Format (“PDF”) document, a Word document, a PostScript document, and the like. In one embodiment, the conversion module <b>310</b> converts a non-PDF document into a PDF document, which the conversion module then converts into a vector-based document. In one embodiment, the conversion module <b>310</b> removes certain content while converting the base document into the vector-based document such as links, audio, video, and the like. In one embodiment, the conversion module <b>310</b> retrieves user input data from form fields in the base document (e.g. a PDF) and inserts the user input information into corresponding form fields in the vector-based document.
The conversion module <b>310</b> extracts form field information from the base document, converts the document content into at least a portion of a vector-based document, and saves the form field information as metadata corresponding to the document content. The conversion module <b>310</b> may save the metadata to storage such as flat file, mark up file, database, and the like.
The conversion module <b>310</b> may use various methods, APIs, web services, and/or tools to convert base documents into vector-based documents. In one embodiment, the conversion module <b>310</b> converts base documents to SWF file content using an external binary. In one embodiment, the conversion module <b>310</b> uses a virtual printer to convert the base document to a XPS file.
The edit module <b>315</b>, in one embodiment, presents the document content and the form field information to the user in an editable display responsive to user input. The edit module <b>315</b> modifies the form field information in response to user interaction with the editable display. The edit module <b>315</b>, in one embodiment, allows a user to drag and drop form fields, resize form fields, reposition form fields, draw form fields, set a tab order, designate a tab algorithm, and/or edit form field metadata. In one embodiment, the edit module <b>315</b> allows a user to lock certain form fields and/or set the visibility of certain form fields for particular participants or all participants and/or other users who view the document. In one embodiment, the edit module <b>315</b> allows a user to pre-populate certain form fields. As a result, when the document is sent to a participant who views the document, those certain form fields may include information designated by the document author. The edit module <b>315</b> may associate a form field with a value key corresponding to a value in a text block, XML file, and the like, for pre-populating the form field. In one embodiment, prepopulation of form fields is initiated by a web service including an XML web service, a REST web service, and the like.
The edit module <b>315</b> may allow a user to change order of participants, grouping, tab order, and the like of the vector-based document. In addition, the edit module <b>315</b> may allow a user to edit the number, identity, and order of the participants that will interact with the document.
In one embodiment, the notification module <b>320</b> notifies a user and/or participant of a vector-based document. The notification module <b>320</b> may notify a user/participant in response to a signal from the management module <b>305</b> (e.g. as part of a workflow managed by the management module <b>305</b>), a command from a document author to notify a participant, and the like. The notification module <b>320</b> may notify a user with an e-mail, text message, instant message, and the like. In one embodiment, the notification module <b>320</b> sends an electronic message comprising a tokenized link to a user. The tokenized link may allow the user to access the vector-based document and be authenticated to view the vector-based document. In one embodiment, the electronic message is an e-mail message.
The signature interaction module <b>325</b>, in one embodiment, may communicate with the signature module <b>235</b> to receive signature information from the vector-based document. The signature interaction module <b>325</b> may receive signature data with form field data and/or may receive signature data in a distinct transaction. The signature interaction module <b>325</b> may also interact with third-party electronic signature applications, servers, Application Programming Interfaces (“API”s) and the like.
The finalization module <b>330</b>, in one example, finalizes the vector-based document. The finalized vector-based document includes document content, user input, and/or an electronic signature. In one embodiment, once the user has completed filling out the form fields, the user may press a submit button or other input to send the form field data back to the document server <b>105</b>. In one embodiment, the finalization module <b>330</b> saves form field information to a file and digitally signs the file. In one embodiment, the finalization module <b>330</b> finalizes the document after each user that the document author intended to supply information to and/or sign the document has done so.
In one embodiment, the finalization module <b>330</b> creates a Portable Document Format (“PDF”) file or an XPS file based on the document content and the form field information with entries from one or more users. In a further embodiment, the finalization module <b>330</b> retrieves a base document for the vector-based document and inserts the form field entries and/or signature information onto the base document. The finalization module <b>330</b> may then notify the participants that the finalized file is ready. The PDF file created by the finalization module <b>303</b> may be a different file from an original PDF base document converted by the conversion module <b>310</b> in a vector-based document (although the two documents may appear similar).
In one embodiment, the authentication module <b>335</b> authenticates a user to allow the user to access a vector-based form field document. In one embodiment, the authentication module <b>335</b> may receive a request with authentication information in response to a user clicking on a tokenized link with embedded authentication information. In some embodiments, the authentication module <b>335</b> interacts with third-party authentication frameworks such as Single Sign On (“SSO”) to authenticate a user via external accounts such as Facebook, Google or Gmail, MSN, and the like.
<figref idref="DRAWINGS">FIG. 4</figref> illustrates one embodiment of a method <b>400</b> for a vector-based form field document in accordance with the present invention. The method <b>400</b> may substantially include the steps to carry out at least a portion of the functions presented above with respect to the operation of the described apparatus and system of <figref idref="DRAWINGS">FIGS. 1-2</figref>. The description of the method <b>400</b> refers to elements of <figref idref="DRAWINGS">FIGS. 1-2</figref>, like numbers referring to like elements.
The method <b>400</b> starts and the reference module <b>205</b> references <b>405</b> document content for a vector-based document. Next, the reference module <b>205</b> references <b>410</b> metadata. The metadata may include form field information corresponding to the document content. The loading module <b>210</b> then loads <b>415</b> the document content in a document viewer <b>125</b>. The insertion module <b>215</b> inserts <b>420</b> one or more form fields onto the document content in the viewer. The insertion module <b>215</b> may insert the form fields based on the metadata. Furthermore, each form field may include a field for user input. Then, the method <b>400</b> ends.
<figref idref="DRAWINGS">FIG. 5</figref> illustrates one embodiment of a method for a vector-based form field document in accordance with the present invention. The method <b>500</b> may substantially include the steps to carry out at least a portion of the functions presented above with respect to the operation of the described apparatuses and system of <figref idref="DRAWINGS">FIGS. 1-3</figref>. The description of the method <b>500</b> refers to elements of <figref idref="DRAWINGS">FIGS. 1-3</figref>, like numbers referring to like elements.
The method <b>500</b> begins and the conversion module <b>310</b> receives <b>505</b> a base document input by a user. The conversion module <b>310</b> then extracts <b>510</b> form field information from the base document. Next, the conversion module <b>310</b> converts <b>515</b> the document content into at least a portion of a vector-based document. The conversion module <b>310</b> then saves <b>520</b> the form field information as metadata corresponding to the document content. The edit module <b>315</b> presents <b>525</b> the document content and the form field information of the vector-based form field document to the user in an editable display responsive to user input. If the user modifies <b>530</b> the form field information (and chooses to persist the changes), the management module <b>305</b> saves <b>535</b> the form field information modifications and the method <b>500</b> ends. Otherwise, the method <b>500</b> ends.
<figref idref="DRAWINGS">FIG. 6</figref> illustrates another embodiment of a method <b>600</b> for a vector-based form field document in accordance with the present invention. The method <b>600</b> may substantially include the steps to carry out at least a portion of the functions presented above with respect to the operation of the described apparatuses and system of <figref idref="DRAWINGS">FIGS. 1-3</figref>. The description of the method <b>600</b> refers to elements of <figref idref="DRAWINGS">FIGS. 1-3</figref>, like numbers referring to like elements.
The method <b>600</b> begins and the notification module <b>320</b> notifies <b>605</b> a user of availability of a vector-based document. In certain embodiments, the notification module <b>605</b> and the authentication module <b>335</b> may authenticate a user. Specifically, the notification module <b>320</b> may, in certain embodiments, send an electronic message including a tokenized link to a user. The tokenized link allows the user to access the vector-based document. The authentication module <b>335</b> may validate <b>610</b> the user (e.g. in response to the user selecting the tokenized link). In other embodiments, other forms of authentication may be used. In certain embodiments, a user is not authenticated or validated, just notified of a vector-based document.
Next, the reference module <b>205</b>, loading module <b>210</b>, and insertion module <b>215</b> present <b>610</b> the vector-based document as described above in relation to <figref idref="DRAWINGS">FIG. 4</figref>. The signature interaction module <b>325</b> detects <b>615</b> the user sign the vector-based document with the signature component. The document server <b>105</b> and/or management module <b>305</b> receives <b>620</b> the form field information and signature information. If the document author has selected more recipients <b>625</b> for the vector-based document, the method <b>600</b> returns to step <b>605</b>. Alternatively, the finalization module <b>330</b> finalizes <b>630</b> the vector-based document and the method <b>600</b> ends.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Contents6
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both waysCites: the store holds 95 of 96
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2015012374A1 | Cited by | United States of America | Pre-grant |
| US9922355B2 | Cited by | United States of America | Search report |
| EP0394168A2 | Cites | European Patent Office (EPO) | Applicant |
| US2001034835A1 | Cites | United States of America | Applicant |
| US2001050681A1 | Cites | United States of America | Applicant |
| US2002040431A1 | Cites | United States of America | Applicant |
| US2002069179A1 | Cites | United States of America | Applicant |
| US2002178190A1 | Cites | United States of America | Applicant |
| US2003182402A1 | Cites | United States of America | Search report |
| US2004049740A1 | Cites | United States of America | Applicant |
| US2004181525A1 | Cites | United States of America | Applicant |
| US2005086248A1 | Cites | United States of America | Applicant |
| US2005128508A1 | Cites | United States of America | Applicant |
| US2005193330A1 | Cites | United States of America | Applicant |
| US2006031757A9 | Cites | United States of America | Applicant |
| US2006259440A1 | Cites | United States of America | Applicant |
| US2006271837A1 | Cites | United States of America | Applicant |
| US2006282442A1 | Cites | United States of America | Applicant |
| US2006286534A1 | Cites | United States of America | Applicant |
| US2007028172A1 | Cites | United States of America | Applicant |
| WO2007030488A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2007083851A1 | Cites | United States of America | Applicant |
| US2007112926A1 | Cites | United States of America | Applicant |
| US2007146812A1 | Cites | United States of America | Applicant |
| US2007206022A1 | Cites | United States of America | Search report |
| US2007294725A1 | Cites | United States of America | Applicant |
| US2008147790A1 | Cites | United States of America | Applicant |
| US2008209311A1 | Cites | United States of America | Applicant |
| US2008235585A1 | Cites | United States of America | Applicant |
| KR20090014492A | Cites | Republic of Korea | Applicant |
| WO2009026727A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO2009034718A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2009055413A1 | Cites | United States of America | Applicant |
| US2009077658A1 | Cites | United States of America | Applicant |
| US2009119179A1 | Cites | United States of America | Applicant |
| US2010070843A1 | Cites | United States of America | Applicant |
| US2010083129A1 | Cites | United States of America | Applicant |
| US2010172594A1 | Cites | United States of America | Applicant |
| US2010271397A1 | Cites | United States of America | Search report |
| US2010293384A1 | Cites | United States of America | Applicant |
| US2011035660A1 | Cites | United States of America | Applicant |
| US2012089659A1 | Cites | United States of America | Search report |
| CA2697948A1 | Cites | Canada | Applicant |
| US5339393A | Cites | United States of America | Applicant |
| US5704029A | Cites | United States of America | Applicant |
| US5818955A | Cites | United States of America | Applicant |
| US6272506B1 | Cites | United States of America | Applicant |
| US6360236B1 | Cites | United States of America | Applicant |
| US6490601B1 | Cites | United States of America | Search report |
| US6895552B1 | Cites | United States of America | Applicant |
| US6959414B1 | Cites | United States of America | Applicant |
| US7055092B2 | Cites | United States of America | Applicant |
| US7134092B2 | Cites | United States of America | Applicant |
| US7307642B2 | Cites | United States of America | Applicant |
| US7430711B2 | Cites | United States of America | Applicant |
| US7502934B2 | Cites | United States of America | Applicant |
| US7509353B2 | Cites | United States of America | Applicant |
| US7539869B1 | Cites | United States of America | Applicant |
| US7694145B1 | Cites | United States of America | Applicant |
| US7779355B1 | Cites | United States of America | Applicant |
| US8484551B2 | Cites | United States of America | Search report |
| US20010034835A1 | Cites | United States of America | Applicant |
| US20010050681A1 | Cites | United States of America | Applicant |
| US20020040431A1 | Cites | United States of America | Applicant |
| US20020069179A1 | Cites | United States of America | Applicant |
| US20020178190A1 | Cites | United States of America | Applicant |
| US20030182402A1 | Cites | United States of America | Search report |
| US20040049740A1 | Cites | United States of America | Applicant |
| US20040181525A1 | Cites | United States of America | Applicant |
| US20050086248A1 | Cites | United States of America | Applicant |
| US20050128508A1 | Cites | United States of America | Applicant |
| US20050193330A1 | Cites | United States of America | Applicant |
| US20060031757A9 | Cites | United States of America | Applicant |
| US20060259440A1 | Cites | United States of America | Applicant |
| US20060271837A1 | Cites | United States of America | Applicant |
| US20060282442A1 | Cites | United States of America | Applicant |
| US20060286534A1 | Cites | United States of America | Applicant |
| US20070028172A1 | Cites | United States of America | Applicant |
| US20070083851A1 | Cites | United States of America | Applicant |
| US20070112926A1 | Cites | United States of America | Applicant |
| US20070146812A1 | Cites | United States of America | Applicant |
| US20070206022A1 | Cites | United States of America | Search report |
| US20070294725A1 | Cites | United States of America | Applicant |
| US20080147790A1 | Cites | United States of America | Applicant |
| US20080209311A1 | Cites | United States of America | Applicant |
| US20080235585A1 | Cites | United States of America | Applicant |
| US20090055413A1 | Cites | United States of America | Applicant |
| US20090077658A1 | Cites | United States of America | Applicant |
| US20090119179A1 | Cites | United States of America | Applicant |
| US20100070843A1 | Cites | United States of America | Applicant |
| US20100083129A1 | Cites | United States of America | Applicant |
| US20100172594A1 | Cites | United States of America | Applicant |
| US20100271397A1 | Cites | United States of America | Search report |
| US20100293384A1 | Cites | United States of America | Applicant |
| US20110035660A1 | Cites | United States of America | Applicant |
| US20120089659A1 | Cites | United States of America | Search report |
| EP394168A2 | Cites | European Patent Office (EPO) | Applicant |
| PCT/US2012/028629, International Search Report and Written Opinion, Mailed Oct. 19, 2012. | Non-patent | – | Applicant |
| Joe Magas, "Pdf-Raster or Vector?", The Less Paper Blog, URL: http://www.thelesspaperblog.com/2009/10/pdf-raster-or-vector.html, Oct. 19, 2009. | Non-patent | – | Applicant |
| Anonymous: "Flash Tutorial-Forms", tizag.com, URL: http://www.tizag.com/flashTutorial/flashforms.php, Nov. 26, 2005. | Non-patent | – | Applicant |
9 members in 4 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 201161451509 | United States of America | P | |
| 201161451509 | United States of America | P | |
| 201213417061 | United States of America | A | |
| 61451509 | – | – | – |
| US201161451509P | – | – | – |
| US201213417061 | – | – | – |
Members9
| Document | Office | Kind | |
|---|---|---|---|
| US2012233532A1 | United States of America | A1 | |
| WO2012122539A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2012122539A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2012122539A4 | World Intellectual Property Organization (WIPO) | A4 | |
| CN103518195A | China | A | |
| EP2684141A2 | European Patent Office (EPO) | A2 | |
| EP2684141A4 | European Patent Office (EPO) | A4 | |
| US9015574B2This record | United States of America | B2 | |
| CN103518195B | China | B |
64 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 RCE.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Surcharge for Late Payment, Micro EntityM3554 | M3554 | |
| Payment of Maintenance Fee, 4th Year, Micro EntityM3551 | M3551 | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Applicant Has Filed a Verified Statement of Micro Entity Status in Compliance with 37 CFR 1.29MICR | MICR | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Interview Summary- Applicant InitiatedEXIA | EXIA | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Preliminary AmendmentA.PE | A.PE | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: MICROENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: MICROENTITYFEPP | FEPP | |
| Fee payment procedureSURCHARGE FOR LATE PAYMENT, MICRO ENTITY (ORIGINAL EVENT CODE: M3554); ENTITY STATUS OF PATENT OWNER: MICROENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: MICROENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF |
Numbers
- Publication
- 09015574
- Publication, DOCDB
- 9015574
- Publication, EPODOC
- US9015574
- Application
- 13417061
- Application, DOCDB
- 201213417061
- Application, EPODOC
- US201213417061
Titles
- English
- Apparatus, system and method for a vector-based form field document
Patent term adjustment
- A delay
- +188 daysthe office missed an examination deadline
- B delay
- +7 dayspendency past three years
- Applicant delay
- −86 days
- Net adjustment
- 109 days
Classification
- CPC, 4
- G06F40/174
- G06F17/243
- G06F40/143
- G06F17/2247
- IPC, 4
- G06F3 048
- G06F40 143
- G06F17 22
- G06F17 24
- USPC, 4
- 715224000
- 715234000
- 715760000
- 715786000