Tôi đang cố gắng sửa đổi đối tượng System.Drawing.Printing.PrinterSettings mà tôi nhận được từ System.Windows.Forms.PrintDialog sau khi hộp thoại đã được hiển thị cho người dùng. Mặc dù tôi có thể thay đổi các giá trị thuộc tính trên đối tượng PrinterSettings, nhưng không có thay đổi nào tôi thực hiện sau khi hộp thoại được hiển thị thực sự được xem xét khi in tài liệu.Sửa đổi PrinterSettings sau khi PrintDialog được hiển thị
Dưới đây là một ví dụ về những gì tôi có nghĩa là:
//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;
Bây giờ sử dụng PrinterSettings đối tượng để in. Tôi sử dụng bên thứ ba dll Aspose.Words cho điều này, vì tôi cần phải in Word, nhưng điều này có vẻ không phải là vấn đề. Có vẻ như sau khi hộp thoại đã được hiển thị, tất cả các cài đặt đã được cam kết với Máy in và việc thay đổi PrinterSettings không đạt được gì. Bất kỳ ý tưởng về cách để có được điều này để làm việc?
EDIT: Tôi có một số giải pháp cho việc này. Những gì tôi muốn ở đây là để có được một câu trả lời cho những câu hỏi cụ thể: Có thể thay đổi đối tượng PrinterSettings sau khi hộp thoại đã được hiển thị và những thay đổi này được xem xét trong in ấn hay không. Nếu ai đó biết chỉ có một cách làm thế nào điều này có thể làm việc (bạn có thể quyết định API bạn muốn sử dụng để in, nó không quan trọng miễn là đối tượng PrinterSettings được sử dụng), tôi sẽ rất biết ơn.
Bất kỳ lý do nào khiến bạn không thay đổi cài đặt trước khi mở hộp thoại? –
Có, trong đơn đăng ký của tôi, tôi có "tài liệu đã được hợp nhất", bao gồm nhiều tài liệu khác nhau. Trong hộp thoại in, chúng sẽ xuất hiện dưới dạng một tài liệu nhưng để in, tôi cần xử lý chúng riêng lẻ. Vì vậy, để được chính xác hơn: Một số các PrinterSettings nên áp dụng cho tất cả các tài liệu, những người khác tôi cần phải thiết lập cho từng tài liệu riêng lẻ. Các thuộc tính/cài đặt riêng lẻ tôi có thể tính toán mà không có sự tương tác của người dùng nhưng để in, tôi cần phải đưa chúng vào các cài đặt của máy in. – user1182735
Hoàn toàn không rõ ràng từ đoạn mã cách đối tượng printerSettings đang được áp dụng cho công việc in thực tế. Ngoài ra, thiếu mã trong đó giải thích nguyên nhân của sự cố. –