Печать из Internet Explorer и получение 20 страниц postscript вместо - PullRequest
0 голосов
/ 21 февраля 2012

У меня очень простая веб-страница, которая обычно печатается правильно из IE на многих разных компьютерах.Сама страница является просто HTML-таблицей и заголовком.Я попытался распечатать домашнюю страницу Google, и она была напечатана правильно, поэтому эта проблема относится только к моей странице.

Страница выглядит правильно в предварительном просмотре.Однако, когда он выходит из принтера, появляется около 20 страниц, которые выглядят как postscript и шестнадцатеричные.

Первая страница содержит часть строки запроса моей страницы (есть куча параметров)Далее следует несколько строк, которые начинаются:

@PJL COMMENT XRXbegin
@PJL COMMENT OID_ATT_JOB_OWNER "**user's name not included**'
@PGL COMMENT OID_ATT_JOB_NAME "** my url **
..etc

then
%!PS-Adobe-3.0
%%Title: **my url again**
%%Creator: PScript5.dll Version 5.2.2
..etc

then
%%BeginResource: file Pscript_WinNT_ErrorHandler 5.0 0

then
lot's of what I'm assuming is postscript then about 20 pages of hexadecimal

это HTML

<body onLoad="window.print();" style="font-size:150%">
    <div style="width:750px">
        <div>
            <span class="fieldName">Email:</span>
            <span class="fieldValue">an email address </span>
        </div>                                
        <div>
            <span class="fieldName">Date:</span>
            <span class="fieldValue">2/18/2012 8:16 PM</span>
        </div>
    </div>
    <div class="nopass"><!-- clears floats --></div>
</body>

1 Ответ

2 голосов
/ 22 февраля 2012

Я столкнулся с этим вопросом 15 лет назад. Я думаю, что происходит то, что вы используете неправильный драйвер принтера для принтера, на который отправляете. Когда IE генерирует код для печати страницы на языке описания страниц, он добавляет преамбулу (в данном случае это все, что находится перед строкой, начинающейся как «%! PS-Adobe-3.0»)

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

Два исправления:

  1. Выберите подходящий драйвер принтера для принтера, на который хотите печатать. Возможно, вам придется установить его, если это еще не сделано.

  2. Печать.

или

  1. Отметьте «печать в файл». Сохранить в файл.
  2. Откройте необработанный вывод postscript и отредактируйте преамбулу.
  3. открыть окно DOS
  4. установите принтер, на котором вы хотите печатать, что-то вроде: lpt1
  5. Я уже не помню точный синтаксис в DOS, но, вероятно, это: copy file.pdf: lpt1
  6. ваш принтер должен поддерживать PostScript и должен делать это без преамбулы.

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

Обновление: "XRXbegin "в преамбуле указывается, что используемый вами драйвер от Xerox.

Поскольку URL-адрес уникален для страницы, которую вы пытаетесь распечатать, фактическое имя может сбить с толку принтер. В URL-адресе может быть указан процент процента или что-то еще, что используется для языка HP PCL.

...