Pergunta

Eu estou escrevendo um aplicativo que permitiria aos usuários editar um calendário, sua descrição e algumas outras coisas. Eu estou usando jquery, php e mysql. Cada vez que o usuário fizer uma alteração que de forma assíncrona atualiza o banco de dados.

Eu gostaria de dar-lhes a opção de transformar o que fazer em um pdf. Existe uma maneira que eu posso postar para o meu servidor do html cru da página depois que o usuário faz alterações?

Eu poderia regenerar a página usando apenas php no servidor, mas desta forma seria mais fácil se possível.

Foi útil?

Solução

Você pode usar isso para obter a maior parte do HTML para a página:

var htmlSource = document.getElementsByTagName('html')[0].innerHTML;

No entanto, vai faltar a abertura e fechamento tags HTML e doctype, que provavelmente não importa para você como você pode recriar esse muito facilmente de volta no servidor.

Eu vou assumir que você pode apenas usar o mesmo AJAX você já está usando para enviar HtmlSource para o servidor uma vez que você agarrou-a.

Outras dicas

Você certamente pode voltar a innerHTML de jQuery qualquer objeto que você pode selecionar, embora não parece ser o melhor caminho a percorrer (ver outras respostas alternativas).

Cuidado com os XSS ataques . Se você acabou de executar a parte de trás HTML e para trás sem fazer check-primeiro você está deixando-se abrir a grandes riscos.

Regeneração da página do servidor vai ser sua melhor aposta. Para ter uma experiência boa o download, você vai querer ser capaz de enviar cabeçalhos para o Content-Type e tamanho.

Para responder à sua pergunta, eu usaria saída buffer para capturar a saída de seus scripts, e em seguida, usar uma das muitas ferramentas disponíveis para transformar HTML para PDF.

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