PrintMirror [A print viewer utility by Vipin Aravind]
http://angelfire.com/extreme4/vprint/prntmr1.2.zip - крохотная программка (28 Кб дистрибутив) с возможностью извлекать .EMF-векторный рисунок для каждой отправленной на печать страницы из спула любого Post-Script-принтера!!!! Причём получается сразу векторный рисунок маленького размера, но очень высокого качества (которое, правда, зависит от той программы, из которой печатают, что позволяет тестировать программы. Наилучшие результаты достигаются при печати из программ Microsoft, AutoCad и Corel WordPerfect, поскольку они не конвертируют текст в кривые при выводе на печать. Все программы Adobe, а также CorelDraw - конвертируют. Единственная найденная мной программа, способнаяя печатать .pdf с высоким качеством без конвертации текста в кривые - 3-Heights™ PDF Printer Shell Tool - не работает с кириллицей): сохраняется вся исходная информация, буквы не конвертируются в кривые, рисунок прекрасно отображается в любой программе просмотра изображений (IrfanView, ACDSee, Brewing's View), импортируется и хорошо отображается в Microsoft Word, Power Point и т.д.!!! Очень долго искал программу с такими возможностями, перепробовал все маститые векторные пакеты, и наконец обнаружил программку размером в 28 Кб (!), которая делает это лучше их всех! Оказывается, создание таких файлов является вполне естесственной функцией Windows (такой файл автоматически создаётся Windows всякий раз, когда вы печатаете), только глубоко запрятанной и долгое время являвшейся тайной за 7-ю печатями! Только недавно тайна этой очень важной недокументированной возможности Windows была наконец-то раскрыта индийским программистом Vipin Aravind (см. ссылки на его статьи на странице программы
http://www.angelfire.com/extreme4/vprint/)! Работает программа только под Windows 2000 и XP. Кроме того, утилиту можно использовать для просмотра рисунка, непосредственно отправляемого на печать при печати документа.
Для установки программы необходимо, чтобы в системе уже был установлен какой-нибудь Post-Script принтер (не рекомендуется, но можно даже виртуальный, как у Acrobat Distiller или ACDSee Canvas X, хотя попытка привязать её к устанавливаемому по умолчанию порту Acrobat Distiller 7.0 приводит к ошибке - это можно обойти, выбрав создание нового порта такого типа на соответствующей странице мастера установки нового принтера. Однако независимо от этого печать из Acrobat 7 на PrintMirror даёт некачественные таблицы со съехавшими границами и конвертацию текста в кривые). Если физического и виртуального принтера нет, можно установить входящие в поставку Windows дрова для любого Post-Script принтера аналогично нижеследующей инструкции, а затем привязать PrintMirror к порту этого принтера, как описано ниже. Только порт надо выбрать реально существующий (LPT1 присутствует на любом компьютере, так что это надёжно), иначе это приведёт к неработоспособности драйвера принтера и PrintMirror. Распаковываем содержимое архива в любую папку (её потом нельзя будет переименовать или удалить, поэтому подумайте!), после чего в "Панели управления" -> "Принтеры" выбираем "Установка принтера", "Далее", убираем галочку "Автоматическое определение и установка принтера Plug&Play", "Использовать имеющийся порт", прокручиваем вниз список и выбираем порт установленного в системе принтера (например, LPT1, на который я установил дрова для HP Color LaserJet 8500 PS из стандартной поставки Windows 2000), "Далее", "Установка с диска", указываем путь к папке, куда распакован дистрибутив программы, "OK", "Далее", "Далее", "Далее", "Далее", "Готово". Когда появится окно "Цифровая подпись не найдена. Продолжить установку?", нажать "Да", после появляется запрос "Необходим файл prntmrd.dll", надо снова указать путь к той папке, куда вы распаковали дистрибутив и нажать "OK".
При печати на принтер PrintMirror после закрытия окна PrintMirror на принтер, к которому привязана эта программа, ОТПРАВЛЯЕТСЯ ПУСТАЯ СТРАНИЦА! Очередь печати вначале открывается, а потом сама закрывается, так что напечатанные документы в очереди не накапливаются! Но при использовании её на базе виртуального принтера типа Canvas X недостаток в том, что программа, на которую перенаправляется печать, будет запускаться каждый раз, как вы закроете окно PrintMirror.
Ещё одно замечание: если вы всё же напортачили с установкой этого драйвера, созданный принтер можно удалить через остнастку "Принтеры", если предварительно очистить очередь печати для него (пока не очистите, Windows его не удалит).
А вообще, возможностью печатать в .EMF обладает также программа FinePrint (КАКИЕ ЕЩЁ?). Тем не менее, PrintMirror зачастую извлекает намного более качественный .EMF, чем тот, что генерирует FinePrint... Особенно это заметно при печати из PowerPoint,MS Viso или Word 2003 повёрнутого на произвольный угол EMF-рисунка: PrintMirror выдаёт прекрасный векторный рисунок c повёрнутыми на произвольный угол прямыми линиями, а FinePrint (как и pdfFactory выдаёт PDF) выдаёт как-то по-дурацки преобразованный векторный рисунок меньшего размера с более низким качеством (сделанный, как это ни невероятно "а-ля растровый низкого разрешения", но при это все пиксели растра оказываются конвертированы в векторные уголки. Повёрнутая под углом в нём прямая линия оказывается аппроксимирована последовательностью векторных уголков... абсурдно, н факт. Происходит это только с прямыми линиями, текст не портится)... К аналогичным, но ещё более ярким выводам в пользу этой програмы приводит сравнение её со встроенной в PowerPoint,Publisher и MS Visio возможностью конвертации внедрённого объекта Word в рисунок .EMF: PrintMirror выдаёт более простой и совместимый EMF, чем тот, что получается при экспорте средствами Microsoft. С преобразованиями последнего возникают проблемы даже у создавших его MS-программ, чего не скажешь о .EMF, извлечённом PrintMirror!
В общем, это программа MUST HAVE, и является по меньшей мере необходимым дополнением MS Office, а зачастую и просто уникальной утилитой, позволяющей обойти ограничения, навязанные производителями программного обеспечения и тестировать качество работы приложений!
Для обсуждения работы программы создана тема
http://forum.ru-board.com/topic.cgi?forum=5&topic=18243