Cross-Browser Document Pagination via DOM Layout Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browsers lack standardized pagination algorithms, making it difficult for developers to implement consistent and flexible pagination across different browsers, especially for web-based document editing applications, as each browser implements pagination differently and often lacks customization options.

Innovation Solution

Implementing JavaScript-based pagination logic that leverages the built-in document layout engine of web browsers for layout measurement and creation, allowing for cross-browser compatibility and efficient pagination without relying on custom code, and enabling easy extension and customization for various pagination requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If web browsers implement native pagination algorithms, then pagination functionality is available, but consistency and flexibility across different browsers deteriorates due to lack of standardization

Engineering Contradiction:
Improvepagination functionalityVSAvoidcross-browser consistency
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces a standardized pagination API as an intermediary layer between the browser's native pagination functionality and the web application. This API acts as a mediator that translates diverse browser implementations into a uniform interface, allowing applications to achieve consistent pagination behavior across different browsers without relying on browser-specific native implementations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal pagination API that works across all web browsers regardless of their native pagination implementations. This universal interface allows a single codebase to achieve pagination functionality in all browsers, eliminating the need for browser-specific customization while maintaining consistency through standardized methods and properties.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If custom pagination code is implemented for each browser, then flexibility and customization options improve, but device complexity and implementation difficulty worsens

Engineering Contradiction:
Improvepagination customizationVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent establishes a universal pagination API that provides consistent functionality across all browsers through a single implementation. This universal approach maintains flexibility and customization capabilities while dramatically reducing implementation complexity by eliminating the need for separate custom pagination code for each browser.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If built-in browser pagination is used, then pagination is available without additional code, but control and customization options deteriorates due to limited or no configuration options

Engineering Contradiction:
Improvepagination availabilityVSAvoidcustomization options
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The standardized pagination API serves as an intermediary that preserves the efficiency of built-in browser pagination while adding a layer of control and customization. The API maintains references to native pagination functions where available but wraps them with standardized configuration options, allowing applications to customize pagination behavior while still leveraging browser-native performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic pagination configuration where the pagination behavior can be adjusted through standardized API parameters. The system dynamically adapts between using native browser pagination (when available and appropriate) and customized pagination logic (when specific requirements demand), providing both productivity and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3942452B1Cross-browser techniques for efficient document pagination
Publication Date: 2023.03.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3942452B1 patent drawingFigure 1
  • EP3942452B1 patent drawingFigure 2A
  • EP3942452B1 patent drawingFigure 2B

AI summary

Cross-browser techniques for efficient document pagination are provided. In certain embodiments, a computer system can receive an indication of a starting point for a page in a content flow of a document and build a DOM tree of content elements in a portion of the content flow spanning from the starting point to an estimated ending point, the estimated ending point being an estimated ending boundary for the page. The computer system can further invoke an API that causes a web browser layout engine to create a layout of the page based on the DOM tree and determine, based on the layout and content flow, one or more content elements in the content flow that fall beyond an actual ending boundary of the page. The computer system can then remove the determined content elements from the DOM tree and add the DOM tree to a page set for the document.