[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Как создать буклет



On 2003.01.14 at 18:16:30 +0300, Nefedov U. wrote:
> 
>   В третьих, и первое и второе будут работать только c ps-файлами
>  созданными с учётом DSC - Adobe Document Structuring  Conventions.
>  К сожалению некоторые программы не утруждают себя следовать им
>  (например многие ps-driverы от MS). 
>  Такие файлы легко отличить по тому, например, что в gv для них
>  нет списка страниц. Тогда дело плохо - и только манипуляции с
>  принтером, листами бумаги и русским языком могут помочь. 

Все не так плохо. Можно пропустить файл через ghostscript
сказав ему -sDEVICE=pswrite. Ghostscript проинтерпретирует
Postscript-файл, найдет там концы страниц и расставит DSC-комментарии.
Правда, он при этом поиздевается над шрифтами, и размер выходного
файла будет раз в десять больше входного. Но если этот файл надо
тут же напечатать и стереть, это не очень страшно.

Впрочем, и это не панацея. Postscript - Turing complete язык
программирования, и можно написать PS-файл так, чтобы внешний вид
страницы 10 зависел от чего-то, определенного в процессе описания
страницы 9. Стандарт этого не запрещает. Поэтому не исключена ситуация,
что даже после корректной расстановки DSC-комментариев, файл не будет
правильно печататься после выделения из него части страниц.

Но и из этой ситуации есть выход. Стандарт PDF требует независимости
страниц.

Поэтому если перегнать файл Ghostscript-ом в pdf (ps2pdf, или gs
-sDEVICE=pdfwrite) а потом обратно в postscript хоть ghostscript-ом,
хоть acroread-ом, то полученный постскрипт будет нормально
обрабатываться и psutils-ами и gv.

Размеры, конечно, будут еще те, плюс потребное под pdf-версию место.

-- 
Victor Wagner			vitus@ice.ru
Chief Technical Officer		Office:7-(095)-748-53-88
Communiware.Net 		Home: 7-(095)-135-46-61
http://www.communiware.net      http://www.ice.ru/~vitus



Reply to: