[go: up one dir, main page]

WO2015108526A1 - Ajustement automatique de documents - Google Patents

Ajustement automatique de documents Download PDF

Info

Publication number
WO2015108526A1
WO2015108526A1 PCT/US2014/011962 US2014011962W WO2015108526A1 WO 2015108526 A1 WO2015108526 A1 WO 2015108526A1 US 2014011962 W US2014011962 W US 2014011962W WO 2015108526 A1 WO2015108526 A1 WO 2015108526A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
code
viewer
image recognition
viewers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2014/011962
Other languages
English (en)
Inventor
Elad LEVI
Ran BAR ZIK
Avigad MIZRAHI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to PCT/US2014/011962 priority Critical patent/WO2015108526A1/fr
Publication of WO2015108526A1 publication Critical patent/WO2015108526A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Definitions

  • FIG. 1 is a block diagram of an exampie system for automatic adjustment of documents
  • FIGS. 2A to 2D are exampie views from exampie document viewers and are used to describe automatic adjustment of documents
  • FIGS. 3A and 3B show a flowchart of an exampie method for automatic adjustment of documents
  • F!G. 4 is a flowchart of an example method for automatic adjustment of documents
  • F!G. 5 is a block diagram of an exampie system for automatic adjustment of documents.
  • F!G. 6 is a block diagram of an exampie system for automatic adjustment of documents.
  • vvebpage code elements e.g., HTML elements, CSS elements, image files, etc.
  • differences for example, such as different fonts being displayed, different colors being displayed and/or different margin widths or the like.
  • different web browsers may differ with respect to their support for various webpage code elements (e.g., JavaScript elements, HTML elements, etc.). This may result in errors on some browsers and not others.
  • internet content providers may expend significant time and resources to ensure that their webpages display similarly on different browsers, for example, by creating separate webpage code versions for multiple different browsers and versions.
  • the goai may be to provide a constant look and feel experience for internet users regardless of how they consume the content (e.g., which browser or version they use). Attempting to provide such a constant experience may require significant and continuous testing.
  • developers manualiy check their code with several different web browsers, and after detecting a difference in how their content is displayed, they may manually edit their vvebpage code or create multiple versions of their webpage code to make sure that there are no differences between different browsers.
  • a developer may be able to use a special vvebpage code template that creates a "base layer" of webpage elements that display the same on multiple web browsers.
  • a code template may include various CSS elements that display the same on multiple browsers. As long as the developer uses these base layer elements, the developer may be confident that at least these elements wili appear the same.
  • such templates restrict the freedom of the developers, forcing them to use webpage elements that they may not ideally want to use.
  • such templates may not provide a constant look and fee! for many other webpage elements that are not part of the base layer.
  • a developer may be able to use multiple "style sheets" where each style sheet is associated with a particuiar web browser. Then, as long as a web browser supports the sty!e sheet selection, the correct styie sheet may be used when the developer's content is loaded in the particular web browser.
  • Each style sheet may be a full copy of the webpage code or an add-on to a base of webpage code. Regardless, this approach may require a developer to create multiple versions of the webpage code for various web browsers.
  • a document code adjuster may cause document code for a document to render in a first document viewer (e.g. , web browser) and a second document viewer (e.g., web browser).
  • the document code adjuster may use an image recognition tool to determine whether the manners in which the document code is dispiayable by the first document viewer and the second document viewer are simitar within a defined threshold. Then, the document code adjuster may automatica!iy modify the document code based on output of the image recognition too!
  • this wouid allow for automatic detection of display differences in webpages between different web browsers and aliow for automatic adjustment of such webpages.
  • developers could develop webpages for a preferred web browser and then use the solutions of the present disclosure to automatically ensure their webpages display correctly on other web browsers.
  • webpages are just one type of markup document, and the present disclosure contemplates other types of markup documents as well
  • a webpage may use a markup language that includes annotations that are distinguishable from the actual content to be displayed (e.g., text, images, etc.). Such annotations may indicate, for example, how the content and/or other elements of the webpage should be formatted and displayed.
  • other types of documents may use a markup language. For example, a Microsoft Word document may use annotations to indicate formatting and the like.
  • a web browser is just one example of a markup document viewer, and the present disclosure contemplates other types of markup document viewers as well.
  • a Microsoft Word document may be viewed using Microsoft Word or Open Office.
  • a similar display issue may arise if a content provider wants to ensure that a document displays similarly on these different document viewers.
  • the term "document” may be used in the present disclosure to refer to any type of marku document, where a webpage is just one example.
  • the term "document viewer” may be used in the present disclosure to refer to any type of markup document viewer, where a web browser is just one example.
  • Various descriptions herein may describe automatic adjustment of documents with respect to two document viewers (i.e., an anchor document viewer and a target document viewer). It should be understood however, that the various solutions described herein may be expanded to automatic adjustment of documents with respect to more than two documeni viewers (e.g., an anchor document viewer and multiple target document viewers). In such examples, it may be possible for a single document code base to be generated that displays as desired on all the target document viewers. However, in some situations, due to inconsistences (e.g., default display preferences, support for document code elements, etc.) between the multiple document viewers, it may not be possible to create a single documeni code base that displays as desired on ali document viewers.
  • inconsistences e.g., default display preferences, support for document code elements, etc.
  • the result of the solutions described herein for multiple target document viewers may be multiple document code bases, one for each target document viewer.
  • Each document code base then renders as desired both on the anchor document viewer and the associated target document viewer.
  • various descriptions here may describe only two document viewers, but this should not be construed as limiting and each of these descriptions may be expanded for more than two document viewers.
  • F!G. 1 is a block diagram of an example system 100 for automatic adjustment of documents.
  • System 100 may be at ieast one computing device, in some examples, system 100 may be a single computing device, and in other examples, system 100 may include multiple computing devices that are in communication with each other via at Ieast one network.
  • a network may be any wired or wireless network, and may include any number of hubs, routers, switches or the like.
  • Such a network may be, for example, part of the internet, part of an intranet and/or other type of network.
  • the term "system" may be used to refer to a single computing device or multiple computing devices that communicate with each other.
  • system 100 includes a document code adjuster 102 and an image recognition tool 104.
  • System 00 also includes original document code 102 and a first document viewer 108.
  • Original document code 102 may include any number of code fifes that use a markup language.
  • code 102 may include any number of webpage code files (e.g., files that include HTML, CSS, JavaScript, etc.).
  • First document viewer 108 may be a preferred document viewer, for example, preferred by a developer of code 106. More specifically, the developer may have created code 106 to display as desired using the first document viewer 108.
  • document viewer 108 may be referred to as an “anchor,” which means that the manner in which document viewer 108 displays code 106 may be used as a reference.
  • the second document viewer may be referred to as a "target" document viewer.
  • a goal may be for the first document viewer and a second document viewer (e.g., 1 10 ⁇ to display document code in a similar manner, in order to achieve this goal, document code adjuster 102 may use image recognition tool 104 to determine whether the manners the first 8
  • document viewer 108 and the second document viewer 110 display the code are similar within a defined threshold. Then, document code adjuster 102 may automatically modify the document code (e.g., maintaining new document code 112) based on output of the image recognition tool.
  • system 100 may include more than Just two document viewers.
  • system 100 may include multiple target document viewers.
  • document code adjuster 102 may maintaining multiple new document code bases (e.g., similar to 1 12), and document code adjuster 102 may automatically modify these multiple new document code bases in a similar manner to how document code adjuster 102 automatically modifies new document code 1 12.
  • Original document code 106 and new document code 112 may each be stored on a machine-readabie storage medium and/or a physical storage device of system 100.
  • Document code adjuster 102 may then access such a machine- readabie storage medium and/or a physical storage device to reach code 106 and/or code 112 and to make changes to such code or save updated code.
  • Document viewers 108 and 1 10 may each include instructions (e.g., stored on a machine-readable storage medium of system 100) that, when executed (e.g., by a processor of system 100), implement the functionality of the document viewers described herein.
  • document viewers 108 and 1 10 are different document viewers (e.g., provided by different vendors) or different versions of a document viewer.
  • document viewers 108 and 1 10 may be different web browsers or different versions of a web browser.
  • Each document viewer (108, 1 10) is capable of rendering document code provided to it (e.g., by document code adjuster 102), which means that each document viewer may cause image information (e.g., a webpage, an image file, etc. ) to be produced based on the code.
  • the document viewers may be run in a user-centric fashion, which means that the document viewers may run with a graphicai user interface (GUI) thai actually causes images to display on a screen to a user.
  • GUI graphicai user interface
  • the document viewers may be run in a "headless" fashion, which means the document viewers run without a visible GUI, but image information produced by the document viewers as a result of rendering document code may be accessible nonetheless.
  • image recognition tool 104 may include instructions (e.g. , stored on a machine-readable storage medium of system 100 ⁇ that, when executed (e.g., by a processor of system 100), implement the functionality of the image recognition tool described herein.
  • image recognition tool 104 may include electronic circuitry (i.e., hardware) that implements the functionality described herein.
  • image recognition tooi 104 may be implemented as part of document code adjuster 102.
  • image recognition tool 104 may be separate component.
  • image recognition too! 104 may be located on a separate computing device from document code adjuster 102, and these components may communicate over a network.
  • Image recognition tool 104 may receive (e.g., from document code adjuster 102) a number of images (e.g., image files) and may determine whether such images are similar within a defined threshold. For example, image recognition tool 104 may receive a first image and a second image and may determine whether the images are similar within a defined threshold and then may output (e.g., to document code adjuster 102) an indication of the similarity determination, !n some situations, image recognition tool 104 may provide (e.g., to document code adjuster 102) additional information beyond just whether the images are similar. For example, image recognition tool 104 may provide information about what is different between two images, e.g., content formatting information such as font type, font color, margin widths and heights or the like.
  • image recognition tool 104 may require that two images be identical (e.g., zero threshold) for the tooi to output that the images are similar, in other situations, image recognition tooi 104 may allow two images to be slightly different while sti!l determining that the images are similar.
  • the amount of differences allowed between the images is referred to as a threshold and may be configurable.
  • the threshold may be measured in various ways, for example, a percentage of pixels that are not identical between the images. In one specific example, image recognition tool 104 may allow two images to have 10% of the pixels that are not identical. Various other percentages may be used and various other threshold measures may be used.
  • document code adjuster 102 may interact multiple times with image recognition tool 104, for example a first interaction may include sending images related to document code rendering on the anchor document viewer and a first target document viewer, and receiving a similarity determination. Then, a second interaction may include sending images related to document code rendering on the anchor document viewer and a second target document viewer, and receiving a similarity determination, and so on for as many target document viewers as are involved.
  • Document code adjuster 102 may include at feast one of a code receiver 114, code crawler 1 16, document viewer launcher 18, image manager 120 and code modifier 122.
  • Document code adjuster 102 (and each of components 1 14, 116, 1 18, 120, 122) may include instructions (e.g. , stored on a machine-readable storage medium of system 100) that, when executed (e.g., by a processor of system 100), implement the functionality described herein.
  • document code adjuster 102 (and each of components 1 14, 116, 1 18, 120, 122) may include electronic circuitry ⁇ i.e., hardware) that implements the functionality described herein.
  • Document code adjuster 102 may communicate with image recognition tool 104, for example, to send images to image recognition too! 104, and receive an indication in response regarding the similarity of the provided images, in some situations, document code adjuster 102 may receive from image recognition tool 104 additional information regarding why images are not similar, as described above.
  • Code receiver 1 14 may access original document code 106, and ma use this code as a reference or starting point to ultimate generate new document code 1 2.
  • Code receiver 1 14 may make a copy of original document code 106, and then code modifier 122 may make changes to that copy, in which case new document code 1 2 may be a separate, modified code base from code 106.
  • code receiver 1 4 may access the original document code 106, and code modifier 122 may make changes directly to code 106, in which case new document code 112 may be the same code base as code 106, but modified (e.g., later in time).
  • code receiver 114 makes a separate copy of original document code 106 and saves it as new document code 1 12, and then code crawler 1 16 accesses new document code 112, and code modifier 122 makes changes to new document code 1 12.
  • code crawler 116 directly accesses code 106, for example.
  • Code crawler 116 may access document code 1 12 to analyze the structure (e.g., tree-like structure) of the code.
  • a document code structure may be referred to as a DOM (Document Object Model).
  • the document code structure may indicate various code elements (e.g., HTML elements, CSS elements, etc.), and various code elements may include a number of further embedded code elements, and so on.
  • a webpage may include a main page frame ⁇ a first code element) and that main page frame may include a number of section frames (additional code elements). Then, each section frame may include a number of buttons (additionai code elements).
  • Code crawler 116 may step or "crawl" through the structure of document code 1 12 to isolate, in a step-by-step manner, various code elements of document code 112.
  • Code crawler 116 may modify the code of new document code 1 12 to isolate various code elements at various times.
  • One way to isolate code elements is to modify the document code to make ail code elements invisible except for the elements that are being isolated.
  • Code crawler 1 18 may at various times, provide code modified to isolate various elements, where the code may foe provided to multiple document viewers (e.g., document viewers 108 and 1 10).
  • Document viewer launcher 1 18 may at va ious times launch document viewers (e.g., 108, 1 10 ⁇ and/or send document code to the document viewers.
  • Document viewer launcher 118 may provide document code to the document viewers such that the documents viewers can render or load the code.
  • Document viewer launcher 118 may provide a current copy of document code ⁇ e.g., 1 12), for example.
  • document viewer launcher 118 may provide document code that has been modified (e.g., by code crawler 1 16) to isolate certain code elements.
  • Document viewer launcher 1 18 may launch document viewers 108 and 1 10 in a headless fashion, which means a GUI's of these document viewers may not foe visible to users, but visual information generated by these document viewers may be accessible to document code adjuster 102.
  • Image manager 120 may access images related to document code rendered by document viewers. For example, image manager 120 may access a first image related to the document code 1 12 rendered by document viewer 108 and a second image related to the document code 112 rendered by the target document viewer 1 10. These images may be provided by the document viewers 108, 110.
  • Various document viewers may include a feature (e.g., when run in a headless fashion) that provides an image file (e.g., snapshot) regarding how the rendered document code would look if a GUI were displayed to a user to show the document.
  • these images may instead be generated by document code adjuster 102, e.g., with the help of an image generation tool.
  • Such an image generation tool may analyze outputs from the document viewers 108 and 110 and generate images.
  • Image manager 120 may provide images (e.g., the first image and the second image) to image recognition tool 104 such that image recognition too! 104 can determine whether the images are simi!ar within a defined threshold.
  • Code modifier 122 may modif document code 1 12 to implement various fixes to the document code such that it renders similarly in document viewers 108 and 1 10.
  • Code modifier 122 may receive information from image recognition tool 104 regarding differences between how a code element is rendered in different document viewers. For example, a button code element may render with a different font type in different browsers. Based on this information, code modifier 122 may automatically modify document code 112 such that the code element display similarly in the different browsers. For example, regarding font type, a font type of "default" in the document code may be changed to a font type of "Arial". Thus, when the code element is rendered in different document viewers, the document viewers will display an Aria! font type instead of their default font type which may differ from document viewer to document viewer.
  • FIGS. 2A to 2D are example views from example document viewers 202, 204 to describe automatic adjustment of documents.
  • Document viewers 202 and 204 may be similar to document viewers 108 and 110 of FIG. 1.
  • document viewer 202 may be an anchor document viewer and document viewer 204 may be a target document viewer.
  • it may be a goaf for document code to display in document viewer 204 in a manner that similar to document viewer 202.
  • document viewer 202 displays (e.g., via content displayer 206) the document code differently than document viewer 204 (e.g., via content displayer 208).
  • the font type throughout the document is different between document viewers 202 and 204.
  • section 1 buttons 210 are separated by a margin while in document viewer 204, section 1 buttons 212 have no margin or a margin of zero, ft should be understood that the example views of FIGS. 2A to 2D are Just examples and the present disclosure may not actually require the document code to be displayed in visible windows (e.g., to users) of document viewers 202 and 204. Instead, the document viewers may foe run in a headless fashion, in which case the images/information shown in the content dispiayers 206, 208 may be provided by the document viewers (e.g., as image files) without displaying such images/information. The images of document viewers in FIGS. 2A to 2D are thus provided to make clear a goal of the present disclosure to achieving a consistent look and feel between different document viewers.
  • FIGS. 2A to 2D may be further referred to as the following example method is described.
  • the following method may describe automatic adjustment of documents and may describe a method that may be used to fix the differences shown between document viewers 202 and 204.
  • FIGS. 3A and 3B show a flowchart of an example method 300 for automatic adjustment of documents.
  • the second part 350 of method 300 shown in FiG. 3B should be understood to be part of the overail method 300.
  • the execution of method 300 is described below with reference to a system ⁇ e.g., system 100).
  • Method 300 may be implemented in the form of executable instructions stored on at least one machine-readable storage medium and/or in the form of electronic circuitry, in alternate embodiments of the present disclosure, one or more steps of method 300 may be executed substantially concurrently or in a different order than shown in FIGS. 3A and 3B. !n alternate embodiments of the present disclosure, method 300 may include more or less steps than are shown in FIGS. 3A and 3B. In some embodiments, one or more of the steps of method 300 may, at certain times, be ongoing and/or may repeat.
  • Method 300 may start at ste 302 and may continue to step 304, where a document code adjuster (e.g., similar to 102 ⁇ may receive document code for a document (e.g., original document code 106). Additionally, the document code adjuster may receive an indication of an anchor document viewer (e.g., 108 or 202) and an indication of a target document viewer (e.g., 1 10 or 204). At ste 306, the document code adjuster may cause the anchor document viewer and the target document viewer to each render the received, unaltered document code. Specifically, the document code adjuster may launch (e.g., in a headless fashion) an instance of the anchor document viewer and an instance of the target document viewer. Then, the document code adjuster may cause the document code viewers to each load the document code.
  • a document code adjuster e.g., similar to 102 ⁇ may receive document code for a document (e.g., original document code 106). Additionally, the document code adjuster may receive an indication of an anchor document viewer (e.
  • the document code adjuster may access a first image related to the document code rendered by the anchor document viewer and a second image related to the document code rendered by the target document viewer.
  • these images may be provided by the document viewers or may be generated by the document code adjuster, e.g., with the help of an image generation tool.
  • these images may relate to the full document (e.g. , as shown in content displayers 206 and 208). In other words, initially, no particular code elements may be isolated, and thus the full document may be used for comparison.
  • the document code adjuster may use an image recognition tool (e.g., 104 ⁇ to determine whether the first image and the second image are similar within a defined threshold.
  • the first and second image may be provided to the image recognition tool and the image recognition too! may provide an indication of similarity.
  • method 300 may stop (step 314). This is because if the fuil document renderings are compared and they are similar, then no adjustment needs to take place. However, if the images are not similar, then method 300 proceeds to step 316.
  • the document code adjuster may start to crawl further down through the structure of the document code to isolate a subset of the code elements of the document code.
  • the document code adjuster e.g., via a code crawler similar to 1 16
  • This crawling may be an iterative process, for example, where higher up (e.g., hierarchy / tree wise) code elements are isolated, and then, if these elements appear different (using the image recognition too!), the document code adjuster may drill further down to expose lower level code elements.
  • ail code elements of a document are analyzed ⁇ e.g., starting at the highest level code element) until the documents are rendered simiiar!y.
  • the highest level page frame for a document may be analyzed, and then sub-frames may be analyzed, and then each of these sub-frames may be drilled into.
  • the image recognition tooi may provide some indication as to the location of the dissimilarity in the document renderings, in which case, the document code adjuster may start its document code crawl at a more targeted location.
  • a frame may be related to the document title (e.g., shown as 214 in document viewer 202, and shown as 216 in document viewer 204).
  • the document code adjuster may isolate just the title frame, for exampie, by causing all elements of the documents to be invisible except for titles 214, 216.
  • Method 300 may continue on to FIG. 3B, via circle "A' : which is shown commonly to both FIG. 3A and FIG. 3B.
  • the second part 350 of method 300 is shown in FIG. 3B and should be considered as part of the overall method 300.
  • the document code adjuster may cause the anchor document viewer and the target document viewer to each render the current modified code (e.g., with isolated elements ⁇ . Continuing with the exampie above, if titles 214, 216 from FIG. 2A were isolated, the document viewers would each render document code that is modified to only display the titles.
  • the document code adjuster may access a first image related to the document code rendered on the anchor document viewer and a second image related to the documeni code rendered on the target document viewer. These images may be provided fay the document viewers, and continuing with the titles example from above, each image may only show the respective tit!e (214, 216).
  • these images are still generated based on the dispiay (i.e., size) of the entire document, but only the isolated elements (e.g., titie) may display within the larger image.
  • the image recognition tool analyzes an image that is the size of the entire document, even though the analysis will focus on the isolated elements.
  • the images may be generated with an indication (e.g., a red box) of the isolated elements, in these examples, the image recognition tool may focus on the indicated area and proceed with a similarity determination at that area.
  • the document code adjuster may use an image recognition too! to determine whether the first and second images are similar within a defined threshold. If the image recognition tool indicates that the images are similar ⁇ step 358), this means that the isolated elements dispiay similarly on the anchor document viewer and the target document viewer, and thus there is no need to fix this element, if the image recognition tool indicates that the images are not similar (step 358), method 300/350 may proceed to ste 366 to check whether the current element includes any sub elements, if it does, the document code adjuster may craw! further down (step 370) through the structure of the document code to isolate a smaller subset of elements.
  • the document code adjuster may automatically fix (step 368) the current code element (e.g., using information received from the image recognition tool such as differences in font type, font color, margin widths and heights and the like). Such a fix may include modifying the document code (e.g., 1 12) to implement the specified change (e.g., font change, margin change, etc.). If at step 370, the document code adjuster crawls further down through the code structure, method 300/350 may return to step 352 to generate new images and compare them.
  • the document code adjuster may determine whether the current code element is the last code element that needs to be analyzed. Step 360 may be reached either after a code element is found to display similarly (e.g., steps 356, 358 ⁇ or after a code element is fixed to display similarly (e.g., step 388). if at step 360, the current code element is the last element, the overall document code (as modified/fixed) should display similarly on both document viewers. If the current element is not the iast element, method 300/350 may proceed to step 364 where the document code adjuster may crawl sideways or up through the code structure to isolate a next (i.e., horizontal) subset of code elements. Then, method 300/350 may return to step 352. When method 300/350 stops, the result may be a new or modified document code base (e.g., 1 12 of FIG. 1) that displays similarly on multiple different document viewers.
  • a new or modified document code base e.g., 1 12 of FIG. 1
  • the document code adjuster may isolate a section (e.g., section 1 ) of the document code (rendered as 218 in document viewer 202, and rendered as 220 in document viewer 204) and determine that the code elements related to this section do not render similarly. Then, at some point, the document code adjuster may drill further down and isolate a section that includes the section 1 buttons (rendered as 210 in document viewer 202, and as 212 in document viewer 204). This section is shown isolated in F!G. 2B.
  • all code elements in the document code may be set to be invisible except for the isolated code elements.
  • This section may render as 222 in document viewer 202 and as 224 in document viewer 204. Then, the image recognition tool may be used to determine that this section does not render similarly on the two document viewers. For example, as can be seen by 222 and 224, the font type is different and the margins between the section 1 buttons are different.
  • the document code adjuster may then determine that the current section includes additional code elements, for example, an invisible table that includes the actual buttons themselves.
  • the document code adjuster may isolate the table. Such a table is indicated in FIG. 2C, rendered as 228 on document viewer 202, and as 228 on document viewer 204. Then, the image recognition too! may be used to determine that this table does not render similarly on the two document viewers.
  • the document code adjuster may then determine that the current table includes additional code elements, for example, a first button (e.g., button 1 ).
  • the document code adjuster may isolate the first button.
  • Such a first button is indicated in FIG. 2D, rendered as 230 on document viewer 202, and as 232 on document viewer 204. Then, the image recognition too!
  • the document code adjuster may be used to determine that this button does not render similarly on the two document viewers.
  • the document code adjuster may then determine that the current button does not include additional code elements. Thus, the button should be fixed. Based on information from the image recognition tool, the document code adjuster may determine that the font type is different and may automatically fix the code such that both document viewers display the correct font.
  • the document code adjuster may then crawl sideways through the code structure to fix button 2 and button 3 in a similar fashion.
  • the document code adjuster may then crawl u through the code and recognize that the margins between the buttons are different, and may fix that. Eventually, the entire document may display similarly on both document viewers.
  • automatic adjustment of documents may be provided as a service ⁇ e.g., software as a service, known as SaaS).
  • a client may have a client device (e.g., a computing device) that includes original document code 106.
  • the client may have access (e.g., via a network) to a remote document server ⁇ e.g., a web server) where document code 106 lives.
  • a remote document server e.g., a web server
  • Such document code may be accessible ⁇ e.g., via a network) by document viewers (e.g., web browsers) via a location indicator (e.g., a URL), in this example, document code adjuster 102 may be located on a separate remote adjuster server that is accessible (e.g., via a network) by the client device.
  • the adjuster server may also access (e.g., via a network) the remote document server.
  • the client device may provide ⁇ e.g., via a web interface ⁇ original document code 106 to document code adjuster 102 by either providing code 106 to the adjuster server directly (e.g.
  • document code adjuster 102 may download or access the related document code.
  • the client device may also provide (e.g., via the web interface) and indication of an anchor document viewer and an indication of a target document viewer.
  • document code adjuster may generate new document code 1 12 that displays similarly on the anchor and target document viewers, as described in detail herein.
  • document code adjuster 102 may provide (e.g., via a network) code 1 12 to the client device or to the remote document server.
  • FIG. 4 is a flowchart of an example method 400 for automatic adjustment of documents.
  • Method 400 may be described below as being executed or performed by a system, for example, system 500 of FIG. 5. Other suitable systems may be used as well, for example, system 600 of FIG. 6, system 100 of FIG. 1 or a system that includes a subset of the components of system 100.
  • Method 400 may be implemented in the form of executable instructions stored on at least one machine- readable storage medium of the system, and/or in the form of electronic circuitry.
  • one or more steps of method 400 may be executed substantially concurrently or in a different order than shown in FIG. 4. in alternate embodiments of the present disclosure, method 400 may include more or less steps than are shown in FIG. 4.
  • one or more of the steps of method 400 may, at certain times, be ongoing and/or may repeat
  • Method 400 may start at step 402 and continue to step 404, where a system (e.g., system 500) may cause document code to render in a first document viewer and a second document viewer.
  • a system e.g., system 500
  • the system may use an image recognition tool to determine whether the manners in which the document code is displayable by the first document viewer and the second document viewer are similar within a defined threshold.
  • the system may automatically modify the document code based on output of the image recognition too!.
  • Method 400 may eventually continue to step 410, where method 400 may stop.
  • FiG. 5 is a block diagram of an example system 500 for automatic adjustment of documents.
  • System 500 may include any number of computing devices, e.g., computing devices that are capable of communicating with each other over a network, in the embodiment of FiG. 5, system 500 includes a document code adjuster engine 510 and an image recognition engine 520.
  • Document code adjuster engine 510 may be similar to document code adjuster 102 of FiG. 1.
  • Document code adjuster engine 510 includes one or more hardware devices including eiectronic circuitry for implementing the functionality of document code adjuster engine 510.
  • Document code adjuster engine 510 may also include a series of instructions executable by the one or more hardware devices of document code adjuster engine 510.
  • Document code adjuster engine 510 may cause document code to render in a first document viewer and a second document viewer. Document code adjuster engine 510 may access a first image based on how the document code rendered in the first document viewer and access a second image based on how the document code rendered in the second document viewer. Document code adjuster engine 510 may automaticaiiy modify the document code based on the determination of the image recognition engine 520 mentioned below.
  • Image recognition engine 520 may interact with an image recognition too! similar to image recognition tool 104 of FIG. 1.
  • Image recognition engine 520 includes one or more hardware devices including electronic circuitry for implementing the functionality of image recognition engine 520.
  • Image recognition engine 520 may aiso include a series of instructions executable by the one or more hardware devices of image recognition engine 520.
  • image recognition engine 520 may determine if the first image and the second image are similar within a defined threshold, for example, by interacting with the image recognition tool.
  • FiG. 6 is a block diagram of an example system 600 for automatic adjustment of documents.
  • System 600 may be similar to 100 of FIG. 1. in the embodiment of FIG. 8, system 600 includes a processor 610 and a machine-readable storage medium 620.
  • Processor 610 may be one or more central processing units ⁇ CPUs ⁇ , microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 620. in the particular embodiment shown in FiG. 6, processor 610 may fetch, decode, and execute instructions 622, 624, 626 to facilitate automatic adjustment of documents. As an alternative or in addition to retrieving and executing instructions, processor 610 may include one or more electronic circuits comprising a number of electronic components for performing the functionality of one or more of instructions in machine-readable storage medium 620.
  • Machine-readable storage medium 620 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions.
  • machine-readable storage medium 620 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Oniy Memory (EEPROM), a storage drive, an optical disc, and the like.
  • Machine-readable storage medium 620 may be disposed within system 600, as shown in FIG. 6. In this situation, the executable instructions may be "installed" on the system 600.
  • machine-readable storage medium 620 may be a portable, externa! or remote storage medium, for example, that allows system 600 to download the instructions from the portable/exter al remote storage medium. In this situation, the executable instructions may be part of an "installation package".
  • machine-readable storage medium 620 may be encoded with executable instructions for automatic adjustment of documents.
  • document viewer control instructions 622 when executed by a processor (e.g., 610), may cause document code to render in a first document viewer and a second document viewer
  • image recognition interaction instructions 624 when executed by a processor (e.g., 610), may interact with an image recognition tool to determine whether the manners in which the document code is dispiayabie by the first document viewer and the second document viewer are similar within a defined threshold.
  • Automatic document code modification instructions 626 when executed by a processor (e.g., 610), may automaticaiiy modify the document code based on output of the image recognition too!.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Des exemples de modes de réalisation de la présente invention portent sur un ajustement automatique de documents. Un exemple de procédé peut comprendre amener un code de document à produire un rendu dans une première visionneuse de documents et une seconde visionneuse de documents. Le procédé peut comprendre utiliser un outil de reconnaissance d'image pour déterminer si les façons dont le code de document peut être affiché par la première visionneuse de documents et par la seconde visionneuse de documents sont similaires selon un seuil défini. Le procédé peut comprendre modifier automatiquement du code de document sur la base de la sortie de l'outil de reconnaissance d'image.
PCT/US2014/011962 2014-01-17 2014-01-17 Ajustement automatique de documents Ceased WO2015108526A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2014/011962 WO2015108526A1 (fr) 2014-01-17 2014-01-17 Ajustement automatique de documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/011962 WO2015108526A1 (fr) 2014-01-17 2014-01-17 Ajustement automatique de documents

Publications (1)

Publication Number Publication Date
WO2015108526A1 true WO2015108526A1 (fr) 2015-07-23

Family

ID=53543285

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/011962 Ceased WO2015108526A1 (fr) 2014-01-17 2014-01-17 Ajustement automatique de documents

Country Status (1)

Country Link
WO (1) WO2015108526A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100312821A1 (en) * 2009-06-03 2010-12-09 Codekko Software, Inc. Web Page Optimization
US20120131441A1 (en) * 2010-11-18 2012-05-24 Google Inc. Multi-Mode Web Browsing
US20130097488A1 (en) * 2011-10-18 2013-04-18 Microsoft Corporation Custom optimization of web pages
WO2013157678A1 (fr) * 2012-04-16 2013-10-24 Kwon Oh Suk Système et procédé pour convertir une page internet de manière dynamique et support d'enregistrement lisible par ordinateur

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100312821A1 (en) * 2009-06-03 2010-12-09 Codekko Software, Inc. Web Page Optimization
US20120131441A1 (en) * 2010-11-18 2012-05-24 Google Inc. Multi-Mode Web Browsing
US20130097488A1 (en) * 2011-10-18 2013-04-18 Microsoft Corporation Custom optimization of web pages
WO2013157678A1 (fr) * 2012-04-16 2013-10-24 Kwon Oh Suk Système et procédé pour convertir une page internet de manière dynamique et support d'enregistrement lisible par ordinateur

Similar Documents

Publication Publication Date Title
US11366676B2 (en) Embedded user assistance for software applications
US8806325B2 (en) Mode identification for selective document content presentation
US9081463B2 (en) Systems and methods for run-time editing of a web page
US8387006B1 (en) System and method for authoring a web page to be run-time editable
US8522132B2 (en) Widget behavior customization via cascaded style sheets
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
US8683447B2 (en) Method and system for testing websites
US9224151B2 (en) Presenting advertisements based on web-page interaction
US7802182B2 (en) System and method for performing visual property updates
JP5894266B2 (ja) アプリケーション・タイルの呈示フォーマット
US8347225B2 (en) System and method for selectively displaying web page elements
US9229915B2 (en) Extended cascading style sheets
US9501459B2 (en) Detecting influence caused by changing the source code of an application from which a document object model tree and cascading style sheet may be extracted
US20100281351A1 (en) Web print content control using html
US20050160065A1 (en) System and method for enhancing resource accessibility
US9043697B2 (en) Displaying the same document in different contexts
US20080244740A1 (en) Browser-independent editing of content
CN105760290B (zh) 基于网页前端测试的问题定位方法及相关装置、系统
US10353721B2 (en) Systems and methods for guided live help
US8543379B1 (en) System and method for parsing a text buffer using a graphical user interface
JP2011521383A (ja) 身体障害のあるユーザに対応するビデオプレーヤの実時間作成および変更のためのシステムおよび方法
WO2016057510A1 (fr) Génération de vues d'un navigateur web mobile pour des applications
US20170371849A1 (en) In-line editor insertion
US20160004676A1 (en) Displaying web pages
WO2011093892A1 (fr) Impression à distance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14878924

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14878924

Country of ref document: EP

Kind code of ref document: A1