Sto cercando di modificare l'oggetto System.Drawing.Printing.PrinterSettings che ottengo da System.Windows.Forms.PrintDialog dopo che la finestra di dialogo è stata mostrata all'utente. Sebbene sia possibile modificare i valori delle proprietà nell'oggetto PrinterSettings, nessuna delle modifiche apportate dopo la visualizzazione della finestra di dialogo viene effettivamente considerata durante la stampa di un documento.Modifica impostazioni stampante dopo StampaDialog è stato mostrato
Ecco un esempio di ciò che intendo:
//Show the printdialog and retreive the printersettings
var printDialog = new PrintDialog();
if (printDialog.ShowDialog() != DialogResult.OK)
return;
var printerSettings = printDialog.PrinterSettings;
//Now modify the printersettings object
printerSettings.ToPage = 8;
ora usano il PrinterSettings oggetto per la stampa. Io uso la DLL di terze parti Aspose.Words per questo, poiché ho bisogno di stampare Word, ma questo non sembra essere il problema. Sembra che dopo che la finestra di dialogo è stata mostrata, tutte le impostazioni sono già state impostate sulla stampante e la modifica di PrinterSettings non porta a nulla. Qualche idea su come farlo funzionare?
MODIFICA: Ho alcuni soluzioni per questo. Quello che voglio qui è ottenere una risposta a queste domande specifiche: è possibile cambiare l'oggetto PrinterSettings dopo che la finestra di dialogo è stata mostrata e queste modifiche sono considerate nella stampa. Se qualcuno conosce solo un modo di come questo può funzionare (puoi decidere quale API vuoi usare per la stampa, non importa se si utilizza l'oggetto PrinterSettings), ne sarei molto grato.
Qualsiasi motivo per cui non si modificano le impostazioni prima di aprire la finestra di dialogo? –
Sì, nella mia domanda ho "documenti uniti", che consistono in molti documenti diversi. Nella finestra di dialogo di stampa dovrebbero apparire come un unico documento, ma per la stampa ho bisogno di gestirli individualmente. Quindi, per essere più precisi: alcuni degli PrinterSettings dovrebbero applicarsi a tutti i documenti, altri che ho bisogno di impostare per ogni documento individualmente. Le singole proprietà/impostazioni che posso calcolare senza l'interazione dell'utente, ma per la stampa ho bisogno di iniettarle nelle impostazioni della stampante. – user1182735
Non è completamente chiaro dallo snippet come l'oggetto PrinterSettings viene applicato al lavoro di stampa effettivo. Anche la mancanza nel codice spiega la causa del problema. –