Salvar pagina externa em PDF

Prezados, bom dia!

Preciso salvar uma página externa em PDF , sem a necessidade de exibir ao usuário.
A página externa tem duas opções para abrir, em HTML, onde precisaria imprimir em PDF e salvar como arquivo, ou abrir ela já em PDF, o que eu precisaria somente salvar.
Os colegas tem alguma dica, atualmente estou abrindo a página já em PDF em um iframe escondido na aplicação e tentando salva-lo. Mas sem sucesso.

Abraço

Pensando em alternativas

1- Com o FPDF é possivel imprimir a tela da aplicação atual ?

2- Na opção PDF da aplicação consulta , é possivel chamar a imperssão pdf direto via código ?

Se você for na opção exportação da aplicação consulta e depois Configuração do PDF tem esta opção Gerar PDF Diretamente marca SIM nela pois ela serve para [font=Arial]Abrir o arquivo PDF gerado sem a necessidade de exibição de uma página intermediária com um link para o arquivo.[/font]

Se for mexer diretamente com o FPDF no Blank, isso se resolve no $pdf->Output();

Segue exemplos.

http://blog.startq.com/index.php/2011/10/25/fpdf-output-methods-for-pdf-files-in-php/

Se for uma consulta que vc precisa que seja aberta diretamente como pdf faça o seguinte:

1 - Em Configurações coloque a opção Gerar PDF
2 - No menu vá na opção Exportação e nas opções do pdf escolha Gerar PDF Diretamente.

Pronto!

Prezados bom dia!

Paulo, Saulo,

Já está desta forma, porem gostaria de algo que ao entrar na aplicação(onload, etc…) a impressão fosse realizada sem a necessidade de intervenção do usuário.
Exemplo prático do que estou tentando fazer e entrar na aplicação e imprimir a página do google por exemplo.
Porque posso correr o risco do usuário não imprimir a página, o que para a atividade é obrigatório.

Fred ,

Também tentei desta maneira , porem como estou tentando imprimir uma página externa como informo ao FPDF para imprimir a pagina atual(com iframe). Porque os exemplo que encontrei é preciso determinar valor por matriz exemplo $pdf-> cell(10,10, “meu texto”)

Talvez eu esteja complicando, então pergunto: Como os colegas salvariam uma página externa em pdf sem intervenção do usuário?

Correndo contra o tempo, quarta feria é dia da apresentação do projeto para homologação… se não tiver jeito acredito que farei o usuário salvar a pagina com um nome padrão e validar se o arquivo esta no diretório.

No mais, uma ótima semana a todos.

Alexandre, tenta isso no evento Onload:

echo "<script>window.print();</script>";

Esse comando fará com que chame automaticamente a janela de impressão do navegador.

Se estiver configurada uma impressora PDF, é só mandar imprimir(salvar).

Quase isso Wennys, desta forma ainda dependo do usuário.

A url que tenho da web já gera o arquivo pdf , eu precisaria somente salvar o arquivo.

Como tá sendo gerado esse teu pdf?

É via FPDF? Se for, é só usar $pdf->Output(“caminho_onde_quer_salvar.pdf”, “F”);

Se não for via FDPF, desconheço como fazer.

Pelo que entendi, ele esta usando o ReportPDF. Ainda prefiro o FPDF puro em uma Blank, pois isso já teria sido resolvido.

Pois é, Fred.

Também prefiro usar a FPDF ‘na mão’.

Bom dia nobres,

Então, eu tentei o FPDF no blank mas pelo que percebi ele atende se for informado linha a linha, salvo leigo que sou.
Consegui fazer salvar a pagina em html , porem o ideal seria em pdf. segue exemplo com site do terra.(externo) que é o meu caso.
Da forma abaixo ao entrar no form automaticamente salvo o html da pagina sem nenhuma interferência do usuário e sem ele saber.

Alguma ideia de fazer parecido com o abaixo mas em pdf ?
Na minha $url tanto posso direcionar a uma página html e depois transformar em pdf. www.site.com.br/documento.html?documento=‘id’ ,eu precisaria converter e salvar.

Ou posso direcionar para que o documento seja convertido, e eu preciso só salvar. assim www.site.com.br/converterdocumentoPDF.html?documento=‘id’ , ele já converte o pdf ,eu precisaria só salvar.

Mas nos dois casos eu não consegui.

Infelizmente em PHP e srciptcase ainda estou engatinhando, se fosse em basic ou pascal estava resolvido. kkkk

Se não der certo , vou ficar com o documento salvo em html .
Mas acredito que as mentes ativas tenham uma solução .

Abraços…

Form> onload

$url = 'http://www.terra.com.br';// site de exemplo $dadosSite = file_get_contents($url); ob_start(); include($url); $out = ob_get_contents(); ob_end_clean(); $dir = 'c:/'; $filename = 'SalvoEmTexto.html'; $local=$dir.$filename; touch($local); $fp=fopen($local,"w"); fputs($fp,"$out"); fclose($fp);

Bom dia Fred,

Tentei o ReportPDF também, mas realmente ele é muito limitado e não atende para que preciso.

Então, eu tentei o FPDF no blank mas pelo que percebi ele atende se for informado linha a linha...

Não entendi o que você quis dizer com “linha a linha”.

Alexandre, faz o seguinte, coloca o modelo dessa “pagina” pra gente ver!

Outra dúvida, essa “página” seria uma página html normal de um site? Ou um “Relatório” PDF ?

Fred boa tarde! Primeiramnte obrigado pelo interesse.

Pelo que percebi o Fpdf é necessário informar $pdf-> cell(10,10, “meu texto”) , no meu caso queria converter tudo o que esta na aplicação blank onde eu tinha um Iframe carregado da pagina externa. Tem algum comando que converta toda aplicação em PDf ?(este foi um teste que fiz, hoje não esta mais assim.)

Alexandre, faz o seguinte, coloca o modelo dessa "pagina" pra gente ver!

Infelizmente não poso postar o modelo da pagina porque contem dados de cliente. Mas pode testar com qualquer pagina.
Exemplo, como vc converteria para pdf a página do www.terra ,quando a aplicação blank (onexecute) sem que o usuario veja?

Outra dúvida, essa "página" seria uma página html normal de um site? Ou um "Relatório" PDF ?
A página externa posso abrir no browser das duas formas "página html" ou Relatório PDF. O que ficar mais fácil para salvar o pdf no servidor esta bom . rs

Esquecendo tudo acima kkkk
O que quero fazer é exatamente o codigo abaixo, porem ao invés de salvar em html converter em pdf.

Aplicação Blank > onexecute

$url = 'http://www.terra.com.br';// site de exemplo $dadosSite = file_get_contents($url); //include($url); $dir = 'c:/'; $filename = 'Nome_do_documento.html'; $local=$dir.$filename; touch($local); $fp=fopen($local,"w"); fputs($fp,"$dadosSite "); fclose($fp);

Abraço.

a exportação dsa grids(consultaO sc para pdf fazem isso.

Boa tarde Haroldo,

Se foi isso que compreendi do texto “A exportação em pdf de grids(consulta) o sc faz .” rs

Não é Grid que estou querendo converter em PDF , e sim uma página externa carregada por blank.

Se tiver uma dica agradeço.

Abraço

Alexandre, sei que dá pra fazer o que vc deseja com a mpdf(http://www.mpdf1.com/mpdf/index.php).

Existem alguns exemplos na net: http://ivanprogrammer.blogspot.com.br/2012/10/recentemente-cliente-solicitou-de-um.html

Nunca utilizei a mpdf, mas dá pra fazer.

Fica como sugestão para a Netmake, disponibilizar o botão Exportar para PDF também nas aplicações controle, formulários etc, pois o mesmo só está disponível nas aplicações do tipo consulta.

Esse botão Exportar para PDF utiliza a biblioteca wkhtmltopdf (https://code.google.com/p/wkhtmltopdf/) para fazer a conversão da consulta para PDF.

Seria muito bom se, pelo menos nas apps controle, tivesse essa possibilidade também.

Obrigado Wennys, vou testar em seguida posto resultados.

Wennys Carlos falou tudo, o mpdf é ideal para o que você quer fazer!