Especificando a orientação do papel
Importante
A plataforma de impressão moderna é o meio preferencial do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.
Há três opções padrão associadas com o recurso padrão Orientação: PORTRAIT, LANDSCAPE_CC90, e LANDSCAPE_CC270. A menos que especificado de outra forma, a orientação padrão é PORTRAIT. O uso dessa opção é simples e não é discutido mais adiante neste tópico. O equilíbrio deste tópico está relacionado com as duas opções de paisagem.
LANDSCAPE_CC90 e LANDSCAPE_CC270
As opções LANDSCAPE_CC90 e LANDSCAPE_CC270 do recurso Orientação indicam a quantidade de rotação a ser aplicada ao texto e aos gráficos no modo retrato, para convertê-los no modo paisagem. A opção LANDSCAPE_CC90 gira o texto e os gráficos 90 graus no sentido anti-horário. A opção LANDSCAPE_CC270 gira texto e gráficos 270 graus no sentido anti-horário, o que equivale a uma rotação de 90 graus no sentido horário. Para ambas as opções, o Unidrv lida com as tarefas de girar o texto e os gráficos na quantidade indicada e movê-los conforme apropriado para a nova orientação.
Muitas impressoras suportam o modo retrato e o modo paisagem, enquanto as impressoras restantes, normalmente aquelas com menos recursos, suportam apenas o modo retrato. Cada modo tem seu próprio sistema de coordenadas: no modo retrato, a origem está no canto superior esquerdo (x aumenta para a direita e y aumenta para baixo); No modo paisagem, a origem está no canto inferior esquerdo (X aumenta para cima e Y aumenta para a direita).
As impressoras que não suportam o modo paisagem ainda podem ser feitas para imprimir documentos nessa orientação. Para esse tipo de impressora, você deve especificar a opção LANDSCAPE_CC270 no arquivo GPD da impressora. (Se você especificar a opção LANDSCAPE_CC90 para essas impressoras, o texto e os gráficos aparecerão truncados quando impressos.) Nessa opção, o Unidrv apresenta o texto e os gráficos transformados para a impressora com coordenadas relativas à origem do canto superior esquerdo da impressora.
Para uma impressora que oferece suporte ao modo paisagem e ao modo retrato, você deve especificar a opção LANDSCAPE_CC90 no arquivo GPD. Nessa opção, o Unidrv deve ser direcionado para emitir uma string de comando paisagem para a impressora, fazendo com que ela alterne do sistema de coordenadas do modo retrato para o sistema de coordenadas do modo paisagem (com a origem no canto inferior esquerdo). O Unidrv então apresenta o texto e os gráficos transformados para a impressora com coordenadas relativas à origem do canto inferior esquerdo da impressora.
No entanto, uma impressora que suporta o modo paisagem (para o qual a opção LANDSCAPE_CC90 normalmente seria usada) ainda pode operar com a opção LANDSCAPE_CC270. Nessa opção, o Unidrv é direcionado para tratar a impressora como se ela suportasse apenas o modo retrato (ou seja, com apenas um único sistema de coordenadas, com a origem no canto superior esquerdo). Consequentemente, o Unidrv não deve ser direcionado para emitir um comando para alterar os sistemas de coordenadas. O Unidrv apresenta o texto e os gráficos transformados para a impressora com coordenadas relativas a essa origem no canto superior esquerdo. Como o Unidrv pressupõe esse local da origem, essa impressora não deve receber uma cadeia de caracteres de comando no modo paisagem, mesmo quando o usuário tiver selecionado a orientação Paisagem na página de propriedades da impressora. No exemplo de arquivo GPD a seguir, observe que a seção *Opção: LANDSCAPE_CC270 contém um comando para colocar a impressora no modo retrato (ORIENT_PORTRAIT_CMD) e não para colocá-la no modo paisagem.
*Feature: Orientation
{
*rcNameID: =ORIENTATION_DISPLAY
*DefaultOption: PORTRAIT
*Option: PORTRAIT
{
*rcNameID: =PORTRAIT_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
*Option: LANDSCAPE_CC270
{
*rcNameID: =LANDSCAPE_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
}
Para Windows 7, a função MxdcGetPDEVAdjustment tem novos parâmetros para rotação de paisagem. Para mais informações, consulte MxdcXDCGetPDEVAdjustment.