Suprimir a caixa de diálogo Salvar como no Microsoft XPS Document Writer ao converter GDI Para XPS

StackOverflow https://stackoverflow.com/questions/810550

  •  03-07-2019
  •  | 
  •  

Pergunta

Em seu blog Impressão de documentos para o Microsoft XPS Document Writer sem interação do usuário Feng Yuan diz

Se você estiver imprimindo a partir de suas próprias aplicações, é fácil para especificar MXDW como o driver da impressora e fornecer um nome de arquivo para o documento XPS para ser salvo para

Alguém pode explicar como fazer isso e fornecer uma amostra de código?

O principal problema que estou tendo é suprimir o diálogo Salvar como que a Microsoft XPS Document Writer aparece. Estou detestado de recorrer a UI hackers como Yuan faz em seu post.

Atualmente o meu aplicativo faz GDI desenho chamadas no contexto de dispositivo do que nunca de impressora que o usuário deseja usar. Eu posso fazer as chamadas sobre o escritor bem XPS Document, mas quando ele chegou vezes para completar a impressão dos pops escritor XPS-se a caixa de diálogo Salvar como.

Foi útil?

Solução

Na verdade, o mesmo autor fornece a resposta impressão para Microsoft XPS Document Writer sem mostrar arquivo caixa de diálogo Salvar . A solução é imprimir um arquivo usando a impressora Microsoft XPS Document Writer.

Outras dicas

E se você está querendo evitar bater o sistema de arquivos com o documento XPS, Shahed Kahn dá código de exemplo em Carregando Xps de MemoryStream .

Aqui está o que funciona para mim:

  With Me.PrintDocument
     With .PrinterSettings
        .PrinterName = "Microsoft XPS Document Writer"
        .PrintToFile = True
        .PrintFileName = "c:\test.xps"
     End With
    .Print()
  End With

Tanto quanto eu sei, isso não é documentado. Experimentá-lo e você não vai conseguir o diálogo Salvar como temido. Em vez disso você tem um arquivo XPS limpa gerada por MXDW (c: \ test.xps).

Basta remover e re-instalar o Microsoft XPS Document Writer, siga os passos abaixo durante a re-instalação ..

Vá em Iniciar - Painel de Controle - Adicionar nova impressora. Em seguida, escolha Impressora local e Criar nova porta. Selecione Porta local na caixa de combinação. A pergunta de diálogo para um nome da porta aparecerá. Para o nosso driver XPS para imprimir para arquivo especificado sem pedir um utilizador para uma localização, gravação no caminho completo para este arquivo de saída. Esta necessidade arquivo não existir no momento (algo como c: \ mydriveroutput.xps por exemplo).

Veja este link para mais detalhes: https: / /kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl-under.html

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