windows presentation foundation terminal Server Print W (Печать из 1С)

Автор: | 13.04.2013

Совсем недавно столкнулся с такой проблемой: В организации есть сервер удаленных приложений, на нем крутится 1С, пользователи используют ее через RemoteApp. При открытии 1С происходит подключение локальных принтеров к серверу по технологии Easy print, печать пробной страницы проходит успешно, почти все документы печатаются нормально, кроме некоторых, оказалось что все зависит от ширины документа. Причем проблема возникает только на рабочих станциях с Windows XP. Сначала при печати конкретного документа появлялась ошибка «windows presentation foundation terminal Server Print W» после некоторых манипуляций, типа переустановки Microsoft .NET Framework и еще некоторых обновлений ошибка пропала, как визуально, так и в системном журнале, печать просто уходила в никуда.Дело в том, что в этот момент срабатывало исключение «System.Windows.Markup.XamlParseException» на локальной машине с Windows XP и далее тишина.

Как же можно увидеть, что ошибка на локальной машине при получении файла *.xps  все-таки есть? Очень просто, необходимо перед печатью поставить галочку «печать в файл» и сохранить этот файл с расширение xps. После чего скопировать этот файл на ПК где появлялась ошибка и открыть его XPS Viewer. После этого откроется IE. XPSError1

 

Дело в том, что при печати по технологи EasyPrint сначала формируется документ формата *.xps, после чего через виртуальный порт происходит перенаправление на локальный принтер. И вот тогда либо появляется сообщение об ошибке «windows presentation foundation terminal Server Print W», либо просто это все игнорируется и ничего не происходит.

Для решения этой проблемы необходимо либо удалить эту длинную строчку, либо сократить ее.

P.S. Для нормальной работы RemoteApp необходимо:

  1. RDP версии 6.1 не ниже
  2. Microsoft .NET Framework 3.5 (лучше с SP1)

 

windows presentation foundation terminal Server Print W (Печать из 1С): 2 комментария

  1. Ратмир

    Спасибо за статью.
    Только я до сих пор не понял, как исправить эту ошибку окончательно.

    Цитата: «Для решения этой проблемы необходимо либо удалить эту длинную строчку, либо сократить ее.»
    Можно по-подробнее?

    1. Сергей Автор записи

      System.Windows.Markup.XamlParseException: Не удалось выполнить инициализацию объекта (ISupportInitialize.EndInit). Слишком большие значения advanceWidths и glyphOffsets для GlyphRun. Площадь ограничивающего прямоугольника (измененная в квадратах renderingEmSize) равна «1641,04» и не может превышать значение «1250». Ошибка объекта «System.Windows.Documents.FixedDocument», строка 4, позиция 3.

      Вот, например, в моем примере видно, что длинная строка, из-за которой происходит ошибка, находится: строка 4, позиция 3.
      Далее смотрим, что это за строка и либо вручную ее сокращаем до 1250 символов, либо программно в 1С конфигураторе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *