Qt-contributors-summit-2014-QtPrintSupport

From Qt Wiki
Jump to: navigation, search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

QtPrintSupport

  • Planning
    • Qt 5.4 (?): QPrintJob, QPrintSettings, QPrintDocument
    • Qt 5.5 (?): New dialogs supporting pull printing, preview, etc, new api as a separate QtPrint library
    • Not clear if new library will be in qtbase or separate module, depends on implementation
    • Schedule very dependent on available time for jlayt
    • Probably delayed one release cycle, QLocale work may need to take priority for 5.4, may need to wait to drop WinXP
    • Need to document design more at http://wiki.qt.io/Qt-5-QtPrint to allow others to help
  • QPrintJob
    • QPrintDocument
    • QPrintSettings
    • Can hold multiple documents / settings
    • Normal api for most common settings
    • IPP key/value pairs for all settings
  • QPrintSettings
    • Normal api for most common settings
    • IPP key/value pairs for all settings
    • Serializable!
  • QPrintDocument
    • How to do?
    • Probably still derived from QPagedPaintDevice
    • Holds graphics context (DEVMODE / NSView / PDF Stream) as current QPrintEngine? – Messy, requires internal access, prevents separate library?
    • Holds XPS / PDF Stream? Requires all platforms to have file-based workflows, including Mac which will need to redirect to PDF first then pass to print system.
    • File based workflow would allow for cross-platform n-up / booklet printing?
    • Dropping XP support important here?
  • QPrintQueue / QPrintDevice
    • Probably not be needed if we define QPrintDevice as a queue and not physical device
    • Could supply query api to list jobs, or to cancel jobs?
  • Cloud / IPP
    • Most platforms integrate into local spool system
    • Mobile devices will need separate platform plugin
    • IPP underlies most
    • IPP plugin could replace local CUPS plugin
  • PDF support
    • Maintainer not clear
    • CUPS, IPP, Cloud need PDF/A support
    • Other features requested like links, etc
  • CUPS
    • New plugin for 1.6, keep old 1.4 plugin, dynamic load
    • Could replace with IPP?
    • Authentication support needed in dialogs
  • Windows
    • New print system in Vista, again in Win8
    • XPS / OpenXPS file support needed
    • Roll our own for cross-platform QXpsWriter, or can just internally wrap Windows api?
    • WinRT may be different?
  • Android
    • New api in 4.4
    • Perhaps Cloud plugins for earlier versions, or non-google options?
    • May need to wait for new library
  • File Printing
    • Have api for supportedMimeTypes()
    • Will work on Mac / Linux / Cloud
    • Current Windows will need installation of Ghostscript, or Poppler with Cairo, to render PDF to GDI
    • With XPS may support directly, or need pdf->xps converter?
  • Color Management
    • PDF set ColorIntent
    • Need ICC profiles api
  • Dialogs
    • QPrintPreview merged with QPrintDialog for in-dialog preview
    • PDF export dialog
    • Need MFC coder to add stuff to Windows dialog
  • Other features
    • Manual duplex mode?
    • Cross-platform booklet and n-up?
  • Bugs
    • Need new triage after 5.3,decide what to close, what to fix in 4.8
    • Issues with getting 4.8 patches past support team
    • Major issue with Mac PDF printing (fonts)
    • Win/Mac dialogs when no printers / PdfFormat
    • Others?
  • Testing
    • More auto tests!
    • Visual testing?
    • Manual test improvements – split from Dialogs manual test