como criar um arquivo pdf de teste
Como gerar PDFs de exemplo para testes
O PDF com que você precisa testar quase nunca é o PDF que está na sua mesa. Esse é confidencial, tem o tamanho errado e não tem nenhuma das propriedades que você está tentando quebrar.
01
Por que um PDF inventado é melhor que um de verdade
Quem constrói software que mexe com PDF esbarra cedo na mesma parede: você precisa de um arquivo, e os arquivos à mão são holerites, contratos e relatórios de cliente. Anexar um deles a um chamado de bug é como documentos confidenciais acabam num rastreador de issues para sempre. Usar um como arquivo de teste é como eles acabam versionados num repositório.
O outro problema é o formato. Documentos reais têm o tamanho que calhou de ter. Testar se uma junção preservou a ordem das páginas exige um documento cujas páginas anunciem o próprio número. Testar um limite de envio exige um arquivo logo acima dele. Testar um visualizador paginado exige 300 páginas, e ninguém tem um documento de 300 páginas parado por aí que esteja disposto a compartilhar.
Gerar um resolve as duas coisas. O gerador daqui monta o documento no seu navegador e o entrega direto para o download — nada é enviado, e nada no arquivo precisa ser tarjado depois, porque nunca houve nada real dentro dele.
02
Os ajustes, e para que serve cada um
São oito, e cada um corresponde a uma tarefa concreta de teste em vez de ser enfeite.
- Título do documento
- Vira três coisas ao mesmo tempo: o metadado de título do PDF, o cabeçalho da primeira página e o nome do arquivo baixado. Útil quando você gera vários arquivos de teste e precisa distingui-los numa pasta.
- Páginas
- De uma a 500. É o número a usar quando você testa paginação, interpretação de intervalos de páginas ou como um visualizador se comporta quando um documento deixa de caber confortavelmente na memória.
- Quantidade de arquivos
- De um a 20, cada um numerado e nomeado de forma independente. É o ajuste para testar qualquer coisa que consuma vários documentos de uma vez.
- Conteúdo da página
- Nove leiautes, detalhados abaixo. É o que decide para que o arquivo de teste realmente serve.
- Fonte
- Helvetica, Times ou Courier — as três fontes embutidas em todo leitor de PDF, então nenhuma fonte é incorporada e o arquivo fica pequeno e portátil. Courier é a escolha quando você testa extração de largura fixa.
- Tamanho e orientação da página
- A4, Carta ou Ofício, retrato ou paisagem. Vale variar: uma quantidade surpreendente de código de PDF é escrita pensando em A4 e trata Carta errado em silêncio, e a orientação paisagem quebra suposições de leiaute que o retrato nunca expõe.
- Tamanho aproximado do arquivo
- Zero para um arquivo pequeno, ou um número em megabytes para encher o documento até chegar perto dele.
- Números de página
- Um número impresso em toda página, ligado por padrão. Deixe ligado a não ser que você esteja testando especificamente um documento sem eles — não custa nada e é a forma mais rápida de ver que algo saiu errado.
03
Nove tipos de página, e o que cada um testa
O ajuste de conteúdo não é cosmético. Cada leiaute existe porque uma parte diferente de um fluxo de PDF precisa de uma coisa diferente na página.
- Números de página gigantes
- O padrão, e o padrão certo. Um algarismo enorme por página faz com que uma olhada no resultado já diga se juntar, dividir, girar ou reordenar fez o que você pediu. Nada mais torna um erro de ordem tão evidente.
- Parágrafos de lorem ipsum
- Texto corrido denso. É o que você quer para testar extração de texto, indexação de busca ou como um conversor lida com o fluxo de parágrafos.
- Títulos, parágrafos e marcadores
- Prosa estruturada. É o arquivo de teste para PDF em Word e PDF em Markdown, porque tem uma hierarquia de documento para o conversor deduzir.
- Tabelas de dados
- Linhas e colunas com fios. A entrada para testar PDF em Excel e PDF em CSV, em que a parte difícil é recuperar os limites das células a partir do que na verdade são apenas linhas e texto posicionado.
- Notas fiscais
- Itens, totais, endereços e números de referência. O formato realista para testar leitura de documentos, extração de campos ou qualquer coisa que afirme ler notas.
- Campos de formulário
- Caixas rotuladas e fios. Use para achatamento, posicionamento de assinatura e qualquer coisa que precise deixar a moldura do formulário intacta.
- Gráficos de barras
- Gráficos vetoriais em vez de texto. Bom para testar rasterização, saída de PDF em imagem e compressores que tratam desenhos de forma diferente de fotografias.
- Uma mistura de tudo
- Alterna entre os leiautes ao longo do documento. É o mais próximo de um relatório real, e a melhor escolha única quando você quer um arquivo de teste que exercite quase todos os caminhos.
- Páginas em branco
- Vazias de propósito. Para testar contagem de páginas, detecção de página em branco e o que acontece quando a extração corretamente não encontra nada.
04
Acertar um tamanho de arquivo de propósito
O ajuste de tamanho aproximado é o que faz as pessoas chegarem aqui, geralmente porque alguma coisa recusou um envio e elas querem descobrir o limite real em vez de confiar na mensagem de erro. Defina um número em megabytes e o gerador enche o documento com dados incompressíveis até o arquivo chegar perto dele.
Ele é descrito como aproximado por um motivo honesto. PDF é um formato comprimido, e a contagem final de bytes depende de como o conteúdo e o enchimento comprimem juntos — o resultado costuma cair a poucos por cento de distância, não no número exato. Se você precisa testar um limite rígido, gere um arquivo logo abaixo e outro logo acima, e deixe o par cercar o limite.
O outro uso é desempenho. Um documento de 40 MB é como você descobre se um visualizador carrega as páginas aos poucos ou tenta abrir o arquivo inteiro, e se uma barra de progresso é real ou decorativa.
05
Lotes, para qualquer coisa que engula mais de um arquivo
Coloque a quantidade de arquivos acima de um e você recebe essa quantidade de documentos separados, cada um com a própria numeração e o próprio nome, mais um ZIP do lote inteiro. É a forma mais rápida de produzir entrada para junção: cinco arquivos de cinco páginas numeradas cada, juntados, devem dar 25 páginas contando de um a cinco, cinco vezes — e qualquer desvio disso salta aos olhos.
Também é útil para qualquer coisa com fila: testar se um envio de vários arquivos dá conta de todos, se um conversor em lote não deixa o último item cair ou se um indicador de progresso conta certo.
06
Os mesmos ajustes sempre produzem o mesmo documento
O texto de preenchimento é montado a partir de uma lista fixa de palavras em vez de sorteado, então gerar duas vezes com ajustes idênticos dá um documento idêntico. É isso que torna a saída utilizável como arquivo de teste versionado: ele pode ser comparado, ter soma de verificação conferida e ser confrontado com uma execução anterior sem que cada nova geração produza diferenças espúrias.
Também significa que um relato de bug pode dizer "gere cinco páginas de conteúdo numerado em A4" e quem lê recebe exatamente o arquivo que você tinha, o que é bem melhor do que anexar um.