Codificar um PDF em Base64
- Painel
- Documentação
- API
Codificar um PDF em Base64
O Base64 é uma codificação que representa dados binários sob a forma de texto ASCII (64 caracteres: A-Z, a-z, 0-9, mais dois caracteres adicionais). Um ficheiro PDF, que é binário por natureza, não pode ser colado diretamente num e-mail HTML, num payload JSON ou num atributo XML: tem primeiro de ser convertido em texto. A nossa ferramenta recebe o seu ficheiro PDF e devolve a sua representação Base64, pronta a copiar.
Para os detalhes sobre Base64 e o formato Data URI em geral, consulte o nosso codificador Base64 de texto que cobre os princípios em profundidade.
Porquê codificar um PDF em Base64?
- Integrar um PDF num e-mail HTML: alguns clientes de e-mail aceitam ligações Data URI ou anexos codificados inline em MIME.
- Armazenar um PDF num campo de texto de base de dados (coluna
TEXTouVARCHAR) quando a restrição aplicacional impede um tipo binário (BLOB). - Transmitir um PDF num payload JSON de API: JSON não suporta binário, portanto qualquer ficheiro tem de transitar em Base64.
- Incorporar um PDF num URL data: uso raro, a reservar para ficheiros muito pequenos, porque os URL têm limites de comprimento (tipicamente 2000 a 8000 caracteres conforme o navegador e o servidor).
Formato Data URI para PDF
Um URL do tipo Data URI incorpora o conteúdo do PDF diretamente no URL:
data:application/pdf;base64,JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI...
O prefixo data:application/pdf;base64, indica ao navegador o tipo MIME e a codificação.
Pode colar este URL diretamente na barra de endereço de um navegador moderno para abrir
o PDF, ou colocá-lo no atributo src de um <iframe> ou
<embed>.
Casos de uso concretos
- Assinaturas eletrónicas: a maioria das APIs de assinatura (DocuSign, Yousign, etc.) aceitam ou exigem o PDF em Base64 no corpo JSON do pedido.
- Backups e arquivamento: serializar um PDF numa exportação JSON ou num ficheiro de texto versionado em git (a evitar para grandes volumes, mas prático para fixtures de teste).
- Testes automatizados: integrar um PDF de referência diretamente num teste unitário sem depender de um ficheiro externo.
- Exportações de cliente: gerar um PDF no servidor, devolvê-lo em Base64 na resposta JSON, o cliente descodifica-o e descarrega-o sem chamada HTTP adicional.
Inconvenientes a conhecer
- Sobrecusto de tamanho: o Base64 acrescenta cerca de 33 % ao volume. Um PDF de 1 MB torna-se uma cadeia de 1,37 MB em Base64.
- Sem cache HTTP: um PDF incorporado em Data URI numa página HTML é descarregado de novo em cada carregamento, ao contrário de um ficheiro servido a partir de um URL clássico com cabeçalhos de cache.
- Limites de tamanho: a memória do navegador, o tamanho máximo de um POST no
servidor (
upload_max_filesizeepost_max_sizeem PHP), e as quotas da base de dados (tamanho de linha MySQL, por exemplo) podem rapidamente ser ultrapassados em PDFs volumosos. - Não adequado a ficheiros grandes: acima de alguns MB, prefira um armazenamento dedicado (S3, disco) e transmita um URL em vez do conteúdo codificado.
Como utilizar a ferramenta
- Clique no campo de carregamento e selecione o seu ficheiro PDF.
- A ferramenta codifica o conteúdo binário em Base64 e mostra o resultado.
- Pode optar por incluir ou não o prefixo
data:application/pdf;base64,conforme o seu caso de uso (com prefixo para uma Data URI, sem prefixo para um payload JSON). - Copie a cadeia e cole-a onde precisar.
Perguntas frequentes
Qual o tamanho máximo de PDF aceite?
O limite depende da configuração do servidor. Na prática, mantenha-se abaixo de alguns MB para conservar uma experiência fluida. Acima disso, o navegador abranda, a área de transferência satura, e os destinos (e-mail, JSON, base de dados) arriscam-se a rejeitar a carga.
O PDF Base64 é compatível com os clientes de e-mail (Gmail, Outlook)?
Como anexo codificado inline numa mensagem MIME, sim: é mesmo o mecanismo
padrão do correio eletrónico. Em contrapartida, em Data URI no corpo HTML de uma mensagem
(<a href="data:..."> ou <iframe>), a maioria dos clientes
de e-mail bloqueia ou reescreve estes URL por razões de segurança. Prefira o anexo
clássico.
Qual a diferença com um PDF cifrado?
Codificar em Base64 não é cifrar: a cadeia continua legível e trivial de descodificar por qualquer pessoa. Um PDF cifrado (palavra-passe de proprietário ou de utilizador) permanece cifrado mesmo depois de codificado em Base64: a codificação e a cifragem são duas operações independentes.
Posso fazer a operação inversa?
Sim: utilize o nosso descodificador PDF Base64 para transformar uma cadeia Base64 num ficheiro PDF descarregável.
O meu PDF é enviado para os vossos servidores?
A codificação é tratada no lado do servidor apenas durante o pedido, depois o ficheiro é libertado. Nenhum armazenamento persistente é efetuado. Para PDFs particularmente sensíveis, prefira um tratamento local com uma ferramenta offline.
Exemplo de pedido
curl -X POST https://cdrn.fr/api/v1/tools/base64-pdf-encoder/execute \
-F "file=@/path/to/file"
Esquema de entrada
| Campo | Tipo | Obrigatório | Predefinição |
|---|---|---|---|
file |
file | ✓ | – |
esta ferramenta espera um ficheiro - utilize Content-Type multipart/form-data em vez de application/json
Pontos de acesso
GET https://cdrn.fr/api/v1/tools- lista todas as ferramentas disponíveisGET https://cdrn.fr/api/v1/tools/base64-pdf-encoder- obtém o esquema desta ferramentaPOST https://cdrn.fr/api/v1/tools/base64-pdf-encoder/execute- executa esta ferramenta com um payload JSON