Extrair texto e imagens incorporadas
🤖/document/extract extrai texto e imagens incorporadas de documentos PDF.

Extrai texto nativo/selecionável e imagens rasterizadas incorporadas de documentos PDF.
Este Robot não renderiza páginas inteiras. Se precisar de imagens das páginas, use /document/thumbs. Elementos gráficos vetoriais, gráficos e fundos de página nem sempre são imagens rasterizadas incorporadas e, por isso, podem não ser retornados por este Robot.
Exemplo de uso
Extrair texto nativo e imagens rasterizadas incorporadas de um documento PDF:
{
"steps": {
"extracted": {
"extract": [
"text",
"images"
],
"robot": "/document/extract",
"text_method": "native",
"use": ":original"
}
}
}Parâmetros
interpolateboolean | Record<string, boolean>Controla se as Assembly Variables são interpoladas em campos individuais de instruções.
Por padrão, a maioria dos campos de instruções dos Robots interpola Assembly Variables. Defina isso como
falsepara tratar todos os campos de instruções como texto literal, ou defina o caminho de um campo individual comofalsepara tratar apenas esse campo como texto literal. Para campos específicos de um Robot que são literais por padrão, defina isso comotrueou defina o caminho desse campo comotruepara voltar a usar a interpolação.Use nomes de campos como
pathou caminhos com pontos comoffmpeg.vfpara objetos aninhados.output_metaRecord<string, boolean> | boolean | Array<string>Permite especificar um conjunto de metadados cujo cálculo exige mais CPU e que, por isso, vem desativado por padrão para manter o processamento das suas Assemblies rápido.
Para imagens, você pode adicionar
"has_transparency": trueneste objeto para extrair se a imagem contém partes transparentes e"dominant_colors": truepara extrair um array de códigos de cores hexadecimais da imagem.Para imagens, você também pode adicionar
"blurhash": truepara extrair uma string BlurHash — uma representação compacta de um placeholder da imagem, útil para exibir uma prévia desfocada enquanto a imagem completa carrega.Para vídeos, você pode adicionar o parâmetro
"colorspace": truepara extrair o espaço de cores do vídeo de saída.Para vídeos, você também pode adicionar
"interlaced": truepara detectar se o vídeo é entrelaçado. Isso combina a flag computacionalmente baratafield_orderdo ffprobe com uma passagem de amostragemidetlimitada sobre os primeiros quadros da origem, expondointerlaced,field_ordere um objeto de diagnósticointerlace_detectionemfile.meta. Isso é computacionalmente caro e cobrado de acordo.Para áudio, você pode adicionar
"mean_volume": truepara obter um único valor que representa o volume médio do arquivo de áudio.Você também pode definir isso como
falsepara pular a extração de metadados e acelerar a transcodificação.user_metaRecord<string, any>(padrão:{})Adiciona metadados JSON personalizados a cada arquivo emitido sem modificar seu conteúdo. Objetos e arrays aninhados são suportados.
A herança depende do Robot. Os valores são mesclados com o
user_metaexistente no arquivo de saída; o Step atual substitui as chaves de nível superior com o mesmo nome. Atribua explicitamente as chaves necessárias quando um Robot criar novas saídas.Nos Steps de processamento,
${file.*}se refere à primeira entrada e${result.*}ao arquivo emitido. Os valores são avaliados para cada saída após a execução do Robot, antes da extração subsequente de metadados e do armazenamento temporário. Em:original, os valores são avaliados para cada upload antes da extração de metadados.Os Steps subsequentes leem
${file.user_meta.key}. Consulte Metadados personalizados para ver um exemplo completo e as regras de herança.resultboolean(padrão:false)Se os resultados deste Step devem estar presentes no Assembly Status JSON
queuebatchDefinir a fila como “batch” rebaixa manualmente a prioridade dos Jobs deste Step, para evitar o consumo de vagas prioritárias de Jobs em Jobs que não precisam de tempo zero de espera na fila
force_acceptboolean(padrão:false)Forçar um Robot a aceitar um tipo de arquivo que ele teria ignorado.
Por padrão, os Robots ignoram arquivos que não conhecem. O 🤖/video/encode, por exemplo, ignora tranquilamente imagens de entrada.
Com o parâmetro
force_acceptdefinido comotrue, você pode forçar os Robots a aceitar todos os arquivos enviados a eles. Isso normalmente leva a erros e só deve ser usado para depuração ou para lidar com casos extremos.ignore_errorsboolean | Array<meta | execute>(padrão:[])Ignorar erros durante fases específicas do processamento.
Definir isso como
["meta"]fará com que o Robot ignore erros durante a extração de metadados.Definir isso como
["execute"]fará com que o Robot ignore erros durante a fase principal de execução.Definir isso como
trueequivale a["meta", "execute"]e fará com que erros sejam ignorados nas duas fases.usestring | Array<string> | Array<object> | objectEspecifica quais Steps usar como entrada.
- Você pode escolher qualquer nome para os Steps, exceto
":original"(reservado para uploads de usuários tratados pela Transloadit) - Você pode fornecer vários Steps como entrada usando arrays:
{ "use": [ ":original", "encoded", "resized" ] } - Você também pode marcar os Steps de entrada com
aspara transmitir intenção semântica aos Robots:{ "use": [ { "name": ":original", "as": "image" }, { "name": ":original", "as": "mask" } ] }
DicaProvavelmente é tudo o que você precisa saber sobre
use, mas você pode ver os casos de uso avançados.- Você pode escolher qualquer nome para os Steps, exceto
extracttext | images | Array<text | images>(padrão:["text","images"])Seleciona quais recursos extrair. Use
["text"],["images"]ou["text", "images"].page_rangestringSeleção opcional de páginas separada por vírgulas, como
"1","1-3"ou"1,3-5". A numeração das páginas começa em 1. Os intervalos são limitados ao total de páginas detectado.São permitidas no máximo 1.000 páginas selecionadas por Job.
Este parâmetro é compatível com a extração de texto nativo e a extração de imagens incorporadas. Atualmente, a extração por OCR trabalha com o documento inteiro.
passwordstringSenha usada para desbloquear PDFs criptografados para extração de texto nativo e extração de imagens incorporadas. Atualmente, a extração por OCR não é compatível com PDFs criptografados, portanto não combine este parâmetro com
text_method: "ocr"outext_method: "auto".text_methodnative | ocr | auto(padrão:"native")Controla como o texto é extraído.
"native"extrai localmente o texto selecionável do PDF com o Poppler. Isso é rápido, mas retorna pouco ou nenhum texto para PDFs digitalizados."ocr"delega a extração a/document/ocre exigeocr_provider."auto"tenta primeiro a extração nativa e recorre ao OCR quando nenhum texto nativo é encontrado. Isso também exigeocr_provider.
Atualmente, os modos de OCR não podem ser combinados com
password.ocr_provideraws | gcpProvedor de OCR a usar quando
text_methodfor"ocr"ou"auto". Os valores válidos são"aws"e"gcp".text_formattxt | json(padrão:"txt")Formato de saída do texto extraído. Use
"txt"para texto simples ou"json"para saída estruturada.text_granularitydocument | page(padrão:"document")Controla o agrupamento da saída de texto na extração nativa.
"document"cria um resultado de texto para as páginas selecionadas."page"cria um resultado de texto por página selecionada.
Atualmente, a granularidade por página só é compatível com
text_method: "native".image_formatauto | original | png | jpg(padrão:"auto")Formato de saída das imagens rasterizadas incorporadas extraídas.
"auto"e"original"preservam o formato da imagem incorporada sempre que possível."png"solicita ao Poppler que decodifique as imagens como PNG."jpg"converte as imagens extraídas que não estão em JPEG por meio de/image/resize.
min_image_widthstring | number(padrão:0)Largura mínima em pixels para as imagens extraídas. Imagens menores são ignoradas. Defina como
0para desabilitar este filtro.min_image_heightstring | number(padrão:0)Altura mínima em pixels para as imagens extraídas. Imagens menores são ignoradas. Defina como
0para desabilitar este filtro.min_image_bytesstring | number(padrão:0)Tamanho mínimo de arquivo em bytes para as imagens extraídas. Imagens menores são ignoradas.
dedupe_imagesboolean(padrão:true)Quando habilitado, arquivos de imagem extraídos idênticos são retornados apenas uma vez.
include_image_masksboolean(padrão:false)Quando habilitado, o Robot também mantém os arquivos de máscara de imagem quando o Poppler os disponibiliza como arquivos separados.