HE:labs

Postado por Rodrigo Reginato Marques em 06/05/2013

Incorpore documentos em sua aplicação com Crocodoc

O Crocodoc é uma forma fácil de embutir documentos na sua aplicação protegendo-os de download e CTRL + C/ CTRL + V. É possível adicionar comentários no texto, criar um thumbnail de qualquer arquivo doc, xls e pdf. E ainda, pode-se adicionar uma marca d'água no documento, protegendo-o de print screen. Para fazer essa integração é necessário fazer um cadastro no site do crocodoc para conseguir o token. E em seguida, o acesso ao dashboard para acompanhar o gráfico com os uploads dos documentos.

O token é necessário para fazer qualquer transação com a API do crocodoc. Ele se parece com o exemplo abaixo:

1 token: A7s7BwvDKOp@nqtYmQfPyLNx

Dashboard:

image

Será usado o crocodoc-ruby, a gem oficial indicada no site do crocodoc.

Para fazer o upload dos documentos é bem fácil! Basta usar as 2 linhas de código abaixo: (Explicarei mais adiante sobre o path do arquivo.)

1 Crocodoc.api_token = "A7s7BwvDKOp@nqtYmQfPyLNx"
2 uid = Crocodoc::Document.upload(path_do_arquivo)

É gerado um uid que através dele será possível acessar o documento mais tarde. Portanto, grave esse uid para cada arquivo que for feito upload.

Existem 2 formas de visualizar o documento: por Iframe ou pela API via javascript. Nesta, tive alguns problemas com o layout. Toda vez que um usuário for visualizar um arquivo é necessário gerar uma sessão específica do crocodoc. Lembrando que cada sessão é válida por 1 hora. Para gerá-la basta usar o seguinte código:

1 Crocodoc.api_token = " A7s7BwvDKOp@nqtYmQfPyLNx "
2 session_key = Crocodoc::Session.create(document.uid, {'is_editable' => false, 'is_downloadable' => false, 'is_copyprotected' => true})

Na sessão, ainda é possível passar alguns parâmetros como proteger o documento de cópia, download e edição. Estas opções são as mais importantes, mas existem outras como filtros e sidebar.

É necessária uma cópia do projeto que está utilizando o crocodoc na Amazon S3. Logo, o processo de upload do documento para a Amazon é o mesmo. Nós optamos pela gem carrierwave.

Assim que o envio para a Amazon S3 é finalizado, gera-se uma URL. A partir dela, é feita o upload do documento para o crocodoc. Outro item fundamental é o suporte. As dúvidas enviadas são esclarecidas através do email, com no máximo, 24 horas.

Nesse link é possível ver o crocodoc em ação.

Comentários
Included file post/disqus_thread.html not found in _includes directory