Em algum ponto depois de alguns milhares de mensagens, “imprimir a conversa inteira” deixa de ser um item numa lista de recursos e vira um problema de engenharia. As pessoas descobrem isso do jeito difícil: os fóruns estão cheios de exportações que travam para sempre, geram páginas em branco depois da página 500 ou simplesmente quebram. A gente também descobriu do jeito difícil, então aqui está o que realmente acontece por dentro e o que foi preciso para uma conversa de 84.000 mensagens poder ser impressa.
Por que conversas grandes quebram os exportadores
Quase toda ferramenta que gera uma transcrição bonita, a nossa incluída, acaba pedindo a um mecanismo de navegador que diagrame a conversa e a divida em páginas. Os mecanismos de impressão dos navegadores foram feitos para páginas da web, não para um único documento com anos de mensagens e milhares de fotos. Peça a um deles para paginar isso de uma vez só e três coisas dão errado, cada vez pior: demora uma eternidade, ele gera páginas em branco em silêncio quando a memória aperta, e por fim o processo de renderização fica sem memória e morre. Um relato real que moldou nosso trabalho: uma exportação de 8.400 mensagens gerou um PDF de 811 páginas que ficava em branco a partir da página 583. O mecanismo não deu erro. Só parou de desenhar.
O que funciona: dividir, conferir, juntar
- Divisão. A transcrição renderiza no máximo 1.500 mensagens por passada, e cada passada imprime no seu próprio arquivo parcial. Nenhuma passada fica grande o bastante para chegar ao limite.
- Um bloqueio de páginas em branco. Cada parte é inspecionada depois de gravada: se o mecanismo não desenhou nada, a parte é descartada e refeita, e uma parte que continua sem desenhar é dividida ao meio e tentada de novo. Saída em branco não chega ao documento final.
- Uma junção reforçada. As partes são costuradas num único PDF, e o arquivo final é verificado na gravação contra as falhas que importam para leitores de PDF de verdade. Cada regra dessa verificação existe porque uma exportação quebrada de verdade nos ensinou; leitores rigorosos como o Acrobat rejeitam arquivos que os mais tolerantes abrem sem reclamar.
- Rótulos, não fingimento. Uma exportação em várias partes diz nos cabeçalhos “Parte 3 de 9, mensagens 12.001 a 13.500 de 84.000”. Se algo ficou de fora, o documento avisa.
Os números
O teste de estresse para tudo isso é a conversa de 84.000 mensagens de um usuário real, anos de mensagens com fotos por toda parte. Ela é exportada num único PDF completo e legível. Para ter uma ideia: a mesma conversa era exportada com 1,05 GB numa versão antiga; o mecanismo atual a gera com 164 MB, e uma conversa de 2.500 mensagens cheia de fotos é exportada em cerca de 17 segundos num computador de mesa comum.
Imprimir de verdade
Uma observação honesta: a própria janela de impressão tem os mesmos limites de passada única de qualquer mecanismo de navegador, então para conversas muito longas o Text2Store leva você para Exportar > PDF em vez de deixar a janela falhar, e você imprime a partir do PDF, inteiro ou só as páginas de que precisa. O passo a passo está em exportar mensagens de texto do iPhone para PDF, e a versão curta desta página inteira em imprimir mensagens de texto do iPhone.
Dúvidas?
Mande um e-mail para hello@text2store.com. Se você tem uma conversa que suspeita ser grande demais, a gente adoraria, sinceramente, saber dela.