Dividir documento - Divisão de documento API
PDF4me Dividir documento Permite dividir documentos do Word em vários documentos menores com opções flexíveis de divisão e controle de configuração abrangente. API O serviço processa arquivos do Word e os divide por páginas, seções, títulos ou intervalos de páginas personalizados, com controle total sobre os critérios de divisão, nomenclatura dos documentos e organização da saída. API recebe conteúdo de documento Word através de REST API chamadas, utilizando Base64 Codificação para transmissão segura. Com suporte para divisão baseada em páginas, divisão baseada em seções, separação baseada em títulos e intervalos de páginas personalizados, esta solução é ideal para gerenciamento de documentos, distribuição de conteúdo e automação de fluxo de trabalho.
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
- Vários tipos de divisãoDividir por páginas, seções, títulos ou intervalos personalizados.
- Suporte a intervalos de páginasDividir com base em números de página ou intervalos específicos
- Divisão baseada em seçõesDivida o documento após cada seção do Word.
- Divisão baseada em títulosDivida o documento após cada título do estilo especificado (por exemplo, Título 1, Título 2)
- Configuração flexívelCritérios de divisão personalizados com o parâmetro splitConfig
- Nomes de documentos exclusivosCada documento dividido recebe um nome de arquivo GUID exclusivo.
- Preservação de FormatoMantém a formatação e a estrutura originais do documento.
- Apoio à CulturaProcessamento de documentos específico para cada localidade
REST API Ponto final
O PDF4me REST API usa padrão HTTP Métodos para interagir com recursos. Todas as operações de divisão de documentos são realizadas por meio de um único ponto de extremidade:
- Método: POST
- Ponto final:
office/ApiV2Word/SplitDocument
REST API Parâmetros
Lista completa de parâmetros para o documento dividido. 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.
splitConfigO parâmetro é necessário quandosplitTypeé "array", "numberofpages" ou "headings".
Parâmetros obrigatórios
| Parâmetro | Tipo | Descrição | Exemplo |
|---|---|---|---|
| documento* | Object | Referência do documento. Deve conter Nome (string): Nome do arquivo Word com extensão .docx. Usado para referência e processamento. | { "Name": "document.docx" } |
| conteúdo do documento* | Base64 | Conteúdo do documento Word codificado em Base64O documento é dividido com base em critérios específicos. Deve ser um documento Word válido (formatos .docx ou .doc). | base64EncodedDocumentContent |
Parâmetros opcionais
| Parâmetro | Tipo | Descrição | Exemplo |
|---|---|---|---|
| splitType | String | Tipo de divisão de documentos. Opções: allpages - Dividir em páginas individuais (padrão), array - Dividir por intervalos de páginas explícitos (por exemplo, "1-3,4,5-7"), numberofpages - Dividir após cada N páginas (configuração: número inteiro positivo como "3" ou "5"), section - Dividir o documento após cada seção, headings - Divida o documento após cada título do estilo especificado (ex.: "Título 1"). Cada documento dividido recebe um nome único. GUID nome do arquivo | "allpages" |
| splitConfig | String | Configuração para divisão. Para matrizIntervalos de páginas como "1-3,4,5-7" (páginas 1-3, página 4, páginas 5-7) ou páginas individuais "1,3,5". Para número de páginasUm número inteiro positivo como "3" ou "5": divide a cada N páginas. Para títulosNome do estilo do título, como "Título 1" ou "Título 2". Obrigatório quando splitType é "array", "numberofpages" ou "headings". A numeração das páginas começa em 1. A correspondência de títulos não diferencia maiúsculas de minúsculas. | "1-3,4,5-7" ou "3" ou "Heading 1" |
| nome_da_cultura | String | Código de cultura para processamento de documentos (por exemplo, "en-US", "de-DE", "fr-FR"). Padrão: "en-US". Afeta o idioma e a formatação do documento. Usado para metadados e tratamento de localização. | en-US |
Opções de tipo dividido
O API Oferece diferentes tipos de divisão para o processamento de documentos:
| Tipo dividido | Descrição | Requer splitConfig | Caso de uso |
|---|---|---|---|
| allpages | Dividir em páginas individuais (padrão) | Não | Extraia cada página como um documento separado. |
| array | Dividir por intervalos de páginas explícitos. Cada intervalo separado por vírgulas torna-se um documento (ex.: "1-3,4,5-7" → 3 documentos) | Sim | Crie documentos a partir de intervalos de páginas específicos ou páginas individuais. |
| numberofpages | Dividir a cada N páginas. A divisão ocorre sequencialmente: cada N páginas formam um documento; o restante constitui o último documento. | Sim | Divida em partes de tamanho igual (por exemplo, a cada 3 ou 5 páginas). |
| section | Divida o documento após cada seção do Word | Não | Um documento por seção |
| headings | Divida o documento após cada título do estilo especificado (por exemplo, "Título 1"). | Sim | Extraia capítulos ou partes por nível de título. |
Exemplos de configuração dividida
Compreender a configuração de divisão ajuda a otimizar seus fluxos de trabalho de divisão de documentos:
array: intervalos de páginas explícitos
"1-3,4,5-7"→ 3 documentos: páginas 1-3, página 4, páginas 5-7"1,3,5"→ 3 documentos: página 1, página 3, página 5"1-5,6-10"→ 2 documentos: páginas 1-5, páginas 6-10
numberofpages: dividir após cada N páginas
Comportamento: Divide-se sequencialmente a cada N páginas.
Configuração: Obrigatório, o formato é um único número inteiro positivo (por exemplo, 1000). "3", "5").
Exemplos:
- Configuração
"3"Em um documento de 10 páginas → 4 documentos: Documento 1: páginas 1-3, Documento 2: páginas 4-6, Documento 3: páginas 7-9, Documento 4: página 10 - Configuração
"5"Em um documento de 12 páginas → 3 documentos: Documento 1: páginas 1-5, Documento 2: páginas 6-10, Documento 3: páginas 11-12
headings: dividir após cada cabeçalho
"Heading 1", um documento por bloco que termina no próximo Título 1 (ou no final do documento)"Heading 2", um documento por bloco que termina no próximo Título 2 (ou no final do documento)- correspondência que não diferencia maiúsculas de minúsculas
section
Nenhuma configuração necessária. O documento é dividido após cada quebra de seção do Word; cada seção se torna um documento separado.
Saída
O PDF4me Dividir documento REST API retorna o resultado da divisão como JSON. O API Retorna um único documento na resposta (o primeiro documento dividido), com campos de resposta padrão.
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
Processamento síncrono (padrão)
O API Processa a solicitação e retorna o primeiro documento dividido:
Código de status: 200 OK
Tipo de conteúdo: application/json
Corpo da resposta:
{
"document": "UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC...",
"fileName": "a1b2c3d4-e5f6-7890-abcd-ef1234567890.docx",
"success": true,
"errorMessage": null
}
Campos de resposta:
- documento (string): O primeiro conteúdo do documento dividido, codificado como Base64 corda
- nome_do_arquivo (string): Nome do arquivo gerado para o documento dividido (GUID-baseado)
- sucesso (boolean): Indica se a solicitação foi bem-sucedida
- mensagem de erro (string ou nulo): Detalhes do erro quando o sucesso for falso
Como usar:
- Extraia o
documentcampo do JSON resposta (Base64) - Decifre o Base64 string para obter os dados binários do documento Word
- Use o
fileNamepara salvar o documento dividido
Exemplo (JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const wordBytes = atob(data.document); // Decode Base64
// Save with data.fileName or custom name
Processamento assíncrono
Comportamento assíncrono (202 Accepted (com polling) é controlado pela configuração do servidor, não por um parâmetro no corpo da requisição. Quando habilitado, o API pode retornar um status 202 com uma pesquisa URL no Location cabeçalho. Consulte o URL com GET Faça solicitações até receber 200. OK com o mesmo formato de resposta (documento, nome do arquivo, sucesso, mensagem de erro).
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 (
documentocomNome,conteúdo do documento) - Configuração de divisão inválida fornecida
splitConfigé necessário quandosplitTypeé "array", "numberofpages" ou "headings"- Inválido Base64 codificação em
conteúdo do documento - Documento do Word inválido ou corrompido
- Nenhum cabeçalho encontrado no documento (para divisão baseada em cabeçalhos)
- Intervalo de páginas inválido especificado (os números de página excedem a quantidade de páginas do documento)
- Tipo de divisão inválido
- 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
- falha no processamento do documento Word
- Erro ao dividir o documento
- Erro ao carregar o documento a partir de bytes
- Erro ao converter o documento em bytes
Formato da resposta de erro:
{
"error": "Error message describing what went wrong"
}
Detalhes do formato da resposta
Importante: O API sempre retorna JSON com uma variedade de documentos, nunca dados binários do Word diretamente.
Estrutura da resposta:
{
"document": "string", // Base64-encoded Word document content (first split)
"fileName": "string", // GUID-based filename (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890.docx")
"success": true,
"errorMessage": "string or null"
}
Cabeçalho Content-Type:
- Sucesso:
application/json - O documento dividido 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 documento do Word:
JavaScript/Node.js:
const base64 = response.document;
const binary = atob(base64); // Browser
// OR
const binary = Buffer.from(base64, 'base64'); // Node.js
// Save with response.fileName or custom name
Python:
import base64
response_data = response.json()
word_bytes = base64.b64decode(response_data['document'])
filename = response_data['fileName']
with open(filename, 'wb') as f:
f.write(word_bytes)
C#:
byte[] wordBytes = Convert.FromBase64String(response.document);
File.WriteAllBytes(response.fileName, wordBytes);
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 (Dividir todas as páginas - Padrão):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "allpages"
}
Exemplo de intervalo de páginas (matriz):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "array",
"splitConfig": "1-3,4,5-7"
}
Exemplo de divisão a cada N páginas (número de páginas):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "numberofpages",
"splitConfig": "3"
}
Exemplo baseado em títulos (dividido após cada título):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "headings",
"splitConfig": "Heading 1",
"cultureName": "en-US"
}
Exemplo baseado em seções (dividido após cada seção):
{
"document": { "Name": "document.docx" },
"docContent": "base64EncodedDocumentContent",
"splitType": "section",
"cultureName": "en-US"
}
Exemplos de código
O PDF4me Dividir documento 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:
Casos de uso e aplicações industriais
- Legal & Professional Services
- Business & Enterprise
- Education & Research
- Finance & Banking
Casos de uso de serviços jurídicos e profissionais
- Gestão de ContratosDividir contratos com múltiplas partes em seções individuais
- Documentação do casoExtrair páginas específicas de arquivos de casos
- Relatórios de ConformidadeDistribua as seções relevantes para os diferentes departamentos.
- Pesquisa JurídicaDividir documentos jurídicos extensos por tópico ou seção
Casos de uso para empresas e negócios
- Distribuição do relatórioDividir relatórios por seção para diferentes partes interessadas
- Gestão de PropostasExtrair seções para entregáveis específicos do cliente
- Documentação internaDivida os manuais por tópico ou departamento.
- Organização de ArquivosCriar blocos lógicos de documentos para armazenamento e recuperação.
Casos de uso em educação e pesquisa
- Materiais curricularesDividir livros didáticos em capítulos individuais
- Registros de alunosExtrair páginas específicas para diferentes departamentos acadêmicos
- Artigos de pesquisaDividir artigos extensos por seção para revisão por pares.
- Documentação médica e de pesquisaDividir documentos de pesquisa ou clínicos por metodologia ou seção
Casos de uso em finanças e bancos
- Relatórios financeirosDistribua seções específicas para diferentes partes interessadas.
- Documentação de auditoriaExtrair páginas relevantes para diferentes áreas de auditoria
- Conformidade regulatóriaDividir documentos de conformidade por tipo de regulamentação
- Avaliação de riscoDistribuir as seções de risco para as equipes apropriadas.