C # запрещает печатать слова до полной загрузки изображения в документе - PullRequest
0 голосов
/ 20 апреля 2011

Это дополнительный вопрос из моего предыдущего найденного здесь

Мне нужно распечатать несколько страниц, на каждой из которых должны быть загружены изображения, чтобы можно было их показать. Но всякий раз, когда я запускаю .doc с заданием на печать через приложение C #, он печатает только текст, потому что изображения еще не загружены полностью.

Именно тогда я создал тему, упомянутую выше, чтобы найти решение. Решение было дано, и оно работало очень хорошо до вчерашнего дня, когда они заменили ПК на более новый. На этом ПК все еще установлен тот же Word 2007, и когда я пытался применить вышеуказанное решение; это больше не работало. Тот же результат, что и раньше, и я понятия не имею, почему.

Я также пытался отложить параметр печати на 10 секунд, чтобы дать слово некоторое время для загрузки изображений, это работает, но 10 секунд может не хватить для больших документов, а что если время соединения истекло?

Поэтому мне нужен надежный способ запретить печать слова до тех пор, пока изображения не будут загружены в документ, используя C # или встроенные опции Word. Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 20 апреля 2011

Вместо использования Process вы должны использовать взаимодействие слов.
см. следующие ссылки

0 голосов
/ 26 июля 2011

Хорошо, во-первых, извините за очень поздний ответ, я только что узнал, что он все еще открыт.

Очевидно, что все версии Word (по крайней мере, начиная с 2003 года) имеют возможность загружать внешний контент перед встроенной печатью. Это касается Word 2010, только в 2010 году кажется, что Word игнорирует эту функцию. Я проверил это на 3 машинах, я не знаю почему, но в 2010 году это игнорируется.

Теперь я заметил при тестировании, что если вы откроете текстовый документ, который уже работал в фоновом режиме, он просто выведет его на передний план, что дало мне идею, которая привела меня к решению.

  • Шаг 1: Откройте документ, который нужно распечатать.
  • Шаг 2: в соответствии с количество внешних элементов для загрузки, настроить таймер (я дал приложение на полсекунды для загрузки изображения, это намного больше, чем нужно, но лучше, чем потом сожалеть)
  • Шаг 3: снова открыть документ но на этот раз с помощью параметра печати. ​​

Теперь документ будет только повторно показан спереди и начнет печатать уже открытый документ.

Я НЕ рекомендую это решение никому, так как это скорее обходной путь, чем надежное исправление. Но дело сделано.

...