Qt-contributors-summit-2014-QtPrintSupport

From Qt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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