Como o Google cria esses incríveis relatórios em PDF no Analytics e quando você imprime um Google Doc, etc.?[fechado]

StackOverflow https://stackoverflow.com/questions/47709

Pergunta

Ao imprimir a partir do Google Docs (usando o link "imprimir", não Arquivo/Imprimir), você acaba imprimindo um arquivo PDF bem formatado em vez de depender do mecanismo de impressão do navegador.O mesmo se aplica a alguns dos relatórios do Google Analytics...os relatórios impressos em PDF são lindos.Como eles fizeram isso?Não consigo imaginar que eles usem algo como o Adobe Acrobat para facilitar isso, mas talvez usem.De vez em quando, tenho visto alguns conversores caros de HTML para PDF on-line, mas nunca me canso deles.Alguma ideia?

Foi útil?

Solução

Se você está observando especificamente como o Google faz isso.Se você olhar para o Propriedades do PDF página, eles usam Prince 6.0 (veja princexml. com)

Existem muitos outros geradores de PDF por aí.Tive grande sucesso com PDFlib para trabalhos complicados.

alt text

Outras dicas

iTextSharp e iText são bibliotecas de geração de PDF de código aberto e gratuitas para .NET e Java, respectivamente.

Já os usei para gerar relatórios em PDF e fiquei muito satisfeito com os resultados.

http://itextsharp.sourceforge.net/

http://www.lowagie.com/iText/

Ótima alternativa gratuita ao PrinceXML: wkhtmltopdf .Existem muitas bibliotecas wrapper para várias linguagens - mas usei apenas as de Ruby.No entanto, o produto em si está no mesmo nível do PrinceXML IMHO.

Eu tive sucesso com pd4ml.Possui uma biblioteca de tags, para que você possa transformar qualquer HTML existente em PDF,

<pd4ml:transform>
<!-- Your HTML is here -->

<c:import url="/page.html" />
</pd4ml:transform>

Bom, duvido que seja tão fácil quanto gerar HTML...Quero dizer, em primeiro lugar, o PDF não é um formato legível por humanos e não é um texto simples (como o SVG).Na verdade, eu compararia um arquivo SVG a um arquivo PDF, pois com ambos você tem controle preciso sobre o layout de uma página impressa.Mas o SVG é diferente por ser XML (e também por não ser totalmente suportado no navegador...ainda estou pesquisando SVG também).Pensando bem, SVG provavelmente deveria ser minha próxima pergunta.

Eu sei que o Google não usa .NET e duvido que eles usem Java, então deve haver outras bibliotecas usadas para gerar os arquivos PDF.Mais importante ainda, como eles criam PDFs sem precisar reescrever tudo como PDF em vez de HTML?Quero dizer, deve haver algum código compartilhado entre quando eles geram a visualização HTML em oposição à visualização PDF.Pensando bem, talvez a visualização PDF e a visualização HTML sejam completamente separadas e tenham apenas duas visualizações e, portanto, o estilo de desenvolvimento MVC parece ser o caminho a seguir.

Renderizar um PDF é um problema difícil e complexo.No entanto, gerá-los não é.Simplesmente crie algumas entidades e gere.É quase o mesmo domínio problemático que gerar HTML para páginas da web vs.exibindo (renderizando) isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top