Impresión
La mayoría de las aplicaciones necesitan proporcionar soporte para la impresión. Los usuarios esperan ser capaces de imprimir el contenido que ven en la pantalla. La plataforma GNOME proporciona bibliotecas para ayudarle a añadir soporte para obtener una impresión de alta calidad con su aplicación.
- 3.7.1. Impresión en GNOME
- 3.7.2. CUPS
3.7.1. Impresión en GNOME
Nótese que esta sección está obsoleta y que GtkPrint ha sustituido a libgnomeprint y libgnomeprintui. El sistema de impresión se ha integrado directamente en GTK+ 2.10 y versiones posteriores, proporcionando una API de impresión multiplataforma que puedan usar todas las aplicaciones. Mientras que el actual entorno de trabajo de impresión de GNOME se quedará obsoleto una vez que GTK+ soporte la impresión, la estabilidad de la API y ABI garantiza que continuarán siendo funcionales y seguirán estando soportadas durante el todo ciclo de vida de GNOME 2.
El entorno de trabajo de impresión de GNOME consiste en dos bibliotecas que le ayudan a proporcionar una impresión de alta calidad con un interfaz consistente en su aplicación. En el núcleo del entorno de trabajo de impresión está libgnomeprint, una biblioteca para crear salidas PostScript para enviar a las impresoras. En la parte superior de ella está libgnomeprintui, que proporciona controles de impresión estándar para el interfaz de usuario de su aplicación.
La biblioteca libgnomeprint implementa el modelo de imagen de PostScript que usan por la mayoría de las impresoras. Las impresoras que no soportan PostScript pueden usarse a través de CUPS, como se describe más abajo. Además del estándar de impresión PostScript, libgnomeprint también soporta canal alfa y antialias.
La biblioteca libgnomeprintui proporciona diálogos de impresión estándar, un diálogo de vista previa y otros varios controles y funcionalidades requeridas para construir la impresión dentro de un interfaz de usuario intuitivo. El entorno de trabajo de impresión de GNOME maneja los detalles de localización de las impresoras y purgado de los trabajos de impresión así como permite exportar directamente a PostScript y PDF desde el diálogo de impresión.
Debería usar libgnomeprint siempre que necesite renderizar el contenido para una impresión en PostScript. Debería usar libgnomeprintui para construir su interfaz de impresión, incluso si la salida renderizada proviene de otra fuente. Al usar el interfaz de trabajo de impresión de GNOME se proporciona a los usuarios un interfaz de usuario consistente con las características que esperan para las aplicaciones de impresión.
3.7.2. CUPS
En la mayoría de sistemas GNOME, CUPS (Common UNIX Printing System) actúa como el sistema de impresión de bajo nivel. CUPS proporciona un moderna arquitectura rica en características para descubrir impresoras, opciones de acceso de la impresora, y reparto de tareas a diferentes tipos de impresoras.
CUPS proporciona un conjunto de herramientas para descubrir automáticamente las impresoras locales y de red. Esto no sólo permite a los usuarios ver todas las impresoras disponibles sino también usar diferentes tipos de impresoras sin ninguna configuración manual.
CUPS proporciona un interfaz unificado para la impresión independientemente de la ubicación o del tipo de impresora. De forma similar, CUPS gestiona automáticamente múltiples protocolos de impresión aplicando filtros al contenido enviado por las impresoras. Las aplicaciones pueden simplemente proporcionar una salida PostScript y CUPS la convertirá automáticamente para las impresoras que no soporten PostScript de forma nativa.
CUPS también proporciona opciones para la configuración de la impresora en forma de archivos PPD (PostScript Printer Description). Las configuraciones PPD permiten a las aplicaciones exponer al usuario las posibilidades de cada impresora con un interfaz de usuario consistente. Por ejemplo, PPD le permite detectar si una impresora puede recopilar y grapar los trabajos imprimidos así como proporcionar la opción en el interfaz del usuario.
En la mayoría de los casos no necesitará un interfaz directo con CUPS en sus aplicaciones. Usando el entorno de trabajo de impresión de GNOME tendrá acceso automáticamente a la potencia y flexibilidad de CUPS. Tener CUPS por debajo de su aplicación significa una mejor experiencia de usuario con menor programación.