QPrinter Class
La clase QPrinter es un dispositivo de pintura que pinta en una impresora. Más...
| Cabecera: | #include <QPrinter> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS PrintSupport)target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
| qmake: | QT += printsupport |
| Hereda: | QPagedPaintDevice |
- Lista de todos los miembros, incluyendo los heredados
- QPrinter es parte de Printer y Printing APIs.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
| enum | ColorMode { Color, GrayScale } |
| enum | DuplexMode { DuplexNone, DuplexAuto, DuplexLongSide, DuplexShortSide } |
| enum | OutputFormat { NativeFormat, PdfFormat } |
| enum | PageOrder { FirstPageFirst, LastPageFirst } |
| enum | PaperSource { Auto, Cassette, Envelope, EnvelopeManual, FormSource, …, LastPaperSource } |
| enum | PrintRange { AllPages, Selection, PageRange, CurrentPage } |
| enum | PrinterMode { ScreenResolution, PrinterResolution, HighResolution } |
| enum | PrinterState { Idle, Active, Aborted, Error } |
| enum | Unit { Millimeter, Point, Inch, Pica, Didot, …, DevicePixel } |
Funciones Públicas
| QPrinter(QPrinter::PrinterMode mode = ScreenResolution) | |
| QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution) | |
| virtual | ~QPrinter() |
| bool | abort() |
| bool | collateCopies() const |
| QPrinter::ColorMode | colorMode() const |
| int | copyCount() const |
| QString | creator() const |
| QString | docName() const |
| QPrinter::DuplexMode | duplex() const |
| bool | fontEmbeddingEnabled() const |
| int | fromPage() const |
| bool | fullPage() const |
| bool | isValid() const |
| QString | outputFileName() const |
| QPrinter::OutputFormat | outputFormat() const |
| QPrinter::PageOrder | pageOrder() const |
| QRectF | pageRect(QPrinter::Unit unit) const |
| QRectF | paperRect(QPrinter::Unit unit) const |
| QPrinter::PaperSource | paperSource() const |
| QPagedPaintDevice::PdfVersion | pdfVersion() const |
| QPrintEngine * | printEngine() const |
| QString | printProgram() const |
| QPrinter::PrintRange | printRange() const |
| QString | printerName() const |
| QString | printerSelectionOption() const |
| QPrinter::PrinterState | printerState() const |
| int | resolution() const |
| void | setCollateCopies(bool collate) |
| void | setColorMode(QPrinter::ColorMode newColorMode) |
| void | setCopyCount(int count) |
| void | setCreator(const QString &creator) |
| void | setDocName(const QString &name) |
| void | setDuplex(QPrinter::DuplexMode duplex) |
| void | setFontEmbeddingEnabled(bool enable) |
| void | setFromTo(int from, int to) |
| void | setFullPage(bool fp) |
| void | setOutputFileName(const QString &fileName) |
| void | setOutputFormat(QPrinter::OutputFormat format) |
| void | setPageOrder(QPrinter::PageOrder pageOrder) |
| void | setPaperSource(QPrinter::PaperSource source) |
| void | setPdfVersion(QPagedPaintDevice::PdfVersion version) |
| void | setPrintProgram(const QString &printProg) |
| void | setPrintRange(QPrinter::PrintRange range) |
| void | setPrinterName(const QString &name) |
| void | setPrinterSelectionOption(const QString &option) |
| void | setResolution(int dpi) |
| QList<QPrinter::PaperSource> | supportedPaperSources() const |
| QList<int> | supportedResolutions() const |
| bool | supportsMultipleCopies() const |
| int | toPage() const |
Funciones Públicas Reimplementadas
| virtual bool | newPage() override |
| virtual QPaintEngine * | paintEngine() const override |
Funciones Protegidas
| void | setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine) |
Descripción Detallada
Este dispositivo representa una serie de páginas de salida impresa, y se utiliza casi exactamente de la misma manera que otros dispositivos de pintura como QWidget y QPixmap. Se proporciona un conjunto de funciones adicionales para gestionar las características específicas del dispositivo, como la orientación y la resolución, y para recorrer las páginas de un documento a medida que se genera.
Cuando se imprime directamente a una impresora en Windows o macOS, QPrinter utiliza los controladores de impresora incorporados. En X11, QPrinter utiliza el Sistema Común de Impresión Unix (CUPS) para enviar la salida PDF a la impresora. Como alternativa, se puede utilizar la función printProgram() para especificar el comando o utilidad a utilizar en lugar del predeterminado del sistema.
Tenga en cuenta que la configuración de parámetros como el tamaño del papel y la resolución en una impresora no válida no está definida. Puede utilizar QPrinter::isValid() para verificar esto antes de cambiar cualquier parámetro.
QPrinter soporta un número de parámetros, la mayoría de los cuales pueden ser cambiados por el usuario final a través de print dialog. En general, QPrinter pasa estas funciones al subyacente QPrintEngine.
Los parámetros más importantes son:
- setPageLayout() le dice a QPrinter qué orientación de página utilizar, y qué tamaño esperar de la impresora.
- setResolution() le indica a QPrinter la resolución que desea que la impresora proporcione, en puntos por pulgada (PPP).
- setFullPage() le indica a QPrinter si desea trabajar con la página completa o sólo con la parte que la impresora puede dibujar.
- setCopyCount() le indica a QPrinter cuantas copias del documento debe imprimir.
Muchas de estas funciones solo pueden ser llamadas antes de que comience la impresión (es decir, antes de que se llame a QPainter::begin()). Esto usualmente tiene sentido porque, por ejemplo, no es posible cambiar el número de copias cuando se está a la mitad de la impresión. También hay algunos ajustes que el usuario establece (a través del cuadro de diálogo de la impresora) y que se espera que las aplicaciones obedezcan. Consulte la documentación de QAbstractPrintDialog para más detalles.
Cuando se llama a QPainter::begin(), la QPrinter sobre la que opera está preparada para una nueva página, permitiendo a QPainter ser utilizada inmediatamente para pintar la primera página de un documento. Una vez pintada la primera página, se puede llamar a newPage() para solicitar una nueva página en blanco sobre la que pintar, o a QPainter::end() para finalizar la impresión. La segunda página y todas las siguientes se preparan mediante una llamada a newPage() antes de ser pintadas.
La primera página de un documento no necesita ir precedida de una llamada a newPage(). Sólo es necesario llamar a newPage() después de QPainter::begin() si necesita insertar una página en blanco al principio de un documento impreso. Del mismo modo, si llama a newPage() después de pintar la última página de un documento, se añadirá una página en blanco al final del documento impreso.
Si desea abortar el trabajo de impresión, abort() hará todo lo posible para detener la impresión. Puede cancelar todo el trabajo o solo una parte.
Dado que QPrinter puede imprimir en cualquier subclase de QPrintEngine, es posible extender el soporte de impresión para cubrir nuevos tipos de subsistemas de impresión subclasificando QPrintEngine y reimplementando su interfaz.
Véase también QPrintDialog y Qt Print Support.
Documentación de tipos de miembros
enum QPrinter::ColorMode
Este tipo enum se utiliza para indicar si QPrinter debe imprimirse en color o no.
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::Color | 1 | imprimir en color si está disponible, de lo contrario en escala de grises. |
QPrinter::GrayScale | 0 | imprimir en escala de grises, incluso en impresoras en color. |
enum QPrinter::DuplexMode
Este enum se utiliza para indicar si la impresión se realizará en una o en ambas caras de cada hoja de papel (impresión simplex o dúplex).
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::DuplexNone | 0 | Sólo impresión a una cara (simplex). |
QPrinter::DuplexAuto | 1 | La configuración predeterminada de la impresora se utiliza para determinar si se utiliza la impresión dúplex. |
QPrinter::DuplexLongSide | 2 | Se imprimen las dos caras de cada hoja de papel. El papel se gira sobre su borde más largo antes de imprimir la segunda cara. |
QPrinter::DuplexShortSide | 3 | Se imprimen las dos caras de cada hoja de papel. El papel se gira sobre su borde más corto antes de imprimir la segunda cara. |
enum QPrinter::OutputFormat
El enum OutputFormat se utiliza para describir el formato que QPrinter debe utilizar para imprimir.
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::NativeFormat | 0 | QPrinter imprimirá la salida utilizando un método definido por la plataforma en la que se está ejecutando. Este modo es el predeterminado cuando se imprime directamente en una impresora. |
QPrinter::PdfFormat | 1 | QPrinter generará su salida como un archivo PDF con capacidad de búsqueda. Este modo es el predeterminado cuando se imprime en un archivo. |
Véase también outputFormat(), setOutputFormat(), y setOutputFileName().
enum QPrinter::PageOrder
Este tipo enum es utilizado por QPrinter para indicar al programa de aplicación cómo imprimir.
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::FirstPageFirst | 0 | la página con el número más bajo debe imprimirse primero. |
QPrinter::LastPageFirst | 1 | la página con el número más alto debe imprimirse primero. |
enum QPrinter::PaperSource
Este tipo de enum especifica qué fuente de papel debe utilizar QPrinter. QPrinter no comprueba que la fuente de papel esté disponible; sólo utiliza esta información para intentar establecer la fuente de papel. La determinación de la fuente de papel depende de si la impresora tiene esa fuente en particular.
Atención: Actualmente sólo está implementado para Windows.
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::Auto | 6 | |
QPrinter::Cassette | 11 | |
QPrinter::Envelope | 4 | |
QPrinter::EnvelopeManual | 5 | |
QPrinter::FormSource | 12 | |
QPrinter::LargeCapacity | 10 | |
QPrinter::LargeFormat | 9 | |
QPrinter::Lower | 1 | |
QPrinter::MaxPageSource | 13 | Obsoleto, use LastPaperSource en su lugar |
QPrinter::Middle | 2 | |
QPrinter::Manual | 3 | |
QPrinter::OnlyOne | 0 | |
QPrinter::Tractor | 7 | |
QPrinter::SmallFormat | 8 | |
QPrinter::Upper | OnlyOne | |
QPrinter::CustomSource | 14 | Un PaperSource definido por la impresora que es desconocido para Qt |
QPrinter::LastPaperSource | CustomSource | El valor válido más alto de PaperSource, actualmente CustomSource |
enum QPrinter::PrintRange
Permite especificar la opción de selección del rango de impresión.
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::AllPages | 0 | Deben imprimirse todas las páginas. |
QPrinter::Selection | 1 | Sólo debe imprimirse la selección. |
QPrinter::PageRange | 2 | Se debe imprimir el intervalo de páginas especificado. |
QPrinter::CurrentPage | 3 | Sólo debe imprimirse la página actual. |
Véase también setPrintRange(), printRange() y QAbstractPrintDialog::PrintRange.
enum QPrinter::PrinterMode
Este enum describe el modo en el que debe trabajar la impresora. Básicamente preestablece una resolución y un modo de trabajo determinados.
| Constante | Valor | Descripción |
|---|---|---|
QPrinter::ScreenResolution | 0 | Establece la resolución del dispositivo de impresión a la resolución de la pantalla. Esto tiene la gran ventaja de que los resultados obtenidos al pintar en la impresora coincidirán más o menos exactamente con la salida visible en la pantalla. Es la más fácil de utilizar, ya que las métricas de las fuentes en la pantalla y en la impresora son las mismas. Este es el valor por defecto. ScreenResolution producirá una salida de menor calidad que HighResolution y sólo debe utilizarse para borradores. |
QPrinter::PrinterResolution | 1 | Este valor está obsoleto. Para impresoras, es equivalente a ScreenResolution en Unix y HighResolution en Windows y macOS. Para la impresión de PDF, no se admite y puede dar lugar a un comportamiento indefinido. El uso de este valor puede dar lugar a código de impresora no portable. |
QPrinter::HighResolution | 2 | En Windows, establece la resolución de la impresora a la definida para la impresora en uso. Para la impresión de PDF, establece la resolución del controlador de PDF en 1200 ppp. |
Nota: Al renderizar texto en un dispositivo QPrinter, es importante tener en cuenta que el tamaño del texto, cuando se especifica en puntos, es independiente de la resolución especificada para el propio dispositivo. Por lo tanto, puede ser útil especificar el tamaño de la fuente en píxeles al combinar texto con gráficos para asegurarse de que sus tamaños relativos son los esperados.
enum QPrinter::PrinterState
| Constante | Valor |
|---|---|
QPrinter::Idle | 0 |
QPrinter::Active | 1 |
QPrinter::Aborted | 2 |
QPrinter::Error | 3 |
enum QPrinter::Unit
Este tipo enum se utiliza para especificar la unidad de medida para los tamaños de página y papel.
| Constante | Valor |
|---|---|
QPrinter::Millimeter | 0 |
QPrinter::Point | 1 |
QPrinter::Inch | 2 |
QPrinter::Pica | 3 |
QPrinter::Didot | 4 |
QPrinter::Cicero | 5 |
QPrinter::DevicePixel | 6 |
Tenga en cuenta la diferencia entre Point y DevicePixel. La unidad Point se define como 1/72 de pulgada, mientras que la unidad DevicePixel depende de la resolución y se basa en los píxeles reales, o puntos, de la impresora.
Documentación de las funciones miembro
[explicit] QPrinter::QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
Crea un nuevo objeto de impresora con la dirección mode.
[explicit] QPrinter::QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)
Crea un nuevo objeto de impresora con los datos printer y mode.
[virtual noexcept] QPrinter::~QPrinter()
Destruye el objeto impresora y libera los recursos asignados. Si la impresora se destruye mientras hay un trabajo de impresión en curso, esto puede o no afectar al trabajo de impresión.
bool QPrinter::abort()
Cancela la impresión en curso. Devuelve true si la tirada se ha cancelado correctamente y printerState() devolverá QPrinter::Aborted; en caso contrario devuelve false.
No siempre es posible abortar un trabajo de impresión. Por ejemplo, todos los datos han ido a la impresora pero la impresora no puede o no quiere cancelar el trabajo cuando se le pide.
bool QPrinter::collateCopies() const
Devuelve true si la intercalación está activada cuando se seleccionan varias copias. Devuelve false si está desactivada cuando se seleccionan múltiples copias. Cuando el intercalado está desactivado la impresión de cada página individual se repetirá la cantidad de numCopies() antes de que se inicie la siguiente página. Con el intercalado activado, todas las páginas se imprimen antes de que se inicie la siguiente copia de esas páginas.
Véase también setCollateCopies().
QPrinter::ColorMode QPrinter::colorMode() const
Devuelve el modo de color actual.
Véase también setColorMode().
int QPrinter::copyCount() const
Devuelve el número de copias que se imprimirán. El valor por defecto es 1.
Véase también setCopyCount() y supportsMultipleCopies().
QString QPrinter::creator() const
Devuelve el nombre de la aplicación que creó el documento.
Véase también setCreator().
QString QPrinter::docName() const
Devuelve el nombre del documento.
Véase también setDocName() y QPrintEngine::PrintEnginePropertyKey.
QPrinter::DuplexMode QPrinter::duplex() const
Devuelve el modo dúplex actual.
Véase también setDuplex().
bool QPrinter::fontEmbeddingEnabled() const
Devuelve true si la incrustación de fuentes está activada.
Véase también setFontEmbeddingEnabled().
int QPrinter::fromPage() const
Devuelve el número de la primera página en un rango de páginas a imprimir (el ajuste "desde página"). Las páginas de un documento se numeran de acuerdo con la convención de que la primera página es la página 1.
Por defecto, esta función devuelve un valor especial de 0, lo que significa que el ajuste "desde página" no está establecido.
Nota: Si tanto fromPage() como toPage() devuelven 0, significa que se imprimirá todo el documento.
Véase también setFromTo(), toPage() y pageRanges().
bool QPrinter::fullPage() const
Devuelve true si el origen del sistema de coordenadas de la impresora está en la esquina de la página y false si está en el borde del área imprimible.
Véase setFullPage() para más detalles y advertencias.
Véase también setFullPage() y QPagedPaintDevice::pageLayout().
bool QPrinter::isValid() const
Devuelve true si la impresora actualmente seleccionada es una impresora válida en el sistema, o una impresora PDF pura; en caso contrario devuelve false.
Para detectar otros fallos compruebe la salida de QPainter::begin() o QPrinter::newPage().
QPrinter printer; printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("/foobar/nonwritable.pdf"); QPainter painter; if (! painter.begin(&printer)) { // fallo al abrir el archivo qWarning("failed to open file, is it writable?"); return 1; } painter.drawText(10, 10, "Test"); if (! printer.newPage()) { qWarning("failed in flushing page to disk, disk full?"); return 1; } painter.drawText(10, 10, "Test 2"); painter.end();
Véase también setPrinterName().
[override virtual] bool QPrinter::newPage()
Reimplementa: QPagedPaintDevice::newPage().
Indica a la impresora que expulse la página actual y continúe imprimiendo en una nueva página. Devuelve true si se ha realizado correctamente; en caso contrario devuelve false.
Llamar a newPage() en un objeto QPrinter inactivo siempre fallará.
QString QPrinter::outputFileName() const
Devuelve el nombre del archivo de salida. Por defecto, es una cadena vacía (lo que indica que la impresora no debe imprimir en el archivo).
Véase también setOutputFileName() y QPrintEngine::PrintEnginePropertyKey.
QPrinter::OutputFormat QPrinter::outputFormat() const
Devuelve el formato de salida de esta impresora.
Véase también setOutputFormat().
QPrinter::PageOrder QPrinter::pageOrder() const
Devuelve el orden actual de las páginas.
El orden de página por defecto es FirstPageFirst.
Véase también setPageOrder().
QRectF QPrinter::pageRect(QPrinter::Unit unit) const
Devuelve el rectángulo de la página en unit; suele ser más pequeño que paperRect() ya que la página normalmente tiene márgenes entre sus bordes y el papel.
Véase también QPagedPaintDevice::pageLayout().
[override virtual] QPaintEngine *QPrinter::paintEngine() const
Reimplementa: QPaintDevice::paintEngine() const.
Devuelve el motor de pintura utilizado por la impresora.
QRectF QPrinter::paperRect(QPrinter::Unit unit) const
Devuelve el rectángulo del papel en unit; suele ser mayor que pageRect().
Véase también pageRect().
QPrinter::PaperSource QPrinter::paperSource() const
Devuelve la fuente de papel de la impresora. Esto es Manual o una bandeja de impresora o casete de papel.
Véase también setPaperSource().
QPagedPaintDevice::PdfVersion QPrinter::pdfVersion() const
Devuelve la versión PDF para esta impresora. El valor predeterminado es PdfVersion_1_4.
Véase también setPdfVersion().
QPrintEngine *QPrinter::printEngine() const
Devuelve el motor de impresión utilizado por la impresora.
QString QPrinter::printProgram() const
Devuelve el nombre del programa que envía la salida de impresión a la impresora.
Por defecto devuelve una cadena vacía; lo que significa que QPrinter intentará ser inteligente de una forma dependiente del sistema. Sólo en X11, puedes establecerlo a algo diferente para usar un programa de impresión específico. En las demás plataformas, devuelve una cadena vacía.
Véase también setPrintProgram() y setPrinterSelectionOption().
QPrinter::PrintRange QPrinter::printRange() const
Devuelve el intervalo de páginas de QPrinter. Una vez abierto el diálogo de configuración de impresión, esta función devuelve el valor seleccionado por el usuario.
Véase también setPrintRange().
QString QPrinter::printerName() const
Devuelve el nombre de la impresora. Este valor se establece inicialmente con el nombre de la impresora por defecto.
Véase también setPrinterName().
QString QPrinter::printerSelectionOption() const
Devuelve la cadena de selección de opciones de impresión. Esto sólo es útil si se ha establecido explícitamente el comando de impresión.
El valor por defecto (una cadena vacía) implica que la impresora debe seleccionarse de forma dependiente del sistema.
Cualquier otro valor implica que se debe utilizar el valor dado.
Esta función siempre devuelve una cadena vacía en Windows y Mac.
Véase también setPrinterSelectionOption() y setPrintProgram().
QPrinter::PrinterState QPrinter::printerState() const
Devuelve el estado actual de la impresora. Esto puede no ser siempre exacto (por ejemplo, si la impresora no tiene la capacidad de informar de su estado al sistema operativo).
int QPrinter::resolution() const
Devuelve la resolución actual asumida de la impresora, tal y como se establece en setResolution() o en el controlador de la impresora.
Véase también setResolution().
void QPrinter::setCollateCopies(bool collate)
Establece el valor por defecto de la casilla de cotejo cuando aparece el diálogo de impresión. Si collate es verdadero, habilitará setCollateCopiesEnabled(). El valor por defecto es false. Este valor cambiará según lo que pulse el usuario en el diálogo de impresión.
Véase también collateCopies().
void QPrinter::setColorMode(QPrinter::ColorMode newColorMode)
Establece el modo de color de la impresora en newColorMode, que puede ser Color o GrayScale.
Véase también colorMode().
void QPrinter::setCopyCount(int count)
Establece el número de copias que se imprimirán en count.
El controlador de impresora lee este ajuste e imprime el número de copias especificado.
Véase también copyCount() y supportsMultipleCopies().
void QPrinter::setCreator(const QString &creator)
Establece el nombre de la aplicación que ha creado el documento en creator.
Esta función sólo es aplicable a la versión X11 de Qt. Si no se especifica ningún nombre de creador, se establecerá como "Qt" seguido de algún número de versión.
Véase también creator().
void QPrinter::setDocName(const QString &name)
Establece el nombre del documento en name.
En X11, el nombre del documento se utiliza, por ejemplo, como nombre de archivo de salida por defecto en QPrintDialog. Tenga en cuenta que el nombre del documento no afecta al nombre del fichero si la impresora está imprimiendo en un fichero. Para ello, utilice la función setOutputFile().
Véase también docName() y QPrintEngine::PrintEnginePropertyKey.
void QPrinter::setDuplex(QPrinter::DuplexMode duplex)
Activa la impresión a doble cara según el modo duplex.
Véase también duplex().
[protected] void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
Esta función es utilizada por subclases de QPrinter para especificar motores de impresión y pintura personalizados (printEngine y paintEngine, respectivamente).
QPrinter no se apropia de los motores, por lo que debes gestionar tú mismo estas instancias de motores.
Ten en cuenta que cambiar los motores reiniciará el estado de la impresora y todas sus propiedades.
Véase también printEngine(), paintEngine(), y setOutputFormat().
void QPrinter::setFontEmbeddingEnabled(bool enable)
Activa o desactiva la incrustación de fuentes en función de enable.
Véase también fontEmbeddingEnabled().
void QPrinter::setFromTo(int from, int to)
Establece el rango de páginas a imprimir para cubrir las páginas con números especificados por from y to, donde from corresponde a la primera página del rango y to corresponde a la última.
Nota: Las páginas de un documento se numeran según la convención de que la primera página es la página 1. Sin embargo, si from y to están ambos a 0, se imprimirá todo el documento.
Esta función se utiliza principalmente para establecer un valor por defecto que el usuario puede anular en el diálogo de impresión cuando se llama a setup().
Véase también fromPage(), toPage(), y pageRanges().
void QPrinter::setFullPage(bool fp)
Si fp es verdadero, permite pintar en toda la página; de lo contrario, restringe la pintura al área imprimible indicada por el dispositivo.
Por defecto, la impresión de página completa está desactivada. En este caso, el origen del sistema de coordenadas de QPrinter coincide con la esquina superior izquierda del área imprimible.
Si la impresión a página completa está activada, el origen del sistema de coordenadas de QPrinter coincide con la esquina superior izquierda del papel. En este caso, device metrics informará exactamente de las mismas dimensiones que las indicadas por {QPageSize}. Puede que no sea posible imprimir en toda la página física debido a los márgenes de la impresora, por lo que la aplicación debe tener en cuenta los márgenes por sí misma.
Véase también fullPage(), QPagedPaintDevice::pageLayout() y QPagedPaintDevice::setPageSize().
void QPrinter::setOutputFileName(const QString &fileName)
Establece el nombre del archivo de salida en fileName.
Establecer un nombre nulo o vacío (0 o "") desactiva la impresión en un archivo. Establecer un nombre no vacío habilita la impresión en un archivo.
Esto puede cambiar el valor de outputFormat(). Si el nombre del fichero tiene el sufijo ".pdf" se genera el PDF. Si el nombre del archivo tiene un sufijo distinto de ".pdf", el formato de salida utilizado es el establecido con setOutputFormat().
QPrinter utiliza los motores de impresión PDF multiplataforma de Qt respectivamente. Si puede producir este formato de forma nativa, por ejemplo macOS puede generar PDF desde su motor de impresión, vuelva a establecer el formato de salida en NativeFormat.
Véase también outputFileName() y setOutputFormat().
void QPrinter::setOutputFormat(QPrinter::OutputFormat format)
Establece el formato de salida para esta impresora en format.
Si format es el mismo valor que el actual, no se realizará ningún cambio.
Si format es NativeFormat entonces printerName será la impresora por defecto. Si no hay ninguna impresora válida configurada, no se realizará ningún cambio. Si desea configurar NativeFormat con una printerName específica, utilice setPrinterName().
Véase también outputFormat() y setPrinterName().
void QPrinter::setPageOrder(QPrinter::PageOrder pageOrder)
Establece el orden de las páginas en pageOrder.
El orden de las páginas puede ser QPrinter::FirstPageFirst o QPrinter::LastPageFirst. La aplicación es responsable de leer el orden de las páginas e imprimir en consecuencia.
Esta función es útil sobre todo para establecer un valor por defecto que el usuario puede anular en el diálogo de impresión.
Esta función sólo es compatible con X11.
Véase también pageOrder().
void QPrinter::setPaperSource(QPrinter::PaperSource source)
Configura el origen del papel en source.
Sólo para Windows: Esta opción puede cambiarse durante la impresión y tendrá efecto a partir de la siguiente llamada a newPage()
Véase también paperSource().
void QPrinter::setPdfVersion(QPagedPaintDevice::PdfVersion version)
Establece la versión PDF para esta impresora en version.
Si version es el mismo valor que el actual, no se realizará ningún cambio.
Véase también pdfVersion().
void QPrinter::setPrintProgram(const QString &printProg)
Establece el nombre del programa que debe realizar el trabajo de impresión en printProg.
En X11, esta función establece el programa a llamar con la salida PDF. En otras plataformas, no tiene ningún efecto.
Véase también printProgram().
void QPrinter::setPrintRange(QPrinter::PrintRange range)
Establece la opción de rango de impresión en para que sea range.
Véase también printRange().
void QPrinter::setPrinterName(const QString &name)
Establece el nombre de la impresora en name.
Si name está vacío, el formato de salida será PdfFormat.
Si name no es una impresora válida, no se realizará ningún cambio.
Si name es una impresora válida, el formato de salida será NativeFormat.
Véase también printerName(), isValid(), y setOutputFormat().
void QPrinter::setPrinterSelectionOption(const QString &option)
Establece que la impresora utilice option para seleccionar la impresora. option es nulo por defecto (lo que implica que Qt debería ser lo suficientemente inteligente como para adivinarlo correctamente), pero puede establecerse con otros valores para utilizar una opción de selección de impresora específica.
Si la opción de selección de impresora se cambia mientras la impresora está activa, el trabajo de impresión actual puede verse afectado o no.
Esta función no tiene ningún efecto en Windows o Mac.
Véase también printerSelectionOption() y setPrintProgram().
void QPrinter::setResolution(int dpi)
Solicita que la impresora imprima en dpi o lo más cerca posible de dpi.
Este ajuste afecta al sistema de coordenadas devuelto, por ejemplo, por QPainter::viewport().
Esta función debe llamarse antes de QPainter::begin() para que tenga efecto en todas las plataformas.
Véase también resolution() y QPagedPaintDevice::setPageSize().
QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
Devuelve los tamaños de papel soportados por esta impresora.
Los valores serán o bien un valor que coincida con una entrada en el enum QPrinter::PaperSource o un valor específico del controlador. Los valores específicos del controlador son mayores que la constante DMBIN_USER declarada en wingdi.h.
Advertencia: Esta función sólo está disponible en Windows.
QList<int> QPrinter::supportedResolutions() const
Devuelve una lista de las resoluciones (una lista de enteros de puntos por pulgada) que la impresora dice que soporta.
Para X11, donde toda la impresión es directamente a PDF, esta función siempre devolverá una lista de un elemento que contiene sólo la resolución PDF, es decir, 72 (72 ppp - pero consulte PrinterMode).
bool QPrinter::supportsMultipleCopies() const
Devuelve true si la impresora admite la impresión de varias copias del mismo documento en un solo trabajo; en caso contrario, devuelve false.
En la mayoría de los sistemas esta función devolverá true. Sin embargo, en sistemas X11 que no soportan CUPS, esta función devolverá false. Esto significa que la aplicación tiene que manejar el número de copias imprimiendo el mismo documento el número de veces requerido.
Véase también setCopyCount() y copyCount().
int QPrinter::toPage() const
Devuelve el número de la última página de un rango de páginas a imprimir (el ajuste "a página"). Las páginas de un documento se numeran según la convención de que la primera página es la página 1.
Por defecto, esta función devuelve un valor especial de 0, lo que significa que la configuración "a página" no está establecida.
Nota: Si tanto fromPage() como toPage() devuelven 0, esto indica que se imprimirá todo el documento.
El programador es responsable de leer esta configuración e imprimir en consecuencia.
Véase también setFromTo(), fromPage() y pageRanges().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.