Olá! Estou precisando criar um sistema de impressão de documentos (principalmente nos formatos .pdf ou .docx) dinamicamente, sem precisar acessar muitos painéis de impressão e semelhantes, via PHP ou JavaScript (ou algo ainda melhor, se for possível). Não tenho muito conhecimento na área, mas o que tentei fazer é executar comandos (PRINT) do cmd pela função exec do PHP, mas não deu certo (a página fica num loop eterno de carregamento). Alguém possui algo em mente a respeito?
Talvez (eu digo e repito “talvez”) não seja a melhor forma de fazer um sistema dinamicamente que imprima docx e pdf.
Quando se faz uma pergunta sobre algo em especifico também se diz um pouco da sua regra de negócio, o algoritmo (os passos), etc.
Se poderia detalhar melhor seu problema? e onde vai utilizar o mesmo?
Bem @Dragoon, o sistema que estive pensando pretende substituir o meio físico de troca de documentos para impressão no local de trabalho do cliente (quem não tem impressora em casa leva o pendrive com o arquivo que deseja imprimir para este local e imprimi). Eu estive pensando em várias soluções e a mais simples seria dar a possibilidade dos usuários de fazerem upload desses arquivos da casa deles msm (por meio de um site, por exemplo). O cliente receberia estes arquivos e poderia imprimi-los. O que eu estou tentando fazer é agilizar o processo. Ao receber o arquivo, basta apertar o botão imprimir e lançar o arquivo à fila de impressão. É claro que estou aberto a sugestões!
Crie um setor Administrativo!
Não seria isso… ???
Com login e senha do usuário para disponibilizar corretamente de quem é o arquivo!
Sim, essa é a intenção. Mas não é por isso que eu fiz a pergunta. Eu queria que o sistema tivesse a capacidade de imprimir um arquivo diretamente, sem necessidade de ficar abrindo telas (como ctrl + p) do chrome ou algo semelhante (o admin receberia os arquivos, apertaria um botãozinho e pronto). Eu vi algumas coisas como o PDFtoPrinter (http://www.columbia.edu/~em36/pdftoprinter.html), mas ele não funciona corretamente e não imprimi em docx
Eu sinceramente, nunca vi nada sem interversão … ou seja, automático.
Pode ser criado um serviço para o serviço e chamar o PHP mas, ai que tá imprimir PDF e Docx é um problema, precisam de plugin para funcionar e ai mora o perigo, provedores não gostam muito disso por causa de falhas, etc …!
Bom vou verificar, mas, acho que não…
Sim! Está difícil de achar alguma coisa. Seria legal imprimir os dois, mas minha preferência é PDF.
Conceito básico de programação web, php fica no lado servidor, impressão fica no lado do cliente, logo o que você quer só conseguirá se o php estiver em um servidor no mínimo em uma rede local (onde este servidor estará conectado a impressoa na rede…), se o php estiver hospedado fora não funciona compreendes?
Os arquivos podem ser gerados no servidor e baixados para a máguina do cliente (inclusive esse é o procedimento considerado normal), assim fica a cargo do usuário imprimir ou não o documento…
Para forçar o download de arquivos em php pesquise sobre force download que usa muito a função header manipulando coisas como mime-type, filesize, stream, etc… há vários exemplos na net sobre isso…
E caso você precise baixar os dois formatos ao mesmo tempo, o ideal é inseri-los em um zip usando a api zip do php, empacotando tudo e fazendo um único download para o usuário, boa sorte!
Significa que com Javascript, que acredito ser client side, eu poderia realizar esse procedimento?
Não necessariamente, o js possui uma função print, algo nesse sentido:
window.print();
Porém, como diz na referência, ela tem controle sobre o que está no html atual da janela/página, ou seja, para gerar o pdf voltamos ao que disse acima, você precisa de uma linguagem de servidor para isso (a menos que você encontre alguma lib em js que faça isso, mas provavelmente você terá dependencias como plugins no navegador, uma dll instalada no windows, um plugin java ou flash, etc o que acaba tornando inviável pois nem todo mundo que você quer atingir vai querer baixar essas “coisas”), percebeu a dificuldade?
Outra opção é você usar uma linguagem/tecnologia desktop (Delphi, C++, C#, Java, etc) criar um aplicativo de windows por exemplo para rodar local e “acessar” qualquer periférico/dispositivo na máquina em que está rodando ou até mesmo na rede local, ou… se quiser usar web, o melhor é ir pelo caminho mais simples, uma linguagem de servidor para gerar o pdf e um navegador para baixar, e o usuário que imprima ué!?
Bom, creio que você pegou a ideia que quero te passar, pesquise mais a respeito e boa sorte!