PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → Como não exibir como parar e suprimir a janela de progresso de impressão (“Printing… Page 1 – Please wait…”) em um projeto WinDev
Como não exibir como parar e suprimir a janela de progresso de impressão (“Printing… Page 1 – Please wait…”) em um projeto WinDev
Iniciado por Boller, jul., 11 2025 4:24 PM - 3 respostas
Membro registado
4.618 mensagems
Publicado em julho, 11 2025 - 4:24 PM
Dica importante





Para suprimir a janela de progresso de impressão (“Printing… Page 1 – Please wait…”) em um projeto WinDev, você pode controlar isso usando a impressão em modo silencioso (silent print), evitando que qualquer janela de diálogo do sistema seja exibida.

✅ Solução recomendada

Use o comando iConfigure() e o iSilentMode:

iSilentMode(True)
iConfigure(iPrinter) // configura a impressora se necessário (sem mostrar diálogo)
iPrintReport(MyReport)
iSilentMode(False)




💡 Explicações:
• iSilentMode(True): ativa o modo silencioso de impressão, ou seja, não exibe caixas de diálogo ou mensagens do sistema durante a impressão.
• iSilentMode(False): desativa o modo silencioso (boa prática restaurar após o uso).
• iConfigure(iPrinter): pode ser usado antes, se quiser configurar a impressora por código sem exibir a janela de seleção de impressora.



🧪 Importante:
• Esse modo funciona apenas se uma impressora padrão estiver definida no sistema.
• A janela ainda pode aparecer se houver algum erro no driver, falta de impressora padrão ou configuração incorreta do spooler.



🛠️ Exemplo completo:

iSilentMode(True)

IF iExistPrinter() = False THEN
Info("Nenhuma impressora está instalada.")
RETURN
END

// Suprimir janelas do sistema
iDestination(iPrinter)
iPrintReport(RPT_NotaFiscal)

iSilentMode(False)




Se você estiver usando PDF automático, também é possível suprimir as janelas:

iDestination(iPDF, "C:\Relatorios\saida.pdf")
iSilentMode(True)
iPrintReport(MyReport)
iSilentMode(False)

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
4.618 mensagems
Publicado em julho, 11 2025 - 5:17 PM
O comando iSilentMode(true) e iSilentMode(False)

É uma Procedure criada por vc que vai ter interação com as telas customizadas do relatório

Para vc poder customizar as telas o passo a passo é o Seguinte:

🧭 Caminho:

1. Abra o menu:
Project → Description

2. Vá na aba:
📄 “Advanced”

3. Ative a opção:
☑️ “Use a custom preview window for reports”

(em francês: “Utiliser une fenêtre personnalisée de prévisualisation des états”)

Or inglês: “ Use a personalized state preview screen”

E ok ok

Abra a janela de win_wait

E traduza ela ou coloque ela na posição -2000

✅ Benefícios:
• Dá total liberdade de layout e integração.
• Evita mensagens como "Printing... Page 1" e o botão "Cancel" para português.


E o botão cancelar se não quiser que seja visível devido alguma norma federal use uma procedure global e mude o status de true e false para que não seja possível cancelar a impressão.

Pode usar como sugestão o nome da procedure iSilentMode usando um boolean global

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
4.618 mensagems
Publicado em julho, 11 2025 - 6:22 PM
🔍 Resumo da ideia:

A thread discute formas de suprimir a janela de progresso do sistema de impressão no WinDev (a famosa “Printing… Page 1 / Please wait…”), já que ela vem do driver de impressão via spooler do Windows.

Como o iSilentMode(True) não existe oficialmente no WLanguage, mas você quer simular esse comportamento, vamos criar uma procedure personalizada chamada iSilentMode(True) que evita mostrar qualquer janela de sistema durante a impressão.



✅ Solução: Criar uma procedure chamada iSilentMode

🧠 Estratégia:
• Redirecionar a saída da impressão direto para a impressora (iDestination(iPrinter)).
• Desativar o preview (iPreview(False)).
• Não mostrar nenhuma interface de configuração (iConfigure() não deve ser usado).
• Garantir que não seja feita nenhuma chamada visual.



💡 Exemplo de implementação: iSilentMode

// Procedure iSilentMode
// Simula ativar/desativar impressão silenciosa
// Exemplo de uso: iSilentMode(True)

PROCEDURE iSilentMode(bAtivo is boolean)

IF bAtivo = True THEN
// Ativa modo silencioso
iDestination(iPrinter) // Envia direto para impressora padrão
iPreview(False) // Desativa preview
// Pode adicionar controle de spooler aqui, se necessário
ELSE
// Restaura comportamento padrão
iDestination(iPreview) // Volta a mostrar preview
iPreview(True)
END




✅ Exemplo completo de uso:

iSilentMode(True)

IF iExistPrinter() = False THEN
Info("Nenhuma impressora está disponível.")
RETURN
END

IF iPrintReport(RPT_Venda) = False THEN
Error("Erro ao imprimir.")
END

iSilentMode(False)




✅ Complementos e observações:

🔹 Quer imprimir diretamente em uma impressora térmica?

Use:

iOpenPrinter("Nome da impressora", "", iGeneric)
iPrint("Texto direto ou comandos ESC/POS")
iClosePrinter()




🔹 Impressão RAW (sem spooler, sem janelas):
• Use uma impressora configurada para não usar spooler (RAW/Direct)
• Ou use comandos diretos em fWrite() para portas COM ou LPT


Excelente ideia? 💡

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
4.618 mensagems
Publicado em julho, 11 2025 - 7:26 PM








































































Como customizar o relatório

🧭 Caminho:

1. Abra o menu:
Project → DescriptiJon

2. Vá na aba:
📄 “Advanced”

3. Ative a opção:
☑️ “Use a custom preview window for reports”

(em francês: “Utiliser une fenêtre personnalisée de prévisualisation des états”)

Or inglês: “ Use a personalized state preview screen”

E ok ok
Se

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/