Sinal PDF - Assinatura Digital API
PDF4me Sinal PDF permite adicionar imagens de assinatura a PDF documentos com controle sobre posição, tamanho e aparência. Isto API processos de serviço PDF arquivos e adiciona imagens de assinatura usando Base64 Codificação para transmissão segura. A API recebe PDF dados de imagem de conteúdo e assinatura por meio de REST API Essa solução é ideal para autenticação de documentos, conformidade legal, fluxos de trabalho empresariais e adição de assinaturas visuais a documentos.
Autenticando seu API Solicitar
Para acessar o PDF4me REST APIPara que uma solicitação seja aceita, é necessário incluir as credenciais de autenticação adequadas. A autenticação garante a segurança da comunicação e valida sua identidade como usuário autorizado do sistema. REST API.
Principais características
- Suporte para assinatura de imagemAdicione imagens de assinatura personalizadas a PDF documentos com controle total sobre posicionamento e dimensionamento
- Posicionamento flexívelControle o alinhamento horizontal e vertical com precisão perfeita de pixels.
- Tamanhos personalizadosAjuste as dimensões da assinatura usando medidas em milímetros e pixels.
- Formatação avançadaDefina as opções de opacidade, margens e plano de fundo para uma aparência profissional.
- Segmentação de páginaAplicar assinaturas a páginas específicas ou a documentos inteiros.
- Controle de impressãoConfigure as assinaturas para aparecerem apenas na versão impressa ou na tela.
- Resultados profissionaisCrie assinaturas que aprimorem a autenticação e a segurança dos documentos.
- Processamento assíncronoSuporte para processamento assíncrono com polling para operações de longa duração.
REST API Ponto final
O PDF4me REST API usa padrão HTTP Métodos para interagir com recursos. Todos PDF As operações de assinatura são realizadas por meio de um único ponto de extremidade:
- Método: POST
- Ponto final:
/api/v2/SignPdf
Apoiado PDF Recursos de assinatura
O API Oferece suporte abrangente para diversas áreas. PDF Capacidades de assinatura:
Suporte para Imagem de Assinatura
- Formatos comunsSuporte para JPG, PNGe outros formatos de imagem padrão.
- Base64 CodificaçãoTransmissão segura de assinaturas através de Base64 codificação
- Tamanhos flexíveisOpções de dimensionamento baseadas em milímetros (10-200 mm) e pixels (20-600 px).
- Preservação da QualidadeMantém a qualidade de imagem característica em PDF saída
Posicionamento e Layout
- Alinhamento horizontalOpções de posicionamento: Esquerda, Centro e Direita
- Alinhamento verticalControle de posicionamento superior, central e inferior
- Controle de MargemPosicionamento preciso com medições em milímetros (0-100 mm) e pixels (0-300 px).
- Colocação flexívelSuporte para qualquer posição da página com medidas exatas.
- Segmentação de páginaAplicar a páginas específicas ou a documentos inteiros (opcional)
Recursos avançados
- Controle de opacidadeTransparência ajustável (0-100) para assinaturas discretas ou em destaque.
- Modo de fundoOpção para colocar assinaturas atrás ou antes do conteúdo.
- Controle de impressãoConfigure as assinaturas para aparecerem na visualização e impressão ou somente na impressão.
- Aparência profissionalRenderização de assinatura de alta qualidade com visibilidade nítida.
REST API Parâmetros
Lista completa de parâmetros para o Sign PDF REST APIOs parâmetros estão organizados por categoria para melhor compreensão e implementação.
Importante: Os parâmetros marcados com um asterisco (*) são obrigatórios e devem ser fornecidos para o API para funcionar corretamente.
Parâmetros obrigatórios
| Parâmetro | Tipo | Descrição | Exemplo |
|---|---|---|---|
| nomeDoDocumento* | String | Saída PDF nome do arquivo com extensão .pdf | output.pdf |
| conteúdo do documento* | Base64 | PDF conteúdo do arquivo codificado em Base64 | JVBERi... |
| arquivo de imagem* | Base64 | Conteúdo do arquivo de imagem de assinatura codificado em Base64 | iVBORw0KGgoAAAANSUhEUgAA... |
| nome_da_imagem* | String | Nome do arquivo de imagem da assinatura com a extensão (ex.: .jpg, .png) | signature.jpg |
| alinharX* | String | Alinhamento horizontal: Esquerda, Centro, ou Certo | Right |
| alinharY* | String | Alinhamento vertical: Principal, Meio, ou Fundo | Bottom |
Parâmetros opcionais
| Parâmetro | Tipo | Descrição | Exemplo |
|---|---|---|---|
| páginas | String | Opções de página: "1", "1,3,5", "2-5", "1,3,7-10", "2-". Se não for especificado, aplica-se a todas as páginas. | 1-3 |
| larguraEmMM | String | Largura da assinatura em milímetros (10-200) | 50 |
| alturaEmMM | String | Altura da assinatura em milímetros (10-200) | 25 |
| larguraEmPx | String | Largura da assinatura em pixels (20-600) | 142 |
| alturaEmPx | String | Altura da assinatura em pixels (20-600) | 71 |
| margemXEmMM | String | Margem horizontal em milímetros (0-100) | 20 |
| margemYInMM | String | Margem vertical em milímetros (0-100) | 20 |
| margemXInPx | String | Margem horizontal em pixels (0-300) | 57 |
| margemYInPx | String | Margem vertical em pixels (0-300) | 57 |
| opacidade | String | Opacidade (0-100): 0 = invisível, 100 = totalmente opaco | 100 |
| mostrarSomenteNaVersãoImpressa | Boolean | Exibir a assinatura e imprimi-la (verdadeiro) ou apenas imprimi-la (falso) | true |
| é o fundo | Boolean | Colocar assinatura em segundo plano (verdadeiro) ou em primeiro plano (falso) | false |
| assíncrono | Boolean | Ative o processamento assíncrono. Quando true, o API retorna o status 202 e fornece uma opção de sondagem. URL no Location cabeçalho | true |
Saída
O PDF4me Sinal PDF REST API Retorna respostas diferentes dependendo do modo de processamento. API retorna o PDF como um Base64string codificada em JSON formato, não como dados binários.
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
Processamento síncrono (padrão)
Quando async não está definido ou está definido como false, o API processa a solicitação imediatamente:
Código de status: 200 OK
Content-Type: application/json
Corpo da resposta:
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg=="
}
Campos de resposta:
- nomeDoDocumento (string): A saída PDF nome do arquivo
- conteúdo do documento (string): O PDF Arquivo com assinatura adicionada, codificado como Base64 corda
Como usar:
- Extraia o
docContentcampo do JSON resposta - Decifre o Base64 string para obter o binário PDF dados
- Salvar ou processar o PDF arquive conforme necessário
Exemplo (JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const pdfBytes = atob(data.docContent); // Decode Base64
// Save or process pdfBytes
Processamento assíncrono
Quando async: true está definido, o API processa a solicitação de forma assíncrona:
Código de status: 202 Accepted
Cabeçalhos de resposta:
Location: https://api.pdf4me.com/api/v2/SignPdf/poll/12345-abcde-67890
Processo de votação:
- Extraia o
Locationcabeçalho da resposta 202 - Faça a pesquisa URL usando GET solicitações
- Continue votando até receber um 200 OK status
- A resposta final contém o mesmo JSON formato com
docNameedocContent(Base64)
Exemplo de votação:
// Initial request returns 202 with Location header
const response = await fetch(url, options);
const location = response.headers.get('Location');
// Poll until complete
while (true) {
const pollResponse = await fetch(location, { headers: { 'Authorization': 'Basic ' + apiKey } });
if (pollResponse.status === 200) {
const data = await pollResponse.json();
// Process data.docContent (Base64 PDF)
break;
}
await new Promise(resolve => setTimeout(resolve, 2000)); // Wait 2 seconds
}
Respostas de erro
O API retorna padrão HTTP Códigos de erro com detalhes do erro:
- Parâmetros de solicitação inválidos
- Campos obrigatórios ausentes (
conteúdo do documento,nomeDoDocumento,arquivo de imagem,nome_da_imagem,alinharX,alinharY) - Inválido Base64 codificação em
conteúdo do documentoouarquivo de imagem - Valores de alinhamento inválidos (deve ser "Esquerda", "Centro", "Direita" para alinhamento X; "Superior", "Meio", "Inferior" para alinhamento Y)
- Valores de tamanho inválidos (a largura/altura deve estar dentro dos intervalos especificados)
- Valor de opacidade inválido (deve estar entre 0 e 100)
- Inválido ou ausente API chave
- API chave não está corretamente Base64 codificado em Authorization cabeçalho
- Ausente
Autorização: Básicacabeçalho
- Erro de processamento no servidor
- PDF falha de processamento
- Falha na adição de assinatura
Formato da resposta de erro:
{
"error": "Error message describing what went wrong"
}
Detalhes do formato da resposta
Importante: O API sempre retorna JSON, nunca binário PDF dados diretamente.
Estrutura da resposta:
{
"docName": "string", // Output PDF filename
"docContent": "string" // Base64-encoded PDF content
}
Content-Type Cabeçalho:
- Sucesso:
application/json - O PDF está incorporado como um Base64 string dentro do JSON resposta
Por que Base64?
- JSON-Codificação segura para dados binários
- Fácil de transmitir HTTP
- Compatível com todas as linguagens de programação.
- Pode ser incorporado diretamente em JSON sem escapar dos problemas
Decodificando Base64 para PDF:
JavaScript/Node.js:
const base64 = response.docContent;
const binary = atob(base64); // Browser
// OR
const binary = Buffer.from(base64, 'base64').toString('binary'); // Node.js
Python:
import base64
pdf_bytes = base64.b64decode(response['docContent'])
with open('output.pdf', 'wb') as f:
f.write(pdf_bytes)
C#:
byte[] pdfBytes = Convert.FromBase64String(response.docContent);
File.WriteAllBytes("output.pdf", pdfBytes);
Exemplo de solicitação
Cabeçalho
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
Observação:
- Adquira o seu API chave do PDF4me Painel
- O API a chave deve ser Base64 codificado e prefixado com "Básico" no Authorization cabeçalho
- Exemplo: Se o seu API chave é
abc123, codifique-o para Base64 e usarAuthorization: Basic YWJjMTIz
Carga útil
Exemplo básico (somente campos obrigatórios):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAA...",
"imageName": "signature.jpg",
"alignX": "Right",
"alignY": "Bottom"
}
Exemplo avançado (com todos os campos opcionais):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAA...",
"imageName": "signature.jpg",
"pages": "1-3",
"alignX": "Right",
"alignY": "Bottom",
"widthInMM": "50",
"heightInMM": "25",
"widthInPx": "142",
"heightInPx": "71",
"marginXInMM": "20",
"marginYInMM": "20",
"marginXInPx": "57",
"marginYInPx": "57",
"opacity": "100",
"showOnlyInPrint": true,
"isBackground": false,
"async": true
}
Exemplos de código
O PDF4me Sinal PDF REST API Fornece exemplos de código em várias linguagens de programação. Escolha a linguagem que melhor se adapta ao seu ambiente de desenvolvimento:
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
Java Amostra
Java Implementação com tratamento completo de erros e processamento de respostas:
JavaScript Amostra
Node.js e compatível com navegadores JavaScript Implementação:
Google Script Amostra
Google Apps Script implementação para Google Workspace integração:
PDF Recursos de assinatura
Controle de imagem de assinatura
- Suporte a formatos: JPG, PNG, GIF e outros formatos de imagem padrão
- Preservação da QualidadeMantém a qualidade e a resolução de imagem características em PDF saída
- Base64 CodificaçãoTransmissão segura de assinaturas através de Base64 codificação
- Tamanhos flexíveisOpções de dimensionamento baseadas em milímetros e em pixels:
- Aparência profissionalRenderização de assinatura de alta qualidade com visibilidade nítida.
Posicionamento e Layout
- Controle de alinhamentoOpções precisas de alinhamento horizontal e vertical.
- Configurações de margemPosicionamento baseado em milímetros e em pixels
- Colocação flexívelSuporte para qualquer posição e orientação da página.
- Segmentação de páginaAplicar a páginas específicas ou a documentos inteiros.
- Controle de tamanhoDimensões personalizáveis para um posicionamento ideal.
Recursos avançados
- Controle de opacidadeTransparência ajustável para assinaturas discretas ou em destaque.
- Modo de fundoOpção para colocar assinaturas atrás ou antes do conteúdo.
- Controle de impressãoConfigure as assinaturas para aparecerem apenas na versão impressa ou na tela.
- Resultados profissionaisCrie assinaturas que aprimorem a autenticação e a segurança dos documentos.
- Posicionamento flexívelControle o alinhamento horizontal e vertical com precisão perfeita de pixels.
Casos de uso e aplicações industriais
- Legal & Professional Services
- Finance & Banking
- Business & Enterprise
- Government & Compliance
Casos de uso de serviços jurídicos e profissionais
- Documentação LegalAplicar assinaturas a contratos legais, acordos e documentos oficiais.
- Assinatura de ContratoAssine contratos e acordos digitalmente para obter validade legal.
- Documentos judiciaisAplicar assinaturas digitais a petições judiciais e documentos legais.
- Requisitos de conformidadeAtender aos requisitos regulamentares para assinatura e autenticação de documentos.
Casos de uso em finanças e bancos
- Assinatura de faturaAssinar faturas e ordens de compra digitalmente
- Documentos financeirosAplicar assinaturas a relatórios e demonstrações financeiras.
- Documentos de empréstimoAssinar contratos de empréstimo e documentos financeiros digitalmente
- Conformidade regulatóriaCumprir os requisitos regulamentares para a assinatura de documentos financeiros.
Casos de uso para empresas e negócios
- Fluxos de trabalho empresariaisAssinar faturas, ordens de compra e documentos comerciais digitalmente.
- Autenticação de DocumentosAdicione assinaturas digitais a documentos PDF para autenticação e verificação.
- Geração de relatóriosAdicionar assinaturas a relatórios gerados e documentos oficiais.
- Documentação CorporativaAssinar documentos corporativos e comunicações oficiais.
Casos de uso para governo e conformidade
- Requisitos de conformidadeAtender aos requisitos regulamentares para assinatura e autenticação de documentos.
- Documentos governamentaisAplicar assinaturas digitais a documentos e formulários governamentais.
- Documentação regulamentarAssinar documentos regulamentares e de conformidade digitalmente
- Registros PúblicosAplicar assinaturas a registros públicos e documentos oficiais.