Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Qt-contributors-summit-2014-QtPrintSupport: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
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 [[Qt-5-QtPrint|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 | |||
** <span class="caps">IPP</span> key/value pairs for all settings | |||
* QPrintSettings | |||
** Normal api for most common settings | |||
** <span class="caps">IPP</span> key/value pairs for all settings | |||
** Serializable! | |||
* QPrintDocument | |||
** How to do? | |||
** Probably still derived from QPagedPaintDevice | |||
** Holds graphics context (<span class="caps">DEVMODE</span> / <span class="caps">NSV</span>iew / <span class="caps">PDF</span> Stream) as current QPrintEngine? – Messy, requires internal access, prevents separate library? | |||
** Holds <span class="caps">XPS</span> / <span class="caps">PDF</span> Stream? Requires all platforms to have file-based workflows, including Mac which will need to redirect to <span class="caps">PDF</span> 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 / <span class="caps">IPP</span> | |||
** Most platforms integrate into local spool system | |||
** Mobile devices will need separate platform plugin | |||
** <span class="caps">IPP</span> underlies most | |||
** <span class="caps">IPP</span> plugin could replace local <span class="caps">CUPS</span> plugin | |||
* <span class="caps">PDF</span> support | |||
** Maintainer not clear | |||
** <span class="caps">CUPS</span>, <span class="caps">IPP</span>, Cloud need <span class="caps">PDF</span>/A support | |||
** Other features requested like links, etc | |||
* <span class="caps">CUPS</span> | |||
** New plugin for 1.6, keep old 1.4 plugin, dynamic load | |||
** Could replace with <span class="caps">IPP</span>? | |||
** Authentication support needed in dialogs | |||
* Windows | |||
** New print system in Vista, again in Win8 | |||
** <span class="caps">XPS</span> / 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 <span class="caps">PDF</span> to <span class="caps">GDI</span> | |||
** With <span class="caps">XPS</span> may support directly, or need pdf->xps converter? | |||
* Color Management | |||
** <span class="caps">PDF</span> set ColorIntent | |||
** Need <span class="caps">ICC</span> profiles api | |||
* Dialogs | |||
** QPrintPreview merged with QPrintDialog for in-dialog preview | |||
** <span class="caps">PDF</span> export dialog | |||
** Need <span class="caps">MFC</span> 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 <span class="caps">PDF</span> printing (fonts) | |||
** Win/Mac dialogs when no printers / PdfFormat | |||
** Others? | |||
* Testing | |||
** More auto tests! | |||
** Visual testing? | |||
** Manual test improvements – split from Dialogs manual test |
Revision as of 14:13, 25 February 2015
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