Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenPrint

License Manifest Dependencies

Extensão para Chrome que captura a página inteira — do topo ao rodapé, incluindo tudo que está fora da tela — e salva em PNG, JPG ou WebP.

Zero dependências, Manifest V3, sem host_permissions.

Como funciona

  1. Clique no ícone do OpenPrint e pressione Capturar página.
  2. A extensão rola a página em passos, capturando cada fatia visível com chrome.tabs.captureVisibleTab.
  3. Ao final da captura, uma nova aba é aberta com a imagem montada e os botões para salvar como PNG, JPG ou WebP.

Cabeçalhos fixos/sticky aparecem apenas na primeira fatia; rodapés fixos/sticky apenas na última — assim eles não se repetem no meio da imagem final.

Por que não usar chrome.debugger?

O protocolo DevTools do Chrome (Page.captureScreenshot com captureBeyondViewport) captura a página inteira em uma única chamada, mas exige a permissão debugger, que mostra ao usuário o banner persistente "esta extensão está depurando o navegador" e complica a revisão na Web Store. Rolar + captureVisibleTab precisa apenas de activeTab, então a extensão nunca solicita acesso amplo a hosts.

Permissões

Permissão Motivo
activeTab Acesso temporário apenas à aba onde a extensão foi acionada — sem <all_urls>, sem acesso a outras abas em segundo plano.
scripting Injeta a lógica de rolagem/medição na aba, sob demanda.
downloads Salva a imagem final na pasta de Downloads.

Sem host_permissions, sem código remoto, sem analytics.

Instalação (não empacotada)

  1. Baixe ou clone este repositório.
  2. Acesse chrome://extensions.
  3. Ative o Modo do desenvolvedor (canto superior direito).
  4. Clique em Carregar sem compactação e selecione a pasta OpenPrint (a raiz do repositório).

Limitações conhecidas

  • Apenas rolagem vertical é tratada (overflow horizontal está fora do escopo).
  • Páginas que rolam dentro de um contêiner interno personalizado (em vez do próprio document) não são detectadas.
  • Elementos com position: sticky são classificados pela posição no início da captura; elementos sticky que só se ativam após ultrapassar um limiar de rolagem podem não ser tratados corretamente.
  • Páginas muito altas produzem um canvas final muito grande; casos extremos podem atingir limites de memória do navegador ou de tamanho de mensagem.

Licença

MIT — veja LICENSE.

About

Extensão para Chrome que captura a página inteira e salva em PNG, JPG ou WebP.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages