
Transformar uma imagem alta em um PDF A4 parece uma aritmética simples: calcule a altura da página e corte cada número fixo de pixels. Essa abordagem pode dividir uma linha de texto, separar um total de seu rótulo ou dividir uma legenda do gráfico. A captura de tela PDF, portanto, trata o limite matemático do A4 como uma proposta e procura um corte visualmente mais silencioso nas proximidades.
Este artigo documenta a versão atual do algoritmo 0.0.13. Ele explica o que a análise de pixel pode detectar, o que ela não consegue entender e como revisar o resultado sem afirmar que os pixels revelam a semântica do documento.
Para retrato A4, a relação altura/largura é de aproximadamente 1.4142. Se um Canvas de entrada tiver 1.000 pixels de largura, uma região de página completa em formato A4 terá aproximadamente 1.414 pixels de altura. O editor usa a largura do Canvas de origem para que a paginação preserve a resolução horizontal da imagem capturada.
Se a imagem couber em uma página, ela permanecerá como uma imagem. O modo sem divisão também ignora a paginação automática. Caso contrário, o editor propõe um limite de uma altura A4 abaixo da posição inicial atual.
As páginas usam fundos coloridos, regras de tabela, cartões, temas escuros, fotografias e gradientes. Um limite útil pode ser azul claro em vez de branco. Por outro lado, uma linha branca ainda pode conter texto fino que não deve ser cortado. O PDF da captura de tela mede transições horizontais de cores em cada linha candidata, em vez de testar apenas o brilho.
Para cada outro pixel horizontal, o algoritmo compara os valores RGB com um pixel a duas posições de distância. As diferenças acima de um limite contribuem para a energia de transição da linha. Texto denso e imagens detalhadas tendem a produzir mais transições; margens abertas e faixas horizontais simples tendem a produzir menos.

Uma única linha incomumente silenciosa pode ser uma borda suavizada ou um artefato de renderização. O editor soma cada linha com seus vizinhos imediatos, criando uma janela de suavização vertical de três linhas. Ele encontra a energia suavizada mínima na região de pesquisa do tamanho da página atual e, em seguida, aceita linhas dentro de uma pequena tolerância desse mínimo.
A pesquisa retrocede a partir do limite A4 proposto. Essa preferência usa o máximo possível da página, ao mesmo tempo em que escolhe uma linha visualmente mais silenciosa. Uma altura mínima de bloco de 15% de uma página A4 evita que a pesquisa retorne uma pequena faixa perto do topo.
Algumas imagens contêm detalhes densos de cima para baixo: fotografias, mapas, planilhas, listagens de códigos ou painéis com fundo sem margens. Se nenhuma linha qualificada de menor energia aparecer acima da altura mínima do bloco, o algoritmo usa o limite matemático proposto.
Essa alternativa é intencional. Não devolver nenhuma página seria pior, e mover arbitrariamente para cima poderia produzir dezenas de folhas em sua maioria vazias. A visualização expõe o resultado para que o usuário possa escolher uma orientação, corte, margem, zoom ou captura seccional diferente.
Fatias intermediárias são colocadas em uma tela branca com altura em formato A4. Se um limite seguro se mover para cima, a área inferior não utilizada permanecerá branca. A folha final pode usar sua altura real mais curta em vez de forçar uma cauda totalmente em branco desnecessária.
O preenchimento branco não é evidência de que o conteúdo original foi perdido. Pode indicar que o algoritmo escolheu um limite silencioso anterior. Verifique a continuidade comparando a última linha visível de uma página com a primeira linha visível da próxima.
Estas são tendências visuais, não categorias garantidas. Uma tabela com células multilinhas compactadas ainda pode exigir revisão manual.
O algoritmo não entende que uma assinatura pertence a uma declaração, um subtotal pertence a linhas de item ou uma legenda de gráfico pertence a um gráfico. Ele não analisa HTML, ordem de leitura, funções de acessibilidade ou significado legal porque recebe uma imagem.
Revise todos os limites próximos a:
Se o relacionamento semântico for importante, faça uma captura de fonte menor em torno de toda a unidade ou use um documento nato digital.
Abra o PDF em 100 por cento. Para cada transição, registre o último objeto significativo na primeira página e o primeiro objeto na próxima. Confirme se nenhuma linha de texto, número, ícone ou código legível por máquina está dividido. Repita a verificação em um segundo visualizador de PDF porque o dimensionamento e o antialiasing são diferentes.
Para um teste controlado, crie três faixas de origem: texto de parágrafo, uma tabela e uma imagem sem margens. Capture a página em uma janela de visualização gravada e aplique zoom. O resultado esperado não é “nenhum corte nunca”, mas uma escolha documentada de limites e um recuo honesto quando a faixa densa não oferece nenhuma lacuna segura.
A energia do pixel pode reduzir cortes complicados, mas não pode certificar um documento. A paginação automática é um mecanismo de sugestão que opera com base em informações visuais. A visualização é onde o usuário decide se a sugestão preserva o significado.
O fluxo de trabalho mais forte combina uma proporção determinística, uma pesquisa visual limitada, comportamento de fallback transparente e inspeção página por página. Isso é mais confiável do que prometer que um algoritmo automático pode entender cada página da web apenas a partir de pixels.