DanielEvansJr Ответов: 1

Crystal report to adobe PDF - font issue


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

I have a web application written in Visual Studio.Net 2012 (C#/ASP.Net). The application pulls a small set of data from an Oracle table, and then uses Crystal Reports to throw that data onto a report page that is displayed by Adobe Acrobat within the browser. The Users then print out the individual Adobe Acrobat page as a 'coupon', and physically scans it into our document scanning system. This document scanning system DEMANDS a particular font, and here's the issue...Currently, the app is running in our production environment, and our User Acceptance Testing (UATest) environment. The Adobe Acrobat page is displaying a different font set for each web environment. On UATest, everything is displaying as it should. The font is OCR A Extended. It's a monospaced font that resembles the old Courier style. On our production system, it's displaying what looks like Arial? Microsoft Sans Serif? I have no idea, but whatever it is, our scanning system doesn't like it and won't accept it.

Ситуация такова, какова она есть. Я не могу изменить течение реки в этом месте. Это означает, что я застрял с текущей методологией. Автоматизация процесса таким образом, чтобы данные шли с веб-сайта в таблицы данных на сканере, была бы идеальной, но это невозможно.

На данный момент, у меня есть пользователи, запускающие приложения с сервера UATest. Не самое идеальное решение, но оно должно продержаться, пока я не найду решение для этого.

Любая помощь, которую кто-либо может мне оказать, будет очень признательна.

Что я уже пробовал:

А вот и технические детали...

* Оба веб-сервера являются Windows Server 2012/R2.

* Настройка IIS идентична для обоих приложений на обоих веб-серверах.

* Я синхронизировал все шрифты и настройки шрифтов на обоих веб-серверах. Это точно такое же количество и файлы для шрифтов на обеих машинах.

* Приложение является внутренним для нашего отдела, и доступ к нему контролируется через Active Directory. Не уверен, что это имеет значение для этого, но лучше иметь слишком много информации, чем недостаточно.

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

* Шрифт установлен правильно и правильно отображается в Crystal Report creator на машине разработки (моя локальная машина используется для кодирования, компиляции и развертывания приложения).

* Результаты одинаковы независимо от используемого браузера.

* Я зашел в Crystal Report, щелкнул правой кнопкой мыши -> Design -> Default Settings -> Fonts Tab. А потом установить по умолчанию шрифты, чтобы отсканировать и распознать продленным на каждый возможный объект.

Richard Deeming

Вы перезапустили рабочий сервер с тех пор, как установили шрифт?

DanielEvansJr

Спасибо за ответ, Ричард. Нет, не видел. Я всего лишь скромный разработчик, а не сисадмин. Но я полагаю, что могу запланировать перезапуск. Я отвечу вам с результатами.

Richard Deeming

Я знаю по опыту, что IIS / ASP.NET не принимает изменения, внесенные в установленные шрифты, пока вы не перезагрузитесь. :)

DanielEvansJr

Милый причудливый Моисей! Это сработало! Перезагрузка системы после рабочего дня вчера и сегодня все показывает, как и должно быть! Мистер Диминг, сэр, я дарую вам хорошую карму и пожертвую в вашу честь одну из мягких игрушек моей подруги. Спасибо!

Richard Deeming

Я не могу нести ответственность за любую травму отношений, вызванную жертвоприношением чучела животного! :)

Я опубликую решение, чтобы удалить это из списка "без ответа".

1 Ответов

Рейтинг:
2

Richard Deeming

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

Без перезапуска только текущий сеанс получает уведомление о новом шрифте. Другие сеансы, такие как ASP.NET, не уведомляются и не смогут использовать новый шрифт.

Это иногда можно избежать перезагрузки, позвонив по телефону AddFontResource[^] из кода, выполняемого в целевом сеансе. Но по моему опыту, вам все равно нужно, по крайней мере, перезапустить IIS, чтобы изменения были приняты.