Imprimir ficheiros PDF
3 participantes
Página 1 de 1
Imprimir ficheiros PDF
Ola
Tenho uma aplicação WEB que possui uma página onde existe uma lista com nomes de ficheiros. Cada ficheiro existente nessa lista possui uma checkbox. Na página, também existe um botão "imprimir". O objectivo é imprimir todos os ficheiros que estiverem checkados.
Os ficheiros em causa são todos ficheiros PDF.
Trata-se de uma aplicação cliente-servidor. Os ficheiros PDFs encontram-se no servidor.
Alguém me pode ajudar/explicar como posso efectuar a impressão destes documentos PDFs?
Obrigado!
Tenho uma aplicação WEB que possui uma página onde existe uma lista com nomes de ficheiros. Cada ficheiro existente nessa lista possui uma checkbox. Na página, também existe um botão "imprimir". O objectivo é imprimir todos os ficheiros que estiverem checkados.
Os ficheiros em causa são todos ficheiros PDF.
Trata-se de uma aplicação cliente-servidor. Os ficheiros PDFs encontram-se no servidor.
Alguém me pode ajudar/explicar como posso efectuar a impressão destes documentos PDFs?
Obrigado!
pj- Mensagens : 36
Data de inscrição : 28/01/2008
Re: Imprimir ficheiros PDF
A minha noção é de que tens de abrir o PDF para imprimi-lo Não tenho noção se consegues imprimir multiplos ficheiros sem passar por este passo, se descobrir algo posto aqui.
gfgs- Mensagens : 4
Data de inscrição : 24/01/2008
Re: Imprimir ficheiros PDF
Pelo menos é possível imprimir um PDF sem o abrir executando o comando (ou qq coisa do género):
acrord32 /t file.pdf
Isso faz com que o ficheiro seja imprimido directamente pela linha de comando (o /t quer dizer que o acrobat reader é lançado em modo hidden)
Há a opção de especificar o nome da impressora em que o ficheiro será imprimido.
Agora como é que do lado cliente (web / javascript) se consegue escolher uma impressora e guardar o nome de modo a enviar ao servidor para ele executar a tal linha de commando é que não sei como o fazer...
acrord32 /t file.pdf
Isso faz com que o ficheiro seja imprimido directamente pela linha de comando (o /t quer dizer que o acrobat reader é lançado em modo hidden)
Há a opção de especificar o nome da impressora em que o ficheiro será imprimido.
Agora como é que do lado cliente (web / javascript) se consegue escolher uma impressora e guardar o nome de modo a enviar ao servidor para ele executar a tal linha de commando é que não sei como o fazer...
Re: Imprimir ficheiros PDF
Uma solução possível para, a partir de uma página WEB, permitir ao utilisador escolher uma impressora e obter o nome da impressora seleccionada, é através de uma Applet.
Para ser possível a comunicação entre o javascript e a applet, para posterior obtenção do nome da impressora seleccionada, temos de usar (digo temos por não conhecer outra forma) a technologia LIVECONNECT (ficheiro JAWS.jar). Nesse JAR existe a classe JSObject que pode ser usada para executar uma função javascript.
Aqui fica um exemplo de como utilisar (PrinterJob.getPrinterJob() é o objecto que pode ser usado de forma a visualizarmos a lista das impressoras disponíveis):
public void actionPerformed(ActionEvent e) {
prtJob = PrinterJob.getPrinterJob();
if(prtJob.printDialog()) {
String sName = prtJob.getPrintService().getName();
JSObject win = JSObject.getWindow(this);
win.eval("alert('1');");
}
}
O problema também pode ser resolvido através de uma activeX mas em termos de segurança, não é muito aconselhável para um sistema com acesso à Internet uma vez que um activeX tem acesso total ao sistema. Uma outra vantagem do uso de uma applet em vez de um activeX é o facto de uma applet poder ser usada em vários sistemas operativos contrariamente aos activeX, utilisáveis apenas em abientes Windows.
Para ser possível a comunicação entre o javascript e a applet, para posterior obtenção do nome da impressora seleccionada, temos de usar (digo temos por não conhecer outra forma) a technologia LIVECONNECT (ficheiro JAWS.jar). Nesse JAR existe a classe JSObject que pode ser usada para executar uma função javascript.
Aqui fica um exemplo de como utilisar (PrinterJob.getPrinterJob() é o objecto que pode ser usado de forma a visualizarmos a lista das impressoras disponíveis):
public void actionPerformed(ActionEvent e) {
prtJob = PrinterJob.getPrinterJob();
if(prtJob.printDialog()) {
String sName = prtJob.getPrintService().getName();
JSObject win = JSObject.getWindow(this);
win.eval("alert('1');");
}
}
O problema também pode ser resolvido através de uma activeX mas em termos de segurança, não é muito aconselhável para um sistema com acesso à Internet uma vez que um activeX tem acesso total ao sistema. Uma outra vantagem do uso de uma applet em vez de um activeX é o facto de uma applet poder ser usada em vários sistemas operativos contrariamente aos activeX, utilisáveis apenas em abientes Windows.
Re: Imprimir ficheiros PDF
Não gosto da abordagem, primeiro por ter de carregar uma applet, segundo porque desconfio que tenhas de dar permissões à applet para poder ler ficheiros do teu disco, ou então a applet apenas recebe um conjunto de http links para os pdf's e encarrega-se de os descarregar e imprimir.
gfgs- Mensagens : 4
Data de inscrição : 24/01/2008
Re: Imprimir ficheiros PDF
Pois mas é a unica forma que conheço.
1 - A applet tem de ser assinada digitalmente. Nao se tem de dar mais permissoes do que isso
2 - Os ficheiros não são descarregados porque se encontram no servidor. Ha apenas uma ordem directa de imprimir tal ficheiro em tal impressora
1 - A applet tem de ser assinada digitalmente. Nao se tem de dar mais permissoes do que isso
2 - Os ficheiros não são descarregados porque se encontram no servidor. Ha apenas uma ordem directa de imprimir tal ficheiro em tal impressora
Re: Imprimir ficheiros PDF
A applet acaba por ter o mesmo efeito que o activeX, permissões para tudo. E como é que vai imprimir algo que não tem, tem de fazer o download dos pdf's ou então existe um serviço qualquer no servidor que seria este a imprimir (o que não faz muito sentido).
gfgs- Mensagens : 4
Data de inscrição : 24/01/2008
Re: Imprimir ficheiros PDF
Nao. O activeX so vai ser usado pela pagina web para o utilisador escolher a impressora. Depois, a pagina tem o nome da impressora e ai é feito uma chamada ao servidor. Este por sua vez executa a linha de comando acrord32.exe /t nome_ficheiro nome_impressora. Desta forma, o acrobat reader é executado em modo "hidden" e imprime o ficheiro escolhido.
percebeste?
percebeste?
Tópicos semelhantes
» Imprimir no ecrã um objecto Document
» Como imprimir PDF protegido com Google Drive
» Como imprimir ficheiro e controlar impressão?
» Manipulação de ficheiros
» Impressão de ficheiros
» Como imprimir PDF protegido com Google Drive
» Como imprimir ficheiro e controlar impressão?
» Manipulação de ficheiros
» Impressão de ficheiros
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ter Set 24, 2019 1:16 pm por jpmartins
» Artigo Bitcoin
Ter Set 24, 2019 1:13 pm por jpmartins
» Novo site para desportistas / New site for athletes
Ter Dez 04, 2018 8:19 am por Admin
» Check used port with the command line
Ter Dez 04, 2018 8:10 am por Admin
» Check the port where mariaDB is running
Seg Dez 03, 2018 4:59 am por Admin
» Check the linux version
Seg Dez 03, 2018 3:12 am por Admin
» Granting rights to a database for a user
Qui Nov 29, 2018 2:04 am por Admin
» Create new user
Qui Nov 29, 2018 2:01 am por Admin
» Change level of password security level
Qui Nov 29, 2018 1:59 am por Admin