Converter documentos para formatos diferentes
🤖/document/convert converte documentos em diferentes formatos.

Este Robot pode converter arquivos para PDF, mas não pode converter PDFs para outros formatos. Se você quiser converter PDFs para, por exemplo, JPEG ou TIFF, use 🤖/image/resize. Se quiser transformá-los em arquivos de texto ou aplicar reconhecimento de texto (OCR) para torná-los pesquisáveis, entre em contato, pois estamos desenvolvendo um novo Robot para isso.
Às vezes, um determinado tipo de arquivo pode não ser compatível com o que você está tentando fazer. Talvez sua empresa esteja tentando automatizar a formatação de documentos, mas a automação só funcione com docx, então todos os seus documentos precisam ser convertidos. Ou talvez seus arquivos jpg armazenados estejam ocupando muito espaço e você queira um formato mais leve. Seja qual for o caso, temos uma solução para você.
Com este Robot, você pode contornar os problemas que certos tipos de arquivo podem causar, convertendo seu arquivo para o formato mais adequado. Ele também funciona em conjunto com nossos outros Robots, permitindo ainda mais versatilidade ao usar nossos serviços.
Uma regra geral deste Robot é que converter arquivos para uma categoria de formato incompatível resultará em erro. Por exemplo, arquivos SRT podem ser convertidos para o formato VTT (e vice-versa), mas não para uma imagem.
É possível converter arquivos a partir dos seguintes formatos:
aicsvdocdocxepsgifhtmljpglatexmdodaoddodtottpngpotppspptpptxppzpsrtfrtxsrtsvgtexttxtvttxhtmlxlaxlsxlsxxml
Exemplo de uso
Converter arquivos enviados por upload em documentos PDF:
{
"steps": {
"converted": {
"format": "pdf",
"robot": "/document/convert",
"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
format— obrigatórioai | csv | doc | docx | eps | gif | html |O formato desejado para a conversão do documento.
markdown_formatcommonmark | gfm(padrão:"gfm")Markdown pode ser representado em diversas variantes, por isso, ao usar este Robot para transformar Markdown em HTML, especifique qual revisão está sendo usada.
markdown_themebare | github(padrão:"github")Este parâmetro reformula o estilo dos seus arquivos Markdown com base em várias predefinições prontas.
pdf_marginstring(padrão:"6.25mm,6.25mm,14.11mm,6.25mm")Margens do papel do PDF, separadas por
,e com unidades.Aceitamos os seguintes valores de unidade:
px,in,cm,mm.Atualmente, este parâmetro só é compatível com a conversão a partir de
html.pdf_print_backgroundboolean(padrão:true)Imprime os elementos gráficos de fundo do PDF.
Atualmente, este parâmetro só é compatível com a conversão a partir de
html.pdf_formatA0 | A1 | A2 | A3 | A4 | A5 | A6 |(padrão:"Letter")Formato do papel do PDF.
Atualmente, este parâmetro só é compatível com a conversão a partir de
html.pdf_display_header_footerboolean(padrão:false)Exibe o cabeçalho e o rodapé do PDF.
Atualmente, este parâmetro só é compatível com a conversão a partir de
html.pdf_header_templatestringModelo HTML para o cabeçalho de impressão do PDF.
Deve ser uma marcação HTML válida com as seguintes classes, usadas para inserir os valores de impressão:
datedata de impressão formatadatitletítulo do documentourllocalização do documentopageNumbernúmero da página atualtotalPagestotal de páginas do documento
Atualmente, este parâmetro só é compatível com a conversão a partir de
htmle exige quepdf_display_header_footeresteja habilitado.Para alterar a formatação do elemento HTML, é necessário especificar
font-sizeem um elemento contêiner. Por exemplo, para centralizar o número da página no topo de uma página, você usaria o seguinte HTML como modelo de cabeçalho:<div style="font-size: 15px; width: 100%; text-align: center;"><span class="pageNumber"></span></div>pdf_footer_templatestringModelo HTML para o rodapé de impressão do PDF.
Deve usar o mesmo formato de
pdf_header_template.Atualmente, este parâmetro só é compatível com a conversão a partir de
htmle exige quepdf_display_header_footeresteja habilitado.Para alterar a formatação do elemento HTML, é necessário especificar
font-sizeem um elemento contêiner. Por exemplo, para centralizar o número da página no rodapé, você usaria o seguinte HTML como modelo de rodapé:<div style="font-size: 15px; width: 100%; text-align: center;"><span class="pageNumber"></span></div>