Можно ли это сделать программно и без создания пользовательского формата PaperSize, но с использованием предопределенных размеров? Известно, что принтер поддерживает бумагу формата Legal.
Есть ли более элегантное решение, чем зацикливание по размерам бумаги принтера и сканирование для подстроки Legal
?Печать принудительной печати на бумаге юридического формата
UPDATE Это то, что я в конечном итоге делает:
For i = 0 To PrintDocument1.PrinterSettings.PaperSizes.Count - 1
If PrintDocument1.PrinterSettings.PaperSizes(i).RawKind = PaperKind.Legal Then
PrintDocument1.DefaultPageSettings.PaperSize = PrintDocument1.PrinterSettings.PaperSizes(i)
Exit For
End If
Next
Извините, я должен был упомянуть, что это приложение WinForm, написанное на VB.NET. Нет такого перечисления. Установка 'PrintDocument1.DefaultPageSettings.PaperSize.RawKind = PaperKind.Legal' не работает. – mcu
Попробуйте сначала обрезать PaperSize (также тип cast для int), я не знаю, является ли это ошибкой или что-то еще, но в прошлом я обнаружил, что изменение размера бумаги часто не работает, если оно уже было задавать. 'PrintDocument1.DefaultPageSettings.PaperSize = null; PrintDocument1.DefaultPageSettings.PaperSize.RawKind = (int) PaperKind.Legal; ' – Alfie
Просто попробовал следующее, и все равно не нужно идти. 'PrintDocument1.DefaultPageSettings.PaperSize = Nothing PrintDocument1.DefaultPageSettings.PaperSize.RawKind = CInt (PaperKind.Legal)' – mcu