Atalhos e AppleScript
O JPGBoost integra-se com as ferramentas de automatização próprias do macOS. Está disponível uma ação nativa nos Atalhos e no Spotlight, e um comando compress exposto ao AppleScript e ao Automator.
Esta funcionalidade está disponível tanto no JPGBoost Free como no Pro. No Free, cada imagem processada conta para a quota diária: 50 imagens por dia e 5 MB por ficheiro. O JPGBoost Pro remove ambos os limites.
Duas formas de automatizar
O JPGBoost expõe duas interfaces de automatização nativas do macOS. Ambas funcionam como processamento independente: recebem ficheiros e definições como entrada, devolvem ficheiros comprimidos como saída, e são independentes da lista atualmente aberta na janela da aplicação.
- App Intents para a app Atalhos e o Spotlight.
- AppleScript para
osascript, o Editor de Scripts e o Automator.
A aplicação não precisa de estar aberta
Esta é a principal diferença em relação à API local e às pastas monitorizadas, que exigem ambas que a aplicação já esteja em execução.
Seja através de uma ação de Atalhos ou do comando AppleScript compress, o macOS reabre o JPGBoost automaticamente assim que chega um pedido, tal como qualquer outra aplicação com suporte de scripts. Não tem de fazer nada, mesmo que tivesse fechado explicitamente a aplicação antes.
O único efeito visível é um ligeiro atraso, o tempo que demora a abrir, quando a aplicação não estava já aberta. Terminado o processamento, permanece aberta: o macOS não a fecha automaticamente.
A ação «Comprimir imagens»
A ação aparece automaticamente na app Atalhos, na categoria JPGBoost, assim que a aplicação tenha sido aberta uma vez. Não é necessária qualquer configuração.
- Abra a app Atalhos e crie um atalho.
- Adicione uma ação que forneça ficheiros, por exemplo Selecionar Ficheiros ou Obter Conteúdo de Pasta.
- Adicione a ação Comprimir imagens do JPGBoost.
- Preencha os parâmetros que quiser. Os que deixar em branco podem ser preenchidos por um perfil de exportação.
- Encadeie outra ação a seguir, se necessário: a ação devolve os ficheiros comprimidos.
| Parâmetro | Função | Obrigatório |
|---|---|---|
| Input Files | As imagens a comprimir | Sim |
| Output Format | Formato de saída desejado | Não |
| Quality | Qualidade de 1 a 100 | Não |
| Export Profile | Nome de um perfil de exportação existente | Não |
| Destination Folder | Pasta de saída (consulte o aviso abaixo) | Não |
O campo «Destination Folder»
Este é o ponto que mais costuma confundir. O campo Destination Folder é difícil de preencher corretamente a partir do editor de atalhos. A solução fiável consiste em passar por um perfil de exportação.
Este campo espera uma referência de pasta real em formato URL, ou seja, um caminho que comece por file:// (por exemplo file:///Users/eu/Downloads/), e não texto simples. Os seguintes métodos falham com um erro Invalid URL:
- escrever um caminho à mão, por exemplo
/Users/eu/Downloads; - arrastar uma pasta do Finder para o campo, que apenas deposita ali texto simples.
O editor de Atalhos do macOS também não oferece nenhuma ação nativa do tipo «Escolher uma Pasta» que permita construir uma de outra forma.
Caso 1: nenhum atalho para construir
Assim que o JPGBoost tiver sido aberto pelo menos uma vez, a frase genérica que a própria aplicação declara («Comprimir imagens com JPGBoost», «Comprimir com JPGBoost») é reconhecida diretamente pelo Spotlight, sem nunca abrir a app Atalhos.
Esta invocação direta transmite apenas os ficheiros selecionados. Nenhum outro parâmetro é fornecido, o que provoca o erro «Pasta de destino em falta» enquanto a configuração abaixo não tiver sido feita.
Para que esta invocação funcione:
- No JPGBoost, abra Definições → Perfis e defina um perfil como perfil predefinido, com uma pasta de destino configurada.
- No Finder, selecione as imagens a comprimir.
- Prima
⌘Espaçoe depois escreva «Comprimir imagens».
O JPGBoost preenche então automaticamente os parâmetros em falta a partir do perfil predefinido, nomeadamente a pasta de destino, o formato e a qualidade.
Não é necessário nenhum atalho na app Atalhos.
Caso 2: com um atalho construído
Este caso é útil quando é necessário ter vários comportamentos disponíveis sob nomes distintos. Por exemplo, «Comprimir para o Ambiente de Trabalho» pode usar um perfil, enquanto «Comprimir para Arquivo» usa outro. O perfil predefinido do caso 1 só permite gerir um comportamento de cada vez.
- No JPGBoost, abra Definições → Perfis e crie um perfil com uma pasta de destino, selecionada através do seletor nativo da aplicação.
- Na app Atalhos, crie um novo atalho e dê-lhe um nome claro, por exemplo «Comprimir para o Ambiente de Trabalho».
- Na ação JPGBoost do atalho, preencha apenas Export Profile com o nome do perfil a utilizar. Deixe Destination Folder em branco: a pasta definida no perfil será utilizada automaticamente.
- O atalho fica então diretamente disponível no Spotlight com o nome que lhe deu, em vez da frase genérica declarada pelo JPGBoost.
Spotlight
A ação também é acessível a partir do Spotlight. As frases de ativação, do tipo «Comprimir imagens com JPGBoost», estão traduzidas nos quinze idiomas suportados.
O título da ação, a sua descrição, os seus parâmetros e as suas mensagens de erro seguem o idioma da ferramenta que os apresenta (Atalhos ou Spotlight), independentemente do idioma escolhido para a própria janela do JPGBoost.
AppleScript
O comando compress usa-se tal como o de qualquer outra aplicação com suporte de scripts.
tell application "JPGBoost"
compress {"/caminho/para/imagem1.png", "/caminho/para/imagem2.jpg"} ¬
to "/caminho/de/saida" format "webp" quality 80
end tell
Os parâmetros to, format e quality são opcionais. O parâmetro profile pode substituí-los, ou preencher o que eles não cobrem, exatamente como --profile na linha de comandos.
tell application "JPGBoost"
compress {"/caminho/para/imagem.png"} profile "Web JPEG"
end tell
O comando devolve uma cadeia JSON: um objeto por ficheiro, com os campos path, originalSizeBytes, compressedSizeBytes, ratio, destination e error. É a mesma forma da saída --json da CLI e das respostas da API local.
A partir do Terminal
osascript -e 'tell application "JPGBoost" to compress {"/caminho/imagem.png"} profile "Web JPEG"'
A partir do Automator
Use a ação Executar Script AppleScript e cole nela o mesmo bloco tell. Assim pode criar um serviço acessível a partir do menu contextual do Finder.
Permissão de «Automação»
Da primeira vez, o macOS mostra o seu habitual alerta de permissão de «Automação»: a aplicação que envia o comando (Editor de Scripts, Automator ou Atalhos) quer controlar o JPGBoost. Clique em Permitir. Esta permissão só é pedida uma vez.
Resolução de problemas
| Sintoma | Causa | Solução |
|---|---|---|
| Invalid URL na pasta de destino | O campo recebeu texto em vez de uma referência de pasta | Use um perfil de exportação com pasta de destino e deixe o campo em branco |
| A ação não aparece na app Atalhos | A aplicação nunca foi aberta | Abra o JPGBoost uma vez e volte a abrir os Atalhos |
| A ação falha com uma mensagem de quota | A quota diária do JPGBoost Free foi atingida (50 imagens), ou um ficheiro ultrapassa 5 MB | Aguarde a reposição à meia-noite, ou passe para o JPGBoost Pro para remover ambos os limites |
| O comando AppleScript devolve um erro | Permissão de Automação negada | Verifique Definições do Sistema → Privacidade e Segurança → Automação. Uma recusa por quota Free não interrompe o lote: é assinalada ficheiro a ficheiro no JSON devolvido |