Printer Driver GDI to XPS Width Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing printing systems face issues with format conversion between GDI and XPS formats, particularly when a graphics object with a specified width of 0 is drawn, leading to inconsistent printing results depending on the printer driver used, as GDI format considers it the minimum width while XPS format ignores it, resulting in differences in printing quality.

Innovation Solution

A conversion module that converts GDI format drawing data into XPS format and a printer driver that changes graphics drawing commands specifying an object width of 0 into commands representing the minimum width capable by the printing apparatus, ensuring consistent printing across different drivers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If GDI format drawing data is converted to XPS format using conventional conversion, then format compatibility is improved, but printing precision deteriorates because object width=0 is interpreted differently by GDI and XPS

Engineering Contradiction:
Improveformat compatibilityVSAvoidprinting precision
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent applies parameter changes by detecting the object width value in the drawing command and conditionally modifying it. When object width is detected to be 0 and the command is determined to be from GDI format, the patent changes the width parameter to a non-zero value (e.g., 1.0) before converting to XPS format. This resolves the contradiction by adapting the parameter interpretation to maintain printing precision while preserving format compatibility.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary processing step between GDI format conversion and XPS output. The conversion module includes a detection unit that identifies GDI-specific commands and a modification unit that adjusts parameters before final conversion. This intermediary mechanism allows the system to maintain GDI's object width=0 semantics while producing XPS-compatible output, resolving the format compatibility vs. printing precision contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the printer driver strictly follows XPS format specifications, then format compliance is improved, but printing quality deteriorates when processing GDI applications that specify object width=0

Engineering Contradiction:
Improveformat complianceVSAvoidprinting quality
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent applies local quality by treating different parts of the drawing data differently based on their source. The conversion module identifies commands originating from GDI applications and applies special handling only to those specific commands (changing object width from 0 to non-zero), while leaving XPS-native commands unchanged. This localized approach maintains overall format compliance while preserving printing quality for GDI applications.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs preliminary action by detecting and modifying object width parameters before the actual conversion to XPS format. The conversion module examines drawing commands in advance, identifies GDI-specific commands with object width=0, and pre-modifies them to have non-zero widths. This preliminary modification ensures that when the data is converted to XPS format, the printing quality is preserved without requiring post-processing adjustments.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the system supports multiple print processing flows (GDI and XPS paths), then versatility is improved, but system complexity increases due to format conversion requirements

Engineering Contradiction:
Improveprint processing flexibilityVSAvoidformat conversion complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the conversion module to handle multiple formats and sources through a unified approach. The same conversion module processes both GDI-to-XPS conversions and maintains compatibility with XPS-native applications. By implementing a universal detection and modification mechanism that works for all drawing data regardless of source, the system achieves multi-functionality without proportionally increasing complexity.

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

Solution Approach 2:

The conversion module implements self-service by automatically detecting the source format of drawing data and applying appropriate transformations without external intervention. The module autonomously identifies GDI commands, determines when object width modification is needed, and performs the conversion itself. This self-service capability reduces the need for additional configuration or manual processing, thereby limiting the increase in system complexity while maintaining versatility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9990572B2Information processing apparatus, print data generation method, and storage medium
Publication Date: 2018.06.05 CANON KK
  • US9990572B2 patent drawing
  • US9990572B2 patent drawing
  • US9990572B2 patent drawing

AI summary

To prevent the occurrence of a difference in printing results depending on a printer driver to be used despite that the drawing command originates from a GDI application and is the same. An information processing apparatus including a printer driver configured to generate print data compatible with a printing apparatus from input XPS format drawing data, and in the case where the input XPS format drawing data is XPS format drawing data converted by a conversion module from GDI format drawing data that is generated based on print processing of a GDI application and the XPS format drawing data includes a graphics drawing command specifying an object width of 0, the printer driver changes the graphics drawing command into a graphics drawing command specifying drawing with the minimum object width that can be represented by the printing apparatus and generates the print data based on the drawing data including the graphics drawing command after the change.