Criar funções especiais no botão direito do rato
Moderator: Gio
Criar funções especiais no botão direito do rato
Boas a todos,
Tenho a necessidade de criar uma função especial a atribuir no botão direito do rato.
Recebo dezenas de ficheiros por dia, que tenho de imprimir as páginas 1 e da 4 em diante, logo tenho de abrir, CTRL+P, selecionar páginas 1, 4- e ENTER.
Cria ter uma forma de ao clicar por um tempo no botão direito do rato ou ter uma linha de "impressão rápida" para fazer este trabalho... iria poupar muitos minutos e clicks por dia
Se alguém puder sugerir formas ou algum programa a utilizar para esse efeito, agradecia.
NOTA: Uso Windows 10 Pro
Abraço a todos e continuação de Bom Ano!!!
Tenho a necessidade de criar uma função especial a atribuir no botão direito do rato.
Recebo dezenas de ficheiros por dia, que tenho de imprimir as páginas 1 e da 4 em diante, logo tenho de abrir, CTRL+P, selecionar páginas 1, 4- e ENTER.
Cria ter uma forma de ao clicar por um tempo no botão direito do rato ou ter uma linha de "impressão rápida" para fazer este trabalho... iria poupar muitos minutos e clicks por dia
Se alguém puder sugerir formas ou algum programa a utilizar para esse efeito, agradecia.
NOTA: Uso Windows 10 Pro
Abraço a todos e continuação de Bom Ano!!!
- flyingDman
- Posts: 2838
- Joined: 29 Sep 2013, 19:01
Re: Criar funções especiais no botão direito do rato
Qual é o programa que você está imprimindo?
14.3 & 1.3.7
Re: Criar funções especiais no botão direito do rato
O tipo de ficheiro é PDF, o programa é um desenvolvimento específico para a atividade aduaneira ( GIDWIN ), que não é comercializado ao público em geral.
Esses ficheiros PDF, os demais postos de trabalho acedem através de pasta de rede em um servidor.
Julgo que a melhor forma seria criar um atalho, como quando se instala um programa e ele atribui função específica ( exemplo: instala DropBox e ele cria "send a copy..." ).
Só não sei como fazer isso
- flyingDman
- Posts: 2838
- Joined: 29 Sep 2013, 19:01
Re: Criar funções especiais no botão direito do rato
Alguns programas (principalmente da Microsoft, mas também alguns navegadores) permitem que você imprima programaticamente e defina as configurações de impressão. Seu programa provavelmente não é um desses e você terá que simular as teclas digitadas para obter o que descreveu. Como seu programa é proprietário, há pouco que alguém possa fazer para ajudá-lo.
14.3 & 1.3.7
Re: Criar funções especiais no botão direito do rato
OK.flyingDman wrote: ↑11 Jan 2023, 14:46Alguns programas (principalmente da Microsoft, mas também alguns navegadores) permitem que você imprima programaticamente e defina as configurações de impressão. Seu programa provavelmente não é um desses e você terá que simular as teclas digitadas para obter o que descreveu. Como seu programa é proprietário, há pouco que alguém possa fazer para ajudá-lo.
Julguei que fosse possível criar um script que deve para associar no Windows para fazer esse processo. Efetivamente a minha necessidade é somente para ficheiros PDF, que o programa descarrega numa pasta do servidor.
Não encontrando solução, terei que continuar a abrir ficheiro a ficheiro, pois o desperdício de 2 páginas iria fazer que por mês, estragasse uma média de 2500 a 3000 folhas de papel... há que minimizar custos e o ambiente.
Ainda assim obrigado pela ajuda e resposta.
- DevWithCoffee
- Posts: 54
- Joined: 13 Oct 2020, 12:16
Re: Criar funções especiais no botão direito do rato
Não sei se é possível sem um comando externo.
Primeiro vamos analisar como funciona qualquer linha de comando padrão da maioria dos Softwares com suporte à impressoras.
Em geral para imprimir páginas especificas é necessário usar virgula:
Mas para imprimir um intervalo é apenas um traço (hífen), por exemplo se eu quiser imprimir da 3 até a 12:
Mas se eu quiser imprimir dois intervalos distintos, bastaria combinar eu imagino:
Mas e para imprimir um intervalo "dá página X até a última, à principio achei que fosse asteristico (*), mas ao que vi na maioria dos programas basta deixar vázio após o hífen.
Um documento com 60 páginas por exemplo e quero começar da 3 pois as anteriores são apenas capa e créditos:
Então seguindo o que você precisa:
À não ser que todos os documentos tenham a mesma quantidade de páginas, mas aí é contigo pra resolver.
Segunda etapa é encontrar um programa que possa aceitar esses parâmetros na linha de comando, nesse caso eu encontrei esse:
https://www.robvanderwoude.com/commandlineswitches.php#Acrobat
Próxima etapa, criar um método simples que encontre apenas os arquivos PDF de uma pasta:
Eu criei por segurança um comando que pare a aplicação através de um comando de combinação de teclas.
Mas digamos que você imprima parte dos documentos, e não queira repetir o processo, precisamos salvar os anteriores ao encerramento da aplicação em algum arquivo:
Vale lembrar que eu não testei esse script, eu mostrei o processo com dialogo de impressão por que não me recordo como realmente funciona e não tenho como testar agora.
A idéia é poder ensinar como funcionam os métodos pra que você mesmo possa preparar sem dificuldades em cima do cenário que você está trabalhando.
Primeiro vamos analisar como funciona qualquer linha de comando padrão da maioria dos Softwares com suporte à impressoras.
Em geral para imprimir páginas especificas é necessário usar virgula:
Code: Select all
2,4,5,7,8,12,13,15,30
Code: Select all
3-12
Code: Select all
4-15,29-35
Um documento com 60 páginas por exemplo e quero começar da 3 pois as anteriores são apenas capa e créditos:
Code: Select all
3-
Code: Select all
1,4-
Segunda etapa é encontrar um programa que possa aceitar esses parâmetros na linha de comando, nesse caso eu encontrei esse:
https://www.robvanderwoude.com/commandlineswitches.php#Acrobat
Próxima etapa, criar um método simples que encontre apenas os arquivos PDF de uma pasta:
Code: Select all
#NoEnv
#Warn
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
stop := 0
Loop, Files, *.pdf
{
if (stop <> 0)
{
break
}
else
{
AcroRd32.exe /p "%A_LoopFileName%" "page=1,4-"
}
}
ExitApp
;Ctrl + Alt + x - Change to "True"
^!x:: stop := 1
Mas digamos que você imprima parte dos documentos, e não queira repetir o processo, precisamos salvar os anteriores ao encerramento da aplicação em algum arquivo:
Code: Select all
#NoEnv
#Warn
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
stop := 0
Loop, Files, *.pdf
{
printed := 0
if (stop <> 0)
{
break
}
else
{
chkf := A_LoopFileName
Loop, read, _printed.txt
{
if(A_LoopReadLine = chkf)
{
printed := 1
break
}
}
if (printed <> 1)
{
RunWait, AcroRd32.exe /p "%chkf%" "page=1,4-"
FileAppend, %chkf%`n, _printed.txt ; Registra o arquivo apos mandar o comando de imprimir
}
}
}
ExitApp
;Ctrl + Alt + x - Change to "True"
^!x:: stop := 1
A idéia é poder ensinar como funcionam os métodos pra que você mesmo possa preparar sem dificuldades em cima do cenário que você está trabalhando.