Во многих настройках Windows при печати непосредственно на принтер два файла обычно создаются в каталоге spool windows «C: \ Windows \ System32 \ spool \ PRINTERS». Примерами этих файлов являются файл спула «80021.SPL» и теневой файл «80021.SHD». Файл спула содержит мясо и картофель инструкций по рисованию, чтобы принтер мог распечатать страницу. Данные в этом файле spool поставляются в smorgasbord разных форматов в зависимости от технологии языка и используемого драйвера печати. Однако при печати на принтере, который находится на сервере печати, вместо него создается один «.TMP» файл и передается на сервер печати. Я считаю, что справедливо предположить, что это только файлы .SHD и .SPL объединены в один файл транспорта, чтобы получить его на сервере. Тем не менее, его невозможно прочитать, я не уверен, что его зашифрованный, зашифрованный или что-то, но я не могу его расшифровать. При печати PDF-файлов вы обычно можете видеть текстовые инструкции PostScript в файле spool (.SPL), просто открыв его и просмотрев в текстовом редакторе. Вы даже можете отправить этот файл спула (.SPL) в средство просмотра постскриптумов, например GhostScript, и показать ему страницы, нарисованные на экране. Но когда задание все упаковано в .TMP-файл, это в основном просто двоичная куча бит. Кто-нибудь знает, как распаковать данные из этих транспортных файлов .TMP?Формат файла для файлов с расширением .tmp?
ответ
Я считаю, что файл, который у вас есть, будет файлом EMF, дополненным собственной структурой MS в начале. Самый простой способ узнать, имеете ли вы дело с структурой EMF, - это искать EMF-символы ANSI в файле tmp, который у вас есть.
Предполагая, что вы найдете эти символы, это просто вопрос удаления данных структуры собственности из начала файла, а затем обработки его как стандартного файла EMF. К счастью, все файлы EMF имеют стандартный формат заголовка, поэтому он должен разумно определить, где начинается файл EMF.
Существует хорошее описание заголовков файлов EMF here
Я уверен, что это не так. Я создал парсер EMF, который работает, и он не может создавать заголовки или хвосты этих файлов. Я уверен, что это комбинация файлов .SHD и .SPL и вполне возможно зашифрована для транспорта на сервер печати. Но я не уверен. – Ultratrunks
@Ultratrunks: Я думаю, что вы, возможно, неправильно поняли мой пост. Парсер EMF не сможет открыть файл, пока вы не удалите мусор с начала файла. Изучите файл tmp и найдите заголовок EMF, а затем удалите все до начала заголовка. – BBoy
@Ultratrunks: Почему бы вам просто не посмотреть точные настройки очереди вашего принтера? Все это можно найти в «свойствах» очереди. Посмотрите на вкладку «advanced», чтобы найти точный формат формы катушки; помните, что он может быть установлен в значение, которое не является значением по умолчанию. Но, скорее всего, это будет вариант EMF. –
Я знаю, что немного поздновато, но в конечном счете были в состоянии найти решение? –
@ ХаршПандей, а не по этому пути я не был. Драйверы очень специфичны в том, как они записывают данные локально на диск. Только очень небольшой процент драйверов, с которыми я столкнулся, даже записывает свои данные спула в завершение на диск. И вдобавок к этому есть около дюжины конкурирующих форматов файлов спула. EMF, PCL (тонны версий), PostScript и т. Д. Лучший способ поймать его, если вы хотите посмотреть на него, - это поймать его в сети. Port 9100 для формата RAW, и вы можете посмотреть любой порт для другого формата LPR. – Ultratrunks