Печать отказа в доступе Java к чековому принтеру в Windows 7

Около 11 лет назад я разработал систему Java POS, которая до сих пор работает на компьютерах с Windows XP и Vista. Я обновляю их до Windows 7, и теперь у меня проблемы с печатью на чековых термопринтерах Star Micronics.

Вот строка кода, которая отлично работает на компьютерах с Windows XP и Vista, когда они обращаются к общим принтерам на других машинах в сети, но я получаю java.io.FileNotFoundException (Access Denied), когда пытаюсь напечатать на принтере, подключенном к коробке Windows 7.

FileOutputStream fos = new FileOutputStream("\\\\machine1\\printer");

Теперь в этом сценарии machine2 (не имеет значения, Windows XP, Vista или 7) пытается распечатать на принтере чеков, подключенном к machine1 (Windows 7) через мою программу Java. Если я попытаюсь распечатать обычный текстовый файл из Блокнота с machine2 на machine1, он будет работать нормально. Только через мою Java в упомянутой выше строке это не удается. Еще раз, если machine1 и machine2 либо Windows XP, либо Vista, тогда нет никаких проблем, и это работало в течение 11 лет.

Я считаю, что это проблема с разрешениями в Windows 7, но я не уверен, что это такое. Помните, что вторая машина может видеть принтер на машине с Windows 7 и даже печатать на нем. Это терпит неудачу только через мою Java-программу. Я мог бы попробовать переписать свой старый код того, как я печатаю, но боюсь, что столкнусь с аналогичными проблемами.

Какие-либо предложения?


person mansoorbabar    schedule 02.08.2014    source источник


Ответы (1)


У меня была такая же проблема сегодня, после обновления с людей, у которых были компьютеры с Windows XP с работающей печатью, до компьютеров с Windows 7. Я даже не смог выполнить "эхо-тест> \ machine1 \ GenericT", получил доступ запрещен.

Я обнаружил, что вам необходимо предоставить безопасный доступ к папке принтеров, расположенной в «C: \ Windows \ System32 \ spool \ PRINTERS», вы должны добавить «Все» и дать ей Изменить. Это вы без проблем сможете распечатать.

person Pavel Perez    schedule 11.09.2015
comment
В моем случае разрешение на изменение не требуется. Разрешения на запись достаточно. Спасибо за ответ, сэкономили мне часы попыток. - person Abi; 24.12.2018