Страница 1 из 1

Windows 7. Флажок "Разобрать по копиям".

Добавлено: 23 май 2012, 06:11
Леонид
Доброе утро!

Возникла проблема - пользователи жалуются, что из Windows 7 (из WinXP работает) при печати документов не работает флажок "Разобрать по копиям" (Collate).

Подробнее: OS - Win 7, версия StimulReport 2011.2.1001.0.

Пробовали печатать с разных компьютеров (с WinXP и Win7) на один и тот же принтер - результат: на WinXP разбирает по копиям, на Win7 не разбирает.

Windows 7. Флажок "Разобрать по копиям".

Добавлено: 23 май 2012, 09:10
Aleksey
Здравствуйте,

Пожалуйста, уточните какую версию windows вы используете х32, х64?
Так как в 64 битной версии присутствует данная проблема в разных программах и, пока что, никто толком не может сказать в чем собственно проблема, то ли в драверах принтера, то ли в самом .NET framework-е.

Спасибо.

Windows 7. Флажок "Разобрать по копиям".

Добавлено: 24 май 2012, 08:59
Леонид
Да, забыл написать. Действительно, мы используем версию x64, на всех тестируемых компьютерах, причём на разных принтерах и с разными драйверами.

Не могли бы вы попробовать повторить у себя подобную ситуацию на Win7 x64 на любом принтере, просто напечатав любой отчёт (достаточно 2-х страниц) и установив при печати флажок "Разбирать по копиям"?

Windows 7. Флажок "Разобрать по копиям".

Добавлено: 25 май 2012, 13:41
Леонид
данная проблема в разных программах и, пока что, никто толком не может сказать в чем собственно проблема, то ли в драверах принтера, то ли в самом .NET framework-е.
Возможно и так, однако последний эксперимент, который я только что провёл показал обратное: отрендерил отчёт из программы на 2 страницы, нажал печать, количество копий 2, установил флажок "Разбирать по копиям" - печатаю... не разобрал по копиям.
Далее сохранил этот же отчёт в файл Word (docx) и за одно в Pdf. И из Word'а и из Acrobat Reader'а при тех же настройках печатается и разбор по копиям работает, следовательно проблема всё-таки в отчётной системе.

Проверьте, пожалуйста на каком-нибудь из своих компьютеров всё то же самое, и вы в этом убедитесь.

Итак, более подробные спецификации ПО моего компьютера:

Версия StimulReport 2011.2.1001.0.

Название ОС: Microsoft Windows 7 Профессиональная
Версия ОС: 6.1.7601 Service Pack 1 сборка 7601
Параметры ОС: Рядовая рабочая станция
Сборка ОС: Multiprocessor Free

Исправление(я): Число установленных исправлений - 49.

[01]: KB982861 [02]: 982861 [03]: KB2264107 [04]: KB2305420 [05]: KB2393802 [06]: KB2425227
[07]: KB2476490 [08]: KB2479943 [09]: KB2484033 [10]: KB2487426 [11]: KB2488113 [12]: KB2491683
[13]: KB2492386 [14]: KB2503665 [15]: KB2505438 [16]: KB2506014 [17]: KB2506212 [18]: KB2506928
[19]: KB2507618 [20]: KB2507938 [21]: KB2508272 [22]: KB2509553 [23]: KB2510531 [24]: KB2511250
[25]: KB2511455 [26]: KB2515325 [27]: KB2522422 [28]: KB2524375 [29]: KB2525694 [30]: KB2529073
[31]: KB2530548 [32]: KB2532531 [33]: KB2533552 [34]: KB2533623 [35]: KB2534366 [36]: KB2536275
[37]: KB2536276 [38]: KB2541014 [39]: KB2544893 [40]: KB2545698 [41]: KB2547666 [42]: KB2552343
[43]: KB2555917 [44]: KB2570791 [45]: KB2618444 [46]: KB958488 [47]: KB976902 [48]: KB976932
[49]: KB982018

Windows 7. Флажок "Разобрать по копиям".

Добавлено: 26 май 2012, 08:07
HighAley
Здравствуйте.

Спасибо за информацию. Мы проверим её в ближайшее время. О результатах сообщим.

Спасибо.

Windows 7. Флажок "Разобрать по копиям".

Добавлено: 26 май 2012, 15:20
Ivan
Здравствуйте.

Мы провели исследования и выяснили следующее:

Разбор страниц по копиям обычно производится двумя способами:
1. Драйвером принтера (если поддерживается),
2. Самой программой, из которой производится печать.
На практике обычно по умолчанию используется первый способ. Если первый способ не работает, приложение должно само разобрать страницы по копиям и послать на печать страницы уже в нужном порядке. Так работает, например, MS Office (хотя и у него бывают проблемы с этим).
В нашем продукте реализован пока только первый способ. Т.е. если разбор по копиям глючит - проблемы надо искать в системе (NetFramework, Windows, драйверы принтеров).

Некоторые принтеры имеют в драйверах дополнительные "продвинутые" настройки, в результате некоторые стандартные настройки диалога печати могут игнорироваться (пример - принтер "Canon MF4400").

Но чаще всего причина проблемы другая: Microsoft что-то поломала в диалоге печати в Windows Vista/Seven/2008, и теперь при выходе из диалога печати система "забывает" о первоначальных настройках и изменениях и сбрасывает значение Collate в false. Причем это проявляется не на всех компьютерах, и закономерности пока никто не нашел. Microsoft знает об этой проблеме. Проблема была решена только в Net 4.0.
( http://connect.microsoft.com/VisualStud ... -is-closed )

Варианты решения проблемы следующие:
1. Запускать приложение под Net 4.0
2. Печатать из кода без вызова диалога печати, например:

Код: Выделить всё

            StiReport rep = new StiReport();
            rep.Load(@"d:\report.mrt");
            rep.Render();

            PrinterSettings ps = new PrinterSettings();
            ps.PrinterName = "Canon LBP2900";
            ps.Copies = 2;
            ps.Collate = true;

            rep.Print(false, ps);
Спасибо.