понедельник, 5 мая 2008 г.

EndNote – справочное руководство по использованию



Глюки EndNote:

В Office 2003 SP2 (и ещё хуже в SP3) при добавлении цитаты в текст или выполнении команды Format Bibliography происходит многократная разбивка документа на страницы, отжирающая уйму времени. После обработки каждого поля (Field) цитаты полностью обновляется разбивка документа на страницы и нумерация страниц (и даже нумерация сносок)! Единственный способ обойти этот глюк – перед выполнением подобного действия перейти в режим отображения документа «Обычный режим» или «Веб-документ».

Если название статьи (поле Title библиографической карточки) ввести с пробелом на конце, то точка, идущая после названия, удаляется! Пример шаблона, в котором точка теряется (точка выделена):

Author (Year)|: Title.| // Journal,| Volume|(Issue)|: Pages|.

В результате выполнения команды Remove Field Codes параметры страницы в первом разделе документа (т.е. до первого Разрыва раздела любого типа) сбрасываются на параметры страницы по умолчанию (в остальных разделах этого не происходит). Кроме того, сбивается вёрстка документа на всех остальных страницах (съезжает текст) – несмотря на то, что в других разделах параметры страницы и форматирование не сбиваются. Поэтому в некоторых случаях более удобной может оказаться функция Word «разрыв связи с полем» (UnlinkFields) (надо выделить участок документа, где требуется удалить коды полей, и нажать Ctrl+6 или Ctrl+Shift+F9). В результате все текстовые поля превратятся в простой текст, а все внедрённые объекты превратятся в картинки (в т.ч. объекты MathType)*. Форматирование документа совершенно не пострадает.

Общий способ обхода глюка таков: нужно создать копию исходного документа, удалить всё содержимое (Ctrl+A, Del) или выделить его (Ctrl+A), затем вставить туда целиком документ (скопировать по Ctrl+A), созданный командой Remove Field Codes. Правда, параметры страницы первого раздела всё же сбиваются, но зато текст во всём остальном документе не съезжает, оставаясь свёрстанным так же, как был в исходном документе.

Ещё один способ обхода: создать свой собственный макрос, выполняющий для заданных типов полей команду UnlinkFields (путём автоматического поиска каждого поля заданного типа, выделения поля и применения к нему этой команды). Детальные инструкции (источник идеи).

В версии X.0.2 исправлен глюк, связанный с потерей символов Unicode при формировании списка литературы в документе, если основной шрифт не содержит такого символа. Теперь символы Unicode всегда форматируются шрифтом Lucida Sans Unicode (или Arial Unicode - так и не понял, по какому критерию это меняется).

В версии X.0.2 появилась проблема: панель инструментов EndNote X в Word невозможно отключить. Решение: удалить эту панель инструментов через диалог Настройка панелей инструментов, предварительно создав пользовательскую панель с нужными кнопками (в режиме настройки перетащить кнопки с панели EndNote X при нажатой клавише Ctrl). При этой все подпункты в меню Сервис::EndNote X сохраняются.

Другой способ, который помог после восстановления настроек Office с помощью мастера воостановления настроек (они были сделаны до установки обновления до версии X.0.2): удалить из папки
C:\Documents and Settings\admin\Application Data\Microsoft\Word\STARTUP
файл ENWebCwyw.dot. Он на фиг не нужен.

В версии X1 эта проблема не наблюдается.

Если в Numbered-стиле внести дополнительные поля в цитаты (например, поле Cited Pages, соответствующее содержимому поля Pages в диалоге Edit Citation) – в результате последовательные номера перестают превращаться в диапазоны (хотя соотв. галочка стоит): например, получается [2, 3, 4, 5] вместо [2-5]. Поэтому поле Pages в диалоге Edit Citation, для Numbered-стиля, фактически, бесполезно! К большому сожалению, это поле нельзя использовать в Bibliography:Templates (оно недоступно). В результате, ссылаясь на другие страницы той же книги, надо создавать новую библиографическую карточку…

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

Eсли библиографическая карточка удалена, и вместо неё создана новая карточка с теми же именем автора и годом, то EndNote считает, что цитаты в документе, соответствующие этим двум карточкам, эквивалентны (если включена опция Merge duplicates in bibliography). При этом за основу для создания Списка литературы берётся первая ссылка из встреченных в документе. Если соответствующая этой ссылке библиографическая карточка была удалена из библиографии, EndNote использует её версию, внедрённую в документ Word, и применяет к этой версии соответствующий стиль форматирования. Никаких сообщений об ошибке при этом не выдаётся. А все последующие цитаты в документе, ссылающиеся на другую (реально существующую) библиографическую карточку, но с теми же именем автора и годом, будут соответствовать этой же записи в Списке литературы, автоматически формируемом EndNote. В результате можно долго разбираться, почему при обновлении библиографической карточки не обновляется Список литературы! Ответ простой: потому что в документе оказалась ссылка, не соответствующая никакой карточке, и идущая при этом в документе до той, которая соответствует реальной библиографической карточке, которую мы обновляем. При этом обе ссылки совпадают по имени автора и году, поэтому рассматриваются EndNote как дубликаты. При включённой опции Merge duplicates in bibliography только первая ссылка будет определять содержимое соответствующей записи Списка литературы.
Способ обнаружить это - отключить опцию Merge duplicates in bibliography! Тогда в Списке литературы сразу станет как минимум на одну ссылку больше: две вышеописанные ссылки "разделятся". Опция Merge duplicates in bibliography включена по умолчанию.

Неочевидные особенности:

  • В свойствах стиля в разделе Bibliography настройки “Author Name” применяются только к первому полю в Библиографической карточке. Ко всем остальным полям применяются настройки “Editor Name”. :(
  • При форматировании различаются цитаты в тексте и в сносках. За формат цитат в сноска отвечает раздел Footnotes в диалоге редактирования стиля. Рекомендуется в подразделе Templates этого раздела выставить Format citations in footnotes: Same as citations – тогда в сносках цитаты будут такими же, как в тексте.

Редактирование библиографической карточки

  • Author names can be entered two ways: either “First Middle Last” or “Last, First Middle”. Individual author names must be entered one per line. As you type, EndNote will suggest names similar to the one you are entering. It indicate that it is a new name in the Author term list for this library if the name appears in red text.

NOTE: The auto-complete feature can be turned on or off with EndNote Term List preferences. It is available for Author fields when you enter author names with the last name first.

  • If you directly edit a citation or the bibliography, the changes will be lost when you Format Bibliography again. If you want to make a change to an individual citation, use the Edit Citation command. You can add or remove citations from a multiple citation, or change the order of citations.
    Example: For some bibliographic styles, the majority of references are cited in an “Author, Date” format; but if the author’s name is mentioned within the paragraph text, the style dictates that the name not be repeated in the citation.

NOTE: Typing cited page numbers in this box does not guarantee that they will appear in your citation. You must use an output style that lists the “Cited Pages” field in the Citation template or footnote template of the output style. You can edit any style to include this special field.

  • После внесения изменений в карточку обновить библиографию в Word можно, вызвав Format Bibliography, и просто нажав OK. Этого достаточно.

Deleting Citations in Word document

To delete an unformatted citation, simply highlight the entire citation (including delimiters), and press the backspace or delete key.

While it is possible to highlight a formatted citation and simply press the delete key on your keyboard, we do not recommend you do that. If you do not completely delete the citation and all associated codes, you could corrupt your document.

To safely delete a formatted citation:

1. Highlight the citation you want to delete.

2. From the Tools menu in Word, go to the EndNote X submenu and select Edit Citation(s) to display the EndNote Edit Citation dialog. All of the cited references in the document are listed in the left column of the dialog. An ellipses shows where a citation appears within text. The line below shows the cited reference(s). The citation you highlighted in the document should be highlighted in the list.

3. In the left column, make sure the highlighted citation is the one you want to delete. If the citation is part of a multiple citation, make sure you select just the citation you want to delete.

4. Click Remove.

5. Click OK.

Moving or Copying Citations in Word document

You can highlight any text that includes citations, then use the Edit menu commands to Cut or Copy and then Paste it elsewhere in the document. You can do this with formatted or temporary (unformatted) citations. To move or copy only the citation itself, make sure you highlight the entire citation (including surrounding delimiters). Then Cut or Copy and Paste it elsewhere in the document.

Rules and Special Formatting Characters in Output Style

Правило 1: Любой текст или пунктуация, не отделённый имени области пробелом, «приклеен» к окружающему тексту. Пример:

Volume (Issue)

Здесь скобки вокруг “Issue” будут отображаться, только если поле Issue заполнено.

Правило 2: Пунктуация между областями делает последующую область зависимой от предшествующей. Пример:

Volume:Issue

Если поле Volume не заполнено, то Volume:Issue будет целиком удалено при форматировании, даже если поле Issue заполнено. Но если Volume заполнено, а Issue - нет, то результат будет такой: Volume: (двоеточие сохраняется).

Правило 3: Первый пробел после названия области «приклеен» к этой области, последующие - независимы.

Правило 4: Независимый (окружённый пробелами) текст всегда присутствует в библиографии.

- Неразрывный пробел (вводится по Ctrl+Alt+Space или вставкой Link Adjacent Text из списка Insert Field) – «склеивает» расположенный рядом текст, в результате чего он обрабатывается как одна единица. Поэтому, если какое-то поле в библиографической карточке не заполнено, весь связанный с именем этого поля текст будет удалён. Неразрывный пробел преобразуется в обычный в процессе форматирования.

| - Вертикальная черта – действует обратно Неразрывному пробелу. При форматировании удаляется.

Editor – помещение имён полей в апострофы запрещает рассматривать их как имена полей, и они обрабатываются как текст.

^ - Разделитель форм единственного/множественного числа. Пример:

Author. "Title," Journal Volume|. Issue| (Year)|:p.^pp. Pages|.

Здесь при форматировании будет подставлено “p.”, если в поле “Pages” указана только одна страница, и использовано “pp.”, если указано несколько.

Plain Text in Output Style and EndNote window

The Plain Text, Plain Font, and Plain Size commands on the Edit menu or on the Text Style toolbar (or from the Edit menu) remove overriding fonts, text sizes, or text styles from the selected text in a reference or a Style window.

When EndNote creates a bibliography, text in Plain Font and Plain Size uses the font and size of your paper. To use these commands, first select the text you want to change, and then choose Plain Text, Plain Font, or Plain Size from the Edit menu or the Text Style toolbar.

The default font used to display EndNote’s “Plain Text” is the default font for your operating system, but it can be changed using the General Display Font option in the Display Fonts section of the EndNote preferences. (Choose Preferences from the Edit menu and click the Display Fonts option.) The General Display Font setting changes the font in which the references are displayed but does not affect the font of a bibliography created for a word processing document.

EndNote Cleans Up while formatting

Normally, field text is entered into EndNote without ending punctuation, so that the selected output style can supply punctuation as required by that particular style. However, when you download references from various sources, some information providers may include punctuation.

For example, when an output style directs EndNote to insert a period after a field, EndNote must determine what to do with any punctuation that already exists at the end of the field in the reference.

Тем не мене, если после инициалов автора поставить пробел (при вводе имени автора в формате:
Durov, V.A. ”), то этот пробел удалён не будет, и будет стоять перед запятой или точкой!

Punctuation found, plus

punctuation added by output style:

Replaced with:

spaces, period

period

comma, period (,.)

period

semicolon, period (;.)

period

colon, period (:.)

period

double periods (..)

single period

question mark, period (?.)

question mark

exclamation point, period (!.)

exclamation point

EndNote treats other forms of extra punctuation like this:

Punctuation found, plus

punctuation added by output style:

Replaced with:

double spaces

single space

double commas (,,)

single comma

double semicolons (;;)

single semicolon

double question marks (??)

single question mark

double periods (..)

single period

comma, period (,.)

period

question mark, period (?.)

question mark

exclamation point, period (!.)

exclamation point

question mark, exclamation point (?!)

question mark

exclamation point, question mark (!?)

exclamation point

One set of punctuation that is never replaced is the period, comma (.,) because it may be used for abbreviations like ed., et al., etc.

Горячие клавиши:

CTRL+N = New Reference

CTRL+W = Close Reference

Ctrl+C -> Ctrl+V = копировать цитату из окна EndNote и вставить её в Word. Также разрешается перетаскивание цитат из окна EndNote в Word.

Key Command

Function

CTRL+N

New Reference

CTRL+CLICK

to select more than one reference

SHIFT+CLICK

to select a range of references

CTRL+E

opens selected reference(s)

CTRL+W

Close Reference (or other active window)

CTRL+SHIFT+W

closes all windows of the same type as the active window

TAB

selects the next field

SHIFT+TAB

selects the previous field

When text is selected:

CTRL+T

sets the text style to Plain

CTRL+L

selects the Plain font

CTRL+B

turns bold on and off

CTRL+I

turns italic on and off

CTRL+U

turns underline on and off



* В справке нагло пишут: «If you find that the Remove Field Codes command produces undesired layout or other formatting changes to your document, you can remove all Microsoft Word field codes, which may yield better results.»

Печать в EMF: PrintMirror, Leadtools ePrint и другие программы для печати в EMF и конвертации векторных форматов

PrintMirror

PrintMirror [A print viewer utility by Vipin Aravind[1]] – крохотная бесплатная программка (28 Кб дистрибутив) с открытым исходным кодом и просто потрясающей возможностью: она позволяет автоматически извлекать .EMF-векторный рисунок для каждой отправленной на печать страницы из спула любого PostScript-принтера!!!! Причём получается сразу векторный рисунок маленького размера, но очень высокого качества (которое, правда, определяется той программой, из которой печатают. Наилучшие результаты достигаются при печати из программ Microsoft, AutoCad и VariCAD, Corel WordPerfect, Adobe Designer, QuarkXPress, RagTime Solo, wxMaxima и Mathematica, поскольку они не конвертируют текст в кривые при выводе на печать и не инсталлируют временные шрифты, как Acrobat; последнее приводит к тому, что после их автоматической деинсталляции при закрытии Acrobat при просмотре полученного .EMF-рисунка вместо отсутствующих временных шрифтов подставляется шрифт по умолчанию - Arial): сохраняется вся исходная информация, буквы не конвертируются в кривые, рисунок имеет маленький размер и прекрасно отображается в любой программе просмотра изображений (IrfanView, ACDSee, Brewing's View), импортируется и хорошо отображается в Microsoft Word, Power Point и т.д.!!! Очень долго искал программу с такими возможностями, перепробовал все маститые векторные пакеты, и наконец обнаружил программку размером в 28 Кб (!), которая делает это лучше их всех! Оказывается, создание таких файлов является вполне естественной функцией Windows (такой файл автоматически создаётся Windows всякий раз, когда вы печатаете), только глубоко запрятанной и долгое время являвшейся тайной за 7-ю печатями! Только недавно тайна этой очень важной недокументированной возможности Windows была раскрыта индийским программистом Vipin Aravind (см. ссылки на его статьи на странице программы) и стала доступной для всеобщего удовольствия благодаря его крутой программке! Работает программа только под Windows 2000 и XP. Кроме того, утилиту можно использовать для предпечатного просмотра страницы перед отправкой на печать из программ, не имеющих такой функции.

Вообще, надо признать, что не абсолютно все программы при выводе файла на печать создают .EMF-рисунок, и он не обязательно идентичен PostScript-векторному рисунку, создаваемому при выборе опции "Печать в файл". Это особенно заметно при печати из Acrobat: в .PS-файле, получаемом при выборе опции "Print to file", весь текст присутствует в виде текста, буквы не конвертированы в кривые, поэтому из Acrobat вполне можно напечатать PDF-файл на любой виртуальный принтер, принимающий PostScript, например на принтер Acrobat Distiller, docPrint PDF Driver, PrimoPDF, CutePDF, PDF995 (последние три используют GhostScript, но по-разному), и эти программы сгенерируют из выводного файла Acrobat прекрасный свой собственный PDF, в котором текст не конвертирован в кривые. Однако извлекаемый PrintMirror .EMF-рисунок оказывается на порядок большего размера, чем должен быть, и все русские буквы в нём конвертированы в кривые (цифры и латинские буквы - не конвертируются, но в качестве шрифтов для них указываются временные файлы типа "ZTR4A.tmp", "ZTR4B.tmp", "ZTR4C.tmp" и т.д. находящиеся в директории %TEMP%, то есть шрифты, внедрённые в PDF-файл, и теперь временно инсталлированые в системе для печати данного документа. Эти файлы удаляются при закрытии Acrobat. Поэтому сразу после извлечения .EMF ДО закрытия Acrobat он отображается так, как и должен, а после закрытия Acrobat все шрифты при отображении сбрасываются на Arial в силу отсутствия в системе необходимого шрифта). Изменить такое поведение тонкой настройкой Acrobat не удалось - при изменении параметров по умолчанию, не важно в какую сторону, качество печати только падает (начинает конвертировать всё в растр и т.п.). Кроме того, в созданном Acrobat .EMF-рисунке линии границ таблиц (если таблицы есть в документе) печему-то неточно совпадают друг с другом, вылезают за пределы таблицы (хоть и не незначительно, и заметно это только на экране при некоторых масштабах отображения страниц документа), чего не наблюдается при печати таблиц из программ Microsoft.

Есть программы, которые при печати вообще не создают .EMF-рисунка.

Кроме того, некоторые виртуальные принтеры наоборот, принимают не PS-выводной файл, а только .EMF-рисунок, например: ClickBook, Solid Converter PDF, SVGmaker, Amyuni Document Converter, NitroPDF printer, VeryPDF.com PDFcamp Printer, FinePrint FinePrint и FinePrint pdfFactory Pro. (Причём FinePrint pdfFactory, Amyuni Document Converter и SVGmaker превращают при этом обычно все векторные рисунки в растровые низкого разрешения.)

К сожалению, все программы Adobe (кроме Adobe Designer, но он не всегда импортирует PDF правильно, как ни странно), а также CorelDraw конвертируют текст в кривые при выводе на печать в формате .EMF (к тому же, при печати из Acrobat английские шрифты сбрасываются на Arial). Мне удалось найти только две программы, способных печатать .PDF с высоким качеством без конвертации текста в кривые и растр:

3-Heights™ PDF Printer Shell Tool - не работает с кириллицей: все кириллические символы просто удаляются из выводного файла (программа позволяет задавать, кстати, в каком формате выводить файл на печать - PS или EMF);

Amyuni PDF Creator 2.0е - не вполне понимает кириллицу, особенно полужирныый курсив. Ничего не удаляет из документа, ничего не конвертирует в кривые, но часть символов превращаются в абракадабру или совсем непонятно что. Может быть, в будущих версиях эту проблему всё-таки решат, потому что именно так он и отображает документ на экране, как выводит его на печать...

УСТАНОВКА PrintMirror

Для установки программы необходимо, чтобы в системе уже был установлен какой-нибудь PostScript-принтер (не рекомендуется, но можно даже виртуальный, как у Acrobat Distiller или ACDSee Canvas X, хотя попытка привязать её к устанавливаемому по умолчанию порту Acrobat Distiller 7.0 приводит к ошибке - это можно обойти, выбрав создание нового порта такого типа на соответствующей странице мастера установки нового принтера). Если физического и виртуального принтера нет, можно установить входящие в поставку Windows дрова для любого PostScript принтера аналогично нижеследующей инструкции, а затем привязать PrintMirror к порту этого принтера, как описано ниже. Только порт надо выбрать реально существующий (LPT1 присутствует на любом компьютере), иначе это приведёт к неработоспособности PrintMirror. Распаковываем содержимое архива в любую папку (её потом нельзя будет переименовать или удалить, поэтому подумайте!), после чего в "Панели управления" -> "Принтеры" выбираем "Установка принтера", "Далее", убираем галочку "Автоматическое определение и установка принтера Plug&Play", "Использовать имеющийся порт", прокручиваем вниз список, и выбираем порт установленного в системе принтера (например, LPT1, на который я установил дрова для HP Color LaserJet 8500 PS из стандартной поставки Windows 2000. Этот драйвер "честно" работает с .EMF, в отличие от многих других, которые конвертируют весь текст в растр.), "Далее", "Установка с диска", указываем путь к папке, куда распакован дистрибутив программы, "OK", "Далее", "Далее", "Далее", "Далее", "Готово". Когда появится окно "Цифровая подпись не найдена. Продолжить установку?", нажать "Да", после появляется запрос "Необходим файл prntmrd.dll", надо снова указать путь к той папке, куда вы распаковали дистрибутив и нажать "OK".

При печати на PrintMirror после закрытия окна PrintMirror на принтер, к которому привязана эта программа, ОТПРАВЛЯЕТСЯ ПУСТАЯ СТРАНИЦА! Очередь печати вначале открывается, а потом сама закрывается, так что напечатанные документы в очереди не накапливаются! Но при использовании её на базе виртуального принтера типа Canvas X недостаток в том, что программа, на которую перенаправляется печать, будет запускаться каждый раз, как вы закроете окно PrintMirror.

Ещё одно замечание: если вы всё же напортачили с установкой этого драйвера, созданный принтер можно удалить через остнастку "Принтеры", если предварительно очистить очередь печати для него (пока не очистите, Windows его не удалит).

В общем, это программа MUST HAVE, и является, по меньшей мере, необходимым дополнением MS Office, а зачастую и просто уникальной утилитой, позволяющей обойти ограничения, навязанные производителями программного обеспечения и тестировать качество работы приложений!

Недостатки: при установке некоторых других драйверов виртуальных принтеров, а также реальных, может сбиваться настройка PrintMirror, и использовать их драйвера для извлечения .EMF-файла. Соответственно, качество генерируемого .EMF-файла может сильно снизиться. При удалении этих принтеров через папку "Принтеры" восстанавливается, и начинает работать нормально. Заметьте, что некоторые драйвера реальных принтеров создают .EMF-рисунок, в котором всё конвертировано в растр! Не стоит привязывать к ним PrintMirror. При печати из Acrobat русские буквы конвертируются в кривые, а английские шрифты оказываются сброшены на Arial после закрытия Acrobat (поскольку в самом файле для английских букв оказывается указан шрифт вроде "ZTR3F.tmp", то есть временный шрифт, который изначально был внедрён в .PDF-файл, а теперь временно инсталлирован в системе для печати данного документа).

Импортабельность создаваемых .EMF-файлов целиком зависит от программы, из которой печатают. При печати из Acrobat получаемый файл в CorelDraw, Canvas X и Illustrator не импортируется (в отличие от печати на LEADTOOLS ePrint IV). При печати из Word 2000 файл прекрасно импортируется в Illustrator и CorelDraw 12.


LEADTOOLS ePrint IV

LEAD Technologies LEADTOOLS ePrint IV – Программа размером 15,3 Мб и стоимостью $49 (однако в пробной версии функция печати в .EMF работает без ограничений, т.е. для этой цели она бесплатна). Отличительная особенность: при печати в .EMF и .WMF - получается файл большего размера (в котором каждая буква позиционирована отдельно), импортабельный в CorelDraw 12 и Canvas X (в отличие от файла, извлекаемого PrintMirror, который импортируется не всегда). При печати из Acrobat английские шрифты не сбрасываются на Arial после закрытия Acrobat (как в PrintMirror), и при импорте извлечённого рисунка в CorelDraw они, как это ни удивительно, правильно распознаются (но при импорте полученного при импорте в Illustrator – сбрасываются на Arial, что ещё раз подтверждает величие Adobe)!

При печати из таких капризных приложений, как Acrobat, приходится тонко настраивать обе программы, чтобы добиться минимально удовлетворительного результата. Чтобы русские буквы при печати из Acrobat конвертировались хотя бы в кривые, а не в растр, необходимо отключить опции "Auto-Rotate and Center" и "Choose Paper Source by PDF page size" в диалоге печати Acrobat и выставить в «умолчаниях» принтера LEADTOOLS ePrint IV (вкладка “Дополнительно” свойств принтера, кнопка “Умолчания”) такую же ориентацию страницы, как в текущем документе Acrobat. Кроме того, там же в "Emulate printer" должно быть выставлено "Leadtools ePrint IV Eval", т.е. сам этот принтер. Качество оконтуривания букв при печати из Acrobat здесь по умолчанию ниже, чем в файле, извлекаемом PrintMirror, поскольку LEADTOOLS ePrint IV «перелопачивает» выводимый приложением .EMF-файл с аккуратностью, зависящей от выставленного разрешения при печати (чем оно выше – тем больше точек будут содержать ломаные, которыми программа заменяет гладкие кривые). Его можно повысить до уровня не ниже PrintMirror, если в "Настройке печати" на вкладке Graphics выставить Resolution:Custom, и указать максимальное - 1600 DPI. Размер файла при этом возрастает на четверть ("Таблица" моя заняла 2 Мб, хотя PrintMirror извлёк её в виде 718 Кб - но последний не импортировался никуда и шрифт английских букв оказывался сброшен на Arial) за счёт увеличения количества точек ломаных, которыми аппроксимируются кривые выведенного на печать векторного рисунка (хотя в IrfanView файл отображается как бы имеющим меньший визуальный размер - но это определяется вовсе не точностью описания векторных объектов, а только размером рисунка, указанным в заголовке файла).

Эту уникальную программу можно даже использовать для преобразования неимпортируемых в CorelDraw файлов в импортируемые: для этого достаточно вставить .EMF-рисунок в Word, напечатать на "Leadtools ePrint IV Eval" (рекомендуется выставить разрешение 1600 dpi в свойствах принтера), и – вуаля! – получается рисунок гораздо большего размера, но прекрасно импортирующийся в CorelDraw!

Программа также умеет перенаправлять печать на любой другой принтер. Незарегистрированная версия при этом добавляет надпись на печатаемую страницу: "Leadtools e-Print Evaluation version. Однако на извлекаемый ей файл никаких надписей не добавляется!


Работа с .EMF-файлами

Масштабируемость

При печати из Word вставленных в него векторных рисунков качество передачи формы оконтуренных букв при выводе на печать нисколько не снижается, PrinMirror извлекает рисунок, ничем не отличающийся от оригинального при просмотре на большом увеличении. Я проделал следующий эксперимент: файл с оконтуренными русскими буквами вставил в Word 2000, уменьшил в 10 раз, напечатал на PrintMirror, извлечённый файл опять вставил в Word, увеличил в 10 раз и снова напечатал на PrintMirror. Последний извлечённый и исходный файлы я открыл в двух окнах WMFView на масштабе 10000%, сделал одно из окон полупрозрачным (утилита PowerMenu) и наложил изображения буквы “и” из разных файлов – контуры этой буквы в обоих случаях точно совпали друг с другом (в обоих случаях контур был искажён, но оба контура был абсолютно одинаковы). То есть Word работает с EMF-векторной графикой без подстав, и она сохраняет все свои преимущества, ради которых ею в первую очередь, и пользуются: масштабируемость без потери качества и малый размер.

Вообще, оценить качество векторизации букв можно только, открыв полученные рисунки в программе просмотра .EMF-файлов и рассмотрев под большим увеличением буквы "а" и и (русские) – они вследствие сложной формы искажаются в первую очередь при преобразовании в контуры, и могут служить критерием качества сгенерированного рисунка. Лучшая программа для цели просмотра на большом увеличении – крохотный бесплатный MetaFile Viewer (52 Кб-файл WMFview.exe) фирмы Square One, не требующий инсталляции. Эта программа позволяет задать масштаб отображения векторного рисунка хоть 1000000%, расходуя при этом поразительно незначительный объем оперативной памяти и совершенно не загружая процессор.

Хотя Word полностью поддерживает главное преимущество векторной графики - масштабируемость - при импорте её в такие приложения, как Canvas X ситуация складывается иначе: импорт происходит путём привязывания координат объектов векторного рисунка (букв, точек кривых и handles) к координатной сетке. Последняя может иметь больший или меньший шаг. Чем меньше шаг, тем более точно будет преобразован исходный рисунок, но и тем больше места результирующий файл будет занимать на диске. Обычно шаг сетки легко настраивается в самом приложении: в Canvas X это делается путём указания “Document unit” (варианты единиц: от миль до нанометров). Поэтому при импорте в Canvas X двух файлов с оконтуренными буквами: исходного и такого же, но уменьшенного в 10 раз первый будет преобразован во внутренний векторный формат Canvas X с гораздо большей точностью, чем второй. Это связано с тем, что для второго файла шаг координатной сетки окажется в 10 раз больше, поскольку размер рисунка выставлен в заголовке файла в 10 раз меньший…

Поворот рисунка на 90°

Программа EMFexplorer умеет поворачивать .EMF-рисунки. Однако сама она сохраняет в этом формате зачастую с ошибками, поэтому более надёжные результаты получаются, если напечатать рисунок из неё на PrintMirror. Однако на данный момент программа несколько сыровата (нельзя задавать ориентацию страницы, работает нестабильно).

Программы ClickBook и FinePrint FinePrint принимают EMF-вывод на печать из приложения и позволяют перенаправлять его на другой (реальный или виртуальный) принтер. У них есть полезные опции поворота изображения, а также размещения изображений нескольких страниц на одной. Поэтому с их помощью можно получать высококачественные векторные изображения страниц печатаемого документа, повёрнутых на углы, кратные 90º. Из этих двух программ безупречно качественно работает только ClickBook, несмотря на громоздкость и менее удобный интерфейс. Соответственно, можно напечатать .EMF-рисунок на ClickBook с помощью любой программы Microsoft Office (при этом не следует опасаться потери данных и искажения рисунка – см. ниже эксперимент с масштабированием; единственный недостаток такого метода – возможность появления ненужных пустых полей по границам рисунка). Кроме того, напечатать .EMF-рисунок без возможности задания ориентации страницы (по умлочанию она Portrait, и изображение будет масшабировано так, чтобы уместиться на странице – это может приводить к появлению пустых полей у рисунков, имеющих Lanscape-ориентацию) можно с помощью одной из следующих программ: EMFexplorer, WMFview.exe (см. выше, самая надёжная), EmfScope, PrintPic.exe. А уже в ClickBook указывать соответствующую опцию, и печатать на PrintMirror. Вероятно, этот путь на данный момент самый надёжный способ повернуть рисунок против часовой стрелки на 90°.

Кроме того, Microsoft PowerPoint XP/2003, Excel XP/2003, Word 2003, Visio 2002/2003, Publisher 2003 умеют поворачивать рисунок на 90° и выводить на печать в полностью векторном формате (хотя отображается файл после поворота иногда неправильно, выводится на печать он без повреждений). Встроенная в них собственная опция сохранения внедрённого рисунка в .EMF приводит к низкокачественному растровому рисунку внутри .EMF-файла, поэтому следует пользоваться печатью на PrintMirror вместо неё.

Поворот рисунка на произвольный угол

Самым надёжным способом поворота рисунка на произвольный угол на данный момент мне представляется следующий: вставить .EMF-рисунок в Microsoft Word и преобразовать в PDF именно с помощью плагина Acrobat PDFMaker 7 for Word (который устанавливается автоматически вместе с Adobe Acrobat 7.0 по умолчанию). Затем открыть полученный файл в Illustrator 12 или CorelDraw 13, выполнить все необходимые преобразования, и экспортировать в .EMF. Если напечатать в PDF любым другим способом, при импорте полученного файла в Illustrator весь русский текст конвертируется в контуры, а при импорте в CorelDraw 13 происходит несостыковка кодировок. Более ранние версии CorelDraw отказываются импортировать созданные таким способом файлы PDF.

Импортабельность

Проблема импортабельности векторных форматов - это целая песня. EMF-закрытый формат, поэтому полной поддержкой всех его фич обладают только программы компании Microsoft. К тому, же, Microsoft постоянно усложняет его, чтобы разработчики не могли реализовать в своих программах полную его поддержку (так же, как файловую систему NTFS). На данный момент существует 3 типа файлов EMF, причём только один из них содержит фиксированный набор типов записей, остальные - "расширяемые"[2]. Однако, похоже, EMF'ами с произвольно модифицируемой ("расширяемой") спецификацией только Microsoft, пока, и пользуется - например, при экспорте из PowerPoint и Visio[3]. "Лекарством" против "расширяемости" снова оказывается PrintMirror (и ePrint): при печати на виртуальные принтеры вся расширенная спецификация преобразуется к стандартной, понятной любому не-PostScript принтеру, для которого EMF-код при печати, собственно, и создаётся!

Единственная программа, которая извлекает из спула принтера высокосовместимые .EMF-файлы – это LEADTOOLS ePrint IV (см. выше). Рисунок, который неправильно импортируется в CorelDraw или вообще не импортируется, зачастую после вставки в Word и печати на этот виртуальный принтер превращается в полностью совместимый с CorelDraw. Причём удивительно, что .EMF-файл, созданный CorelDraw, зачастую импортируется в CorelDraw с ошибками, но после обработки таким способом импортируется уже без ошибок! Правда, ePrint иногда конвертирует некоторые буквы в кривые, но не по принципу принадлежности к языку. Зачем это делается, не вполне понятно.

Единственный известный мне универсальный способ импортировать .EMF-файлы в Adobe Illustrator или CorelDraw 13 – вставлять их в Microsoft Word, преобразовывать в PDF с помощью плагина Acrobat PDFMaker 7 for Word, после чего импортировать полученный PDF в Illustrator 12 или CorelDraw 13. Если напечатать в PDF любым другим способом, при импорте полученного файла в Illustrator весь русский текст конвертируется в контуры, а при импорте в CorelDraw 13 происходит несостыковка кодировок. Более ранние версии CorelDraw отказываются импортировать созданные таким способом файлы PDF.

Другой путь – открывать .EMF-файлы в программе EMFexplorer[4], затем помещать в буфер обмена (Edit ® Copy), после чего просто вставлять в CorelDraw (можно использовать “специальную вставку” в меню Правка). С Illustrator’ом этот фокус не проходит (у него убогая функция вставки содержимого буфера обмена).

Программы Microsoft умеют правильно импортировать и масштабировать любой .EMF-файл; при выводе его на печать из них не наблюдается потери информации и снижения качества рисунка (см. «Масштабируемость» выше).


Работа с PostScript-файлами

Для импорта PostScript-файла в CorelDraw 13 часто срабатывает следующий «финт ушами»: преобразуем его в .EPS-формат, затем импортируем в CorelDraw «как инкапсулированный PostScript» в виде объекта «EPS-file», после чего экспортируем полученный рисунок как .EPS (не забыв указать в свойствах экспорта пункт “Экспортировать текст как… текст” и подпункт “Включать шрифты”) и снова импортируем, но уже как редактируемый объект – и нередактируемый файл становится редактируемым, причём текст не конвертируется в кривые и все нестандартные символы сохраняются! Если шрифты теряются, то их сопоставления в процессе повторного импорта можно непосредственно указать.


Функция Paste Special… в CorelDraw
и приложения Microsoft

При наличии CorelDraw вовсе необязательно идти сложным путём с печатью на виртуальный принтер из приложений Microsoft. Можно просто скопировать интересующую вас страницу в соответствующем приложении Microsoft, а затем воспользоваться функцией Paste Special в меню Edit CorelDraw. В появившемся диалоговом окне надо выбрать Picture(Metafile), и нажать OK. Всё, что было выделено в приложении Microsoft, будет вставлено в CorelDraw как полностью редактируемый векторный рисунок, без искажений. Соответственно, после окончания обработки для вставки обработанного рисунка в Word эффективнее всего скопировать его в CorelDraw, а затем в меню Правка Word выбрать Специальная вставка…, Рисунок – и готово! В Word вставлен векторный рисунок, причём размер у него будет такой же, как у самого файла Microsoft, из которого он изначально импортировался в CorelDraw!

А вот с Canvas X и Adobe Illustrator этот фокус не проходит: у первого серьёзные глюки с этой функцией, а у второго её и вовсе нет!


Другие найденные мной программы
с возможностями PrintMirror

O&K Printer Viewer – позволяет открывать для просмотра спул-файлы (.SPL) и экстрагировать из них напечатанные страницы в виде .EMF-файлов. Просматривать выведенные на печать страницы можно с разным увеличением (чего нельзя делать в PrintMirror). Экстрагированный .EMF-файл оказывается большего размера, но в плане совместимости не отличается от файла, извлекаемого PrintMirror. Содержимое .SPL-файла можно перенаправить для печати на другой принтер. Дополнительно к экспорту метафайла, можно скопировать содержимое напечатанной страницы как векторный рисунок. Эта функция работает несколько иначе, чем экспорт в виде метафайла, и при вставке скопированного таким образом рисунка в CorelDraw получается иной результат (в любом случае часть информации теряется или искажается, но «по-божески»). Размер дистрибутива 2,11 Мб. Программа бесплатная.

UsefulSoft Print Censor Professionalпрограмма стоимостью $99 и размером 2,2 Мб, предназначенная для облегчения управления сетевыми принтерами, и ведения статистики их использования. Позволяет также просматривать и копировать задания печати с одного принтера на другой в формате NTEMF (только для принтеров, для которых этот формат разрешён в настройках обработчика печати и которые его “поддерживают” – HP Color LaserJet 8500 PS к таким, видимо, не относится, хотя PrintMirror с ним отлично работает; кроме того, печатающее приложение тоже должно поддерживать вывод печати в этом формате, как и в случае PrintMirror) и экспортировать их в форматы EMF, WMF, BMP, JPG. Файл .EMF, извлекаемый этой программой, совершенно идентичен файлу, извлекаемому PrintMirror (по сути, они просто извлекают одно и то же одним и тем же методом).

Mabuse Virtual Printer - неплохая бесплатная программа (размер 800 Кб). В отличие от PrintMirror, выставляет в заголовке .EMF-файла стандартный размер страницы (A4), нет предпросмотра, сразу извлекает в специальную папку все отправленные на печать страницы (в PrintMirror надо каждую извлекать отдельно). Капризна, если менять настройки по умолчанию (лучше этого не делать). Разработчики обещают поддерживать продукт, так что можно установить контакт. НЕДОСТАТКИ: сложная процедура установки, капризная, при печати из Acrobat русский текст оказывается конвертирован в растровые рисунки, надо ВРУЧНУЮ ОЧИЩАТЬ ОЧЕРЕДЬ ПЕЧАТИ после работы с программой, иначе при перезагрузке он будет заново извлекать .EMF-файлы.

Amyuni EMF Printer Driver - бесплатная программка (размер 97 Кб) с удобной инсталляцией. Автоматически извлекает все отправленные на печать страницы, их не надо сохранять по одной, как в PrintMirror. Из программ Microsoft печатает так же, как и PrintMirror, но есть глюки: если документ Word содержит большой растровый рисунок, программа или начинает отжирать огромное количество памяти (и потом создаёт .EMF размером в полгига; PrintMirror создаёт файл на 2 порядка меньшего размера) или вообще не создаёт никакого файла; кроме того, если нормально извлечённый рисунок вставить в Word и напечатать на этот принтер, ни одна страница данного документа извлечена не будет. Это не касается .EMF-рисунков, созданных другими способами. При печати из Acrobat конвертирует весь русский текст в растр. Так что программа сыровата! И не развивается с 2003 г.

Two Pilots Virtual Print Pilot - программа размером 1,1 Мб и стоимостью $36. Есть возможность задавать разрешение получаемого .EMF-рисунка (100 – 1200 dpi) и выставлять в свойствах принтера Portrait или Landscape (в зависимости от этого, при печати из Acrobat получается или результат как у PrintMirror с русским текстом, конвертированным в кривые, или весь текст конвертирован в низкокачественный растр, или рисунок повёрнут и весь текст конвертирован в кривые). В остальном не отличается по результату от PrintMirror никак, за исключением того, что такого же результата здесь надо добиваться путём проб и ошибок... При печати из программ Microsoft выставление в свойствах Portrait или Landscape никак не влияет на результат.

Black Ice EMF Printer Driver (Metafile Printer Drivers for Windows XP, 2000 and NT)- имеет размер 15 Мб, стоит $2000, лицензируется только для организаций. Как это ни удивительно, несмотря на огромный размер и цену она извлекает точно такой же рисунок, как PrintMirror, только зачем-то по умолчанию извлекает .EMF-файлы в директорию %TEMP%, где их надо искать вручную, сложно настраивается из-за нагромождения бесполезных неработающих опций (изменение некоторых из которых приводит к неработоспособности программы). Результирующий файл ничем не отличается от файла, сгенерированного PrintMirror. Демонстрационная версия полнофункциональна, ограничена только по времени (можно продлять, переводя часы назад). Возможно перенаправление печати на другой принтер и задание размера страницы. В общем, те же самые возможности, что и у PrintMirror. Результирующий файл при печати из Acrobat также никуда не импортируется и шрифт английских букв оказывается сброшен на Arial после закрытия Acrobat (а русские буквы конвертированы в кривые).

VeryPDF Document Printer (docPrint) - имеет размер 10 Мб, стоит $38. В плане экспорта в .EMF из программ Microsoft работает абсолютно так же, как PrintMirror и Virtual Printer, а в остальные форматы (кроме .WMF) экспортирует с конвертацией в растр. Из Acrobat при печати в .EMF также конвертирует всё в растр.


FinePrint FinePrint

Возможностью экспорта выводимого на печать документа в формате .EMF обладает также программа FinePrint FinePrint. PrintMirror зачастую извлекает намного более качественный .EMF, чем тот, что генерирует FinePrint. Особенно это заметно при печати из PowerPoint, MS Visio или Word 2003 повёрнутого на произвольный угол .EMF-рисунка: PrintMirror выдаёт прекрасный векторный рисунок c повёрнутыми на произвольный угол прямыми линиями, а FinePrint (как и pdfFactory выдаёт PDF) выдаёт как-то по-дурацки преобразованный векторный рисунок меньшего размера с более низким качеством (сделанный, как это ни невероятно "а-ля растровый низкого разрешения", но при это все пиксели растра оказываются конвертированы в векторные уголки. Наклонная прямая линия оказывается аппроксимирована последовательностью векторных уголков... абсурдно, но факт. Происходит это только с прямыми линиями, текст не портится).

К аналогичным, но ещё более ярким выводам в пользу PrintMirror приводит сравнение её со встроенной в PowerPoint, Publisher и MS Visio возможностью конвертации внедрённого объекта Word в рисунок .EMF: PrintMirror выдаёт более простой и совместимый .EMF, чем тот, что получается при экспорте средствами Microsoft. С преобразованиями последнего возникают проблемы даже у создавших его MS-программ (например, они не могут его повернуть без конвертации в растр), чего не скажешь о .EMF, извлечённом PrintMirror!



[1] Vipin Aravind – руководитель технического отдела (Chief Technical Officer – CTO) компании GraphicsHighway. К его разработкам относится PrintTuner – коммерческий виртуальный принтер стоимостью $25. Однако в плане экспорта в .EMF эта программа работает гораздо хуже, чем PrintMirror, как ни странно. Другие возможности также не идут ни в какое сравнение с программами-конкурентами.

[2] Вот что пишет Microsoft о формате EMF:

Ø The EMF format is an extensible format, which means that a programmer can modify the original specification to add functionality or to meet specific needs. This modification can lead to incompatibilities between different types of EMF pictures.

Ø Extensibility results in many different types of EMF pictures. Not all EMF files are compatible with all programs that support the EMF standard.

А вот по поводу импортабельности:

Ø The Enhanced Metafile graphics filter (Emfimp32.flt) converts Enhanced Metafiles (.emf) to Windows Metafiles (.wmf). You must have the Enhanced Metafile filter installed to insert an .emf file into a Word document as a Microsoft Clip Gallery object or a Photo Editor object. However, to insert an .emf file directly into a Word document, you do not need the Enhanced Metafile filter. The Enhanced Metafile filter is also used by the Word 97 import text converter to open Word 97 documents in Word 6.x and Word 95.

[3] При этом создаются файлы существенно большего размера, чем при печати на PrintMirror, которые принципиально не импортируются в не-Microsoft программы.

[4] Для работы EMFexplorer под Win2k и более ранними версиями Windows необходимо поместить файл gdiplus.dll в один из каталогов %PATH%.