Imprimir arquivo ou mandar diretamente para a impressora

1 resposta
zorba
boa tarde pessoal. surgiu um problemão aqui na empresa. nós desenvolvemos um sistema gerenciador de documentos, e uma das 'features' do programa, é a impressão de arquivos ele imprime todos os tipos 'imprimíveis', entre eles, arquivos do office MAAAAAAAS, isso, somente se a pessoa tiver o MSOffice instalado na máquina. descobri isso pq alguns clientes usam linux, ou não tinham o office auhiauea ja varri o google, mas não encontrei um meio de, sei lá, imprimir esse arquivo. penso eu que teria de mandá-lo diretamente para a impressora, mas pra isso eu teria que ter os dados da mesma. e eu PRECISO que apareça uma janela de configuração de impressão, já que o usuário tem de escolher qual impressora ele deseja utilizar. vou postar meu código atual.
OleClientSite ole = null;
		Variant vIn = null;
		Variant vOut = null;
		OleFrame frame = null;
		Shell shell = new Shell(Display.getCurrent());
		frame = new OleFrame(shell, SWT.NULL);
		try {
			if (quantidadeCopias > 1) {
				DialogQuantidadeCopias dqc = new DialogQuantidadeCopias(shell,
						SWT.APPLICATION_MODAL);
				dqc.setQuantidade(quantidadeCopias);
				dqc.open();
			}
			ole = new OleClientSite(frame, SWT.APPLICATION_MODAL, arquivoImpressoFile);

			ole.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);

			vIn = new Variant();
			vOut = new Variant();

			ole.exec(OLE.OLECMDID_PRINT, OLE.OLECMDEXECOPT_PROMPTUSER, vIn,
					vOut);

			frame.dispose();
			ole.dispose();
			shell.dispose();
			ole = null;

		} catch (final Exception e) {
			MessageBox mb = new MessageBox(shell);
			mb.setText("Error - "+e.toString());
			mb.setMessage(e.getMessage());
			mb.open();
			
			e.printStackTrace();
		}
	}

desde já, obrigado :D

1 Resposta

zorba

empurrãozinho :oops:

Criado 7 de agosto de 2009
Ultima resposta 7 de ago. de 2009
Respostas 1
Participantes 1