Sopprimendo la finestra di dialogo Salva con nome su Document Writer di Microsoft XPS durante la conversione di GDI in XPS

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

  •  03-07-2019
  •  | 
  •  

Domanda

Nel suo blog Stampa di documenti su Microsoft XPS Document Writer senza interazione dell'utente dice Feng Yuan

  

Se si stampa dalle proprie applicazioni, è facile specificare MXDW come driver della stampante e fornire un nome file per il documento XPS da salvare in

Qualcuno può spiegare come farlo e fornire un esempio di codice?

Il problema principale che sto riscontrando è la soppressione della finestra di dialogo Salva con nome che viene visualizzata in Microsoft XPS Document Writer. Sono detestato ricorrere all'hacking dell'interfaccia utente come fa Yuan nel suo post.

Attualmente la mia applicazione effettua chiamate di disegno GDI sul dispositivo Contesto di qualsiasi stampante che l'utente desidera utilizzare. Posso fare bene quelle chiamate su XPS Document Writer, ma quando arriva il momento di completare la stampa XPS Writer fa apparire la finestra di dialogo Salva come.

È stato utile?

Soluzione

In effetti lo stesso autore fornisce la risposta Stampa su Microsoft XPS Document Writer senza mostrare la finestra di dialogo Salva file . La soluzione è stampare su un file usando la stampante Microsoft XPS Document Writer.

Altri suggerimenti

E se vuoi evitare di colpire il filesystem con il tuo documento XPS, Shahed Kahn fornisce il codice di esempio in Caricamento di Xps da MemoryStream .

Ecco cosa funziona per me:

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

Per quanto ne so, questo non è documentato. Provalo e non otterrai la temuta finestra di dialogo Salva con nome. Invece si ottiene un file XPS pulito generato da MXDW (c: \ test.xps).

Rimuovi e reinstalla Microsoft XPS Document Writer, segui i passaggi seguenti durante la reinstallazione.

Vai a Start - Pannello di controllo - Aggiungi nuova stampante. Quindi selezionare Stampante locale e Crea nuova porta. Seleziona Porta locale nella casella combinata. Viene visualizzata la finestra di dialogo che richiede il nome di una porta. Per consentire al nostro driver XPS di stampare sul file specificato senza richiedere a un utente un percorso, scrivere nel percorso completo per questo file di output. Questo file non deve esistere al momento (qualcosa come c: \ mydriveroutput.xps per esempio).

Vedi questo link per i dettagli: https: / /kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl-under.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top