Visualize arquivos do Word, PPT e Excel diretamente no navegador com o WebOffice, sem a necessidade de baixe.
Casos de uso
Bases de conhecimento corporativas ou sistemas de gerenciamento de documentos: faça o upload e a conversão de arquivos para o formato web, permitindo uma visualização rápida e segura, sem a necessidade de baixe.
Plataformas de educação online: visualize materiais de cursos, anotações de aulas e tarefas em tempo real para melhorar a colaboração.
Ferramentas de colaboração e gerenciamento de projetos: acesse planos, designs e relatórios compartilhados diretamente no navegador.
Tipos de arquivo suportados
|
Tipo de arquivo |
Extensão do arquivo |
|
Word |
doc, .dot, .wps, .wpt, .docx, .dotx, .docm, .dotm, .rtf |
|
PPT |
ppt, .pptx, .pptm, .ppsx, .ppsm, .pps, .potx, .potm, .dpt, .dps |
|
Excel |
xls, .xlt, .et, .xlsx, .xltx, .csv, .xlsm, .xltm |
|
|
|
Observações de uso
O acesso entre regiões não é recomendado. A visualização de um objeto de uma região diferente pode causar alta latência, falhas na visualização ou conexões instáveis. Para obter o melhor desempenho e estabilidade, acesse os buckets a partir de sua própria região.
A visualização online do WebOffice suporta apenas processamento síncrono com o parâmetro
x-oss-process.-
A visualização online do WebOffice deve ser iniciada a partir do seu service de backend, que chama o SDK do OSS para gerar uma URL assinada. Não inicialize o SDK do OSS diretamente no código de frontend e não construa URLs de visualização diretamente usando parâmetros HTTP GET não assinados: o SDK
ali-ossrequer umaccessKeyIde umaccessKeySecrete, em um ambiente de frontend, essas credenciais podem ser visualizadas e roubadas por meio doDevToolsdo navegador. O acesso direto a uma URL de objeto do OSS com parâmetros GET não assinados é negado e retorna um erro 403AccessDenied; o mecanismo de assinatura garante a legitimidade do acesso e evita que acessos não autorizados gerem cobranças descontroladas de processamento de dados. A URL assinada gerada pelo seu service de backend pode ser usada diretamente no navegador. Ela inclui os parâmetrosOSSAccessKeyId,ExpireseSignature, possui um tempo de expiração e se torna inválida automaticamente após esse período.Signature
Como usar
Pré-requisitos
No OSS, crie um bucket, upload the Office document ao bucket e attach an Intelligent Media Management (IMM) project ao bucket. O projeto IMM deve estar na mesma região que o bucket.
-
Attach a custom domain name to the default domain name of the bucket. Os arquivos só podem ser visualizados quando acessados por meio do nome de domínio personalizado.
NotaSe você encontrar um erro de lista de permissões do WebView, entre em contato com o suporte do IMM por meio do grupo 88490020073 no DingTalk. Forneça seu arquivo de validação de domínio confiável do WeChat para a configuração da lista de permissões.
Gerar uma URL de visualização
Gere uma URL assinada que inclua o parâmetro x-oss-process=doc/preview e, em seguida, abra a URL em um navegador e visualize o objeto. Selecione a guia do SDK que você utiliza.
Java
Requer o SDK do Java 3.17.4 ou posterior (Instale).
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Python
Requer o SDK do Python 2.18.4 ou posterior (Instale (Python SDK V1)).
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Go
Requer o SDK do Go 3.0.2 ou posterior (Instale OSS Go SDK).
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Node.js
Requer o SDK do Node.js 8,0 ou posterior (Instale).
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
PHP
Requer o SDK do PHP 2.7.0 ou posterior (Instale).
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Exemplo de URL assinada:
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Abra esta URL em um navegador e visualize o documento.
Parâmetros
Ação: doc/preview
Os parâmetros a seguir são suportados.
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
int |
Não |
Especifique se a impressão é permitida. Valores válidos:
|
|
copy |
int |
Não |
Especifique se a cópia é permitida. Valores válidos:
|
|
export |
int |
Não |
Especifique se a exportação para PDF é permitida. Valores válidos:
|
|
maxpage |
int |
Não |
O número máximo de páginas a serem renderizadas. O valor deve ser um número inteiro maior que 0. |
|
watermark |
string |
Não |
Parâmetros de marca d'água. |
|
text |
string |
Não |
O texto da marca d'água, codificado em Base64 seguro para URL de acordo com a especificação Watermark encoding. Use um codificador base64url ou bash. Nó pai: watermark |
|
size |
int |
Não |
O tamanho da fonte do texto da marca d'água. O valor deve ser um número inteiro maior que 0. Nó pai: watermark |
|
t |
int |
Não |
A transparência do texto da marca d'água. Valores válidos: 0 a 100. Valor padrão: 100 (opaco). Nó pai: watermark |
|
color |
string |
Não |
A cor do texto da marca d'água. O valor é um valor de cor RGB. Valor padrão: #FFFFFF. Exemplos: #000000 indica preto e #FFFFFF indica branco. Nó pai: watermark |
|
rotate |
int |
Não |
O ângulo de rotação do texto no sentido horário. Valores válidos: 0 a 360. Valor padrão: 0 (sem rotação). Nó pai: watermark |
|
type |
string |
Não |
A fonte da marca d'água, codificada em Base64 seguro para URL de acordo com a especificação Watermark encoding. Use um codificador base64url. Há suporte para as seguintes fontes:
Nó pai: watermark |
Operações de API relacionadas
Os exemplos de SDK acima encapsulam chamadas de API REST. Para acesso direto à API, calcule a assinatura manualmente usando Signature V4 (recommended).
Informações de visualização
Documento a ser visualizado: example.docx
Páginas a serem visualizadas: as 3 primeiras páginas do documento
-
Informações de marca d'água para as páginas de visualização:
Tipo de marca d'água: marca d'água de texto
Texto da marca d'água: Material Interno
Tamanho da fonte: 30
Transparência: 60
Permissões para as páginas de visualização: permitir que os usuários copiem, exportem e imprimam
Exemplo de processamento
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Permissões
Uma conta Alibaba Cloud tem permissões totais por padrão. Os usuários e funções do RAM não possuem permissões e devem receber acesso concedido pelo proprietário ou administrador da conta por meio de uma RAM policy ou bucket policy.
|
Operação de API |
Ação |
Descrição |
|
GetObject |
|
Baixar um objeto |
|
|
Necessário. Especifique um versionId para baixar uma versão específica do objeto. |
|
|
|
Necessário quando os metadados do objeto contêm X-Oss-Server-Side-Encryption: KMS. |
|
Operação de API |
Ação |
Descrição |
|
Nenhuma |
|
Use o IMM por meio do OSS para processamento de dados. |
|
Operação de API |
Ação |
Descrição |
|
GenerateWebofficeToken |
|
Obter uma credencial do WebOffice. |
imm:GenerateWebofficeToken
|
RefreshWebofficeToken |
|
Atualizar uma credencial do WebOffice. |
imm:RefreshWebofficeToken
Faturamento
A visualização online do WebOffice gera as seguintes cobranças. As tarifas estão listadas em OSS Pricing e Billable items.
|
API |
Item faturável |
Descrição |
|
GetObject |
Requisições GET |
Você é cobrado pelas taxas de requisição com base no número de requisições bem-sucedidas. |
|
Tráfego de saída pela Internet |
Se você chamar a operação GetObject usando um endpoint público HTTP, como oss-cn-hangzhou.aliyuncs.com, ou um endpoint de aceleração, como oss-accelerate.aliyuncs.com, será cobrado pelo tráfego de saída pela Internet com base no tamanho dos dados. |
|
|
Recuperação de objetos IA |
Se objetos IA forem recuperados, você será cobrado pelas taxas de recuperação de dados IA com base no tamanho dos dados IA recuperados. |
|
|
Recuperação de objetos Archive em um bucket com acesso em tempo real ativado |
Se você recuperar objetos Archive em um bucket com acesso em tempo real ativado, será cobrado pelas taxas de recuperação de dados Archive com base no tamanho dos objetos Archive recuperados. |
|
|
Taxas de aceleração de transferência |
Ative a aceleração de transferência e, ao usar um endpoint de aceleração para acessar seu bucket, você será cobrado pelas taxas de aceleração de transferência com base no tamanho dos dados. |
|
API |
Item faturável |
Descrição |
|
GenerateWebofficeToken |
DocumentWebofficePreview |
Você é cobrado pelas taxas de processamento de documentos com base no número de chamadas de API. Importante
A visualização online de um documento é cobrada com base no número de vezes que o documento é aberto para projetos criados antes de 1º de dezembro de 2023, e com base no número de chamadas de API para projetos criados a partir dessa data. |
|
RefreshWebofficeToken |
Perguntas frequentes
Posso visualizar animações e vídeos em PPTs dinâmicos?
Sim. O tamanho máximo de arquivo suportado é de 200 MB.
Posso visualizar arquivos de imagem?
Não. A visualização online do WebOffice não suporta arquivos de imagem. No entanto, arquivos de imagem (como JPG, PNG e GIF) podem ser visualizados diretamente no navegador usando a URL do objeto, sem a necessidade de chamar o SDK de visualização de documentos online. Se uma imagem for forçada a baixar em vez de ser visualizada, verifique as configurações Content-Disposition e Content-Type da resposta. Para mais informações, consulte How do I configure the preview behavior when I access OSS objects?.
Ative o CDN. Após isso, um erro é relatado ao gerar uma URL assinada para um documento: Either the Signature query string parameter or the Authorization header should be specified, not both.
Quando a busca na origem (origin fetch) está ativada para um bucket privado com um projeto IMM anexado, o acesso ao domínio CDN não requer assinaturas adicionais. Configure da seguinte forma:
Conceda as permissões
oss:ProcessImm,imm:GenerateWebofficeTokeneimm:RefreshWebofficeTokenà função padrão do CDNAliyunCDNAccessingPrivateOSSRole.-
Acesse o recurso usando uma URL que não contenha informações de assinatura.
Por exemplo, use uma URL no seguinte formato para utilizar o recurso de visualização de documentos online:
http://cdn.example.info/demo.ppt?x-oss-process=doc/preview,export_1,print_1
Por que a visualização de um arquivo xlsx aciona um baixe em vez de uma visualização?
Se você usar parâmetros específicos de formato, como pdf/preview, xls/preview ou xlsx/preview, no parâmetro x-oss-process para visualização de documentos online, o OSS os tratará como parâmetros inválidos. O OSS então ignora o processamento de visualização, retorna o arquivo original e adiciona um cabeçalho Content-Disposition: attachment, o que faz com que o navegador baixe o arquivo em vez de visualizá-lo online.
x-oss-process
xlsx/preview
Para corrigir isso, use sempre a operação doc/preview para a visualização de documentos, independentemente do formato do arquivo:
x-oss-process=doc/preview,export_1,print_1/watermark,text_<watermark_content>,size_30,t_60
Antes de usar esta operação, certifique-se de que o IMM (Intelligent Media Management) esteja ativado e vinculado ao bucket.