Render.ru

Шрифты в кривые в Акробате

#1
Есть ли какие-нибудь средства для конвертации внедренных шрифтов в кривые в файле .pdf?
 
#3
1. С помщью PitStop-а назначить тексту ничтожную прозрачность, экспортиовать в EPS, установив соответсвующие параметры Flattening (в Acrobat 6 Pro) и перегнать опять в PDF. C помощью того же PitStip-а подрихтовать цвет, чтобы «вернуть всё в зад».
Минусов масса, в основном связаных с необходимостью много делать руками.

2. Софтина есть такая, Tranferter Pro называется. Кроме всего прочего, может переводить шрифты в кривые.
Минусы все те, что связаны с «текст в кривых».

3. Затолкать в Корел с переводом шрифтов в кривые ещё на этапе заталкивания.
Минусы все те, что связаны с вытаскиванием этого всего из Корела.
 
#4
Shlypa
Да у человека инфаркт будет


А если серьезно, то объясните, плиз, мне Чайнику, зачем переводить шрифты в кривые?

Чтобы защить? Так есть FineReader.
 
#5
1. ставишь питстоп, если еще не поставил (www.enfocus.com)
2. открываешь пдф
3. рисуешь питстопом прямоугольник, любого размера, все-равно-где на полосе, с макс. прозрачностью. если полос несколько, то ctrl-c pgdn ctrl-v pgdn ctrl-v pgdn ctrl-v ... пока не кончатся страницы. если их очень много, попроси кого-нибудь помочь:)
4. печатаешь пдф на принтер create pdf. есс-но указав опции (размер бумаги и проч.) как надо. главное -- all text to outlines и 100% vectors на закладке о прозрачности
5. через 5 сек в аробате открывается новый файл, в котором текста не осталось
6. радуешься жизни
 
#7
Shlyapa wrote:
>
> 2. Софтина есть такая, Tranferter Pro называется. Кроме всего
> прочего, может переводить шрифты в кривые.
> Минусы все те, что связаны с «текст в кривых».

Точнее можно? Где взять, чем лечить. Это плугин к Акробату?
 
#8
> Shlyapa wrote:

> > зачем переводить шрифты в кривые?
>
> Присоединяюсь к вопросу.

Если коротко, то есть много документов Водра (доклады к конференции с большим количеством математики), в которых рисунки сделаны черти чем, как это обычно бывает. Надо вытащить эти рисунки, подправить (я делаю это во Фрихенде) и засунуть в другой текстовой редактор (Wordpro), откуда опять выводим в Акробат и на пленки. Беда в том, что при вытаскивании рисунков через печать из Ворда в Акробат и открытии пдф во Фрихенде возникают проблемы со шрифтами. Времени в обрез, делать надписи заново - это плодить ошибки, которые можно и не выловить.

Отдельно для Shlyapa: Что-то не пошел у меня 6-й Акробат. Из 5-ки вывод идет нормально, беру эти установки, ставлю 6-й, настраиваю как обычно и получаю кривой пдф (постскрипт). Долго маялся, экспериментировал и ничего не вышло. Что думаешь?

PS. Выводить в пдф мне нужно из этого самого Wordpro, из нормальных верстальных пакетов я спокойно делаю постскрипт.
 
#9
> Что думаешь?

Слишком мало входных данных, чтобы что-то думать.
 
#10
Все настройки переписать нереально, сам понимаешь. Меня немного смущает отсутствие опции Сжатие текста и штриховых рисунков в 6-м (в 5-м она была у меня отключена, в 6-м она всегда включена автоматически). Другого различия между моими настройками 5-го и 6-го я не обнаружил.

А как насчет Tranferter Pro?
 
#11
> отсутствие опции

Где? В настройках чего? Координаты точнее, pls.

> А как насчет Tranferter Pro?

А что «насчёт»? www.techpool.com

Не помню, серийник помогает или нет, но вот он:
Transverter Pro v3.2
s/n: 12345678904900 or s/n: 00000000001435

И всё, что ниже, сохранить как utils.ps и заменить имеющийся одноимённый файл.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% utils.ps: PostScript procedures read in during startup, but %%
%% which don't really need to be in init.ps itself %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

systemdict begin %% All of this goes in systemdict...

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Set up basic dictionary aliases %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/shareddict globaldict def
/SharedFontDirectory GlobalFontDirectory def


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Start with a few universally useful things %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/binddef {
bind def
} bind def

/exchdef {
exch def
} binddef


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Define `executive' and friends. %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/prompt {(TPro> ) print flush} def

/execdict <<
/banner
(Welcome to TPro version ) version
1 index length 1 index length add 1 add string
dup 0 4 index putinterval
dup 4 -1 roll length 4 -1 roll putinterval
dup dup length 1 sub 10 put
/copyright (Copyright (c) 1994-1996 TechPool Software, Inc.\n)
dup 19 currentsystemparams /KernelBuild get
dup length 4 sub 4 getinterval putinterval
/execdepth 0
/prompt {(TPro) print execdepth {(>) print} repeat ( ) print flush}
/binary false
/quitflag false
/checkquit {quitflag {exit} if}
>> def

/executive {
execdict begin
execdepth 0 eq {
true echo
banner print copyright print
flush
} if
/execdepth execdepth 1 add def
end
{
execdict begin prompt end
{(%statementedit) (r) file} stopped {pop pop exit} if
{cvx exec} stopped {
$error /newerror get not {exit} if
errordict /handleerror get exec
} if
flush
execdict begin checkquit end
} loop
execdict begin
/execdepth execdepth 1 sub def
execdepth 0 eq {
(%%[ End of interactive mode ]%%\n) print flush
} if
end
} binddef


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Define == and its dictionary %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/=print {=} def

/=string 256 string def

<<
/rmargin 72
/cp 3
/NL (\n)
/cvsprint {
=string cvs tprint ( ) tprint
} bind

/linebreak {
NL print /cp 0 def
} bind

/tprint {
dup length cp add rmargin gt {
NL print /cp 0 def
}if
dup length cp add /cp exch def
print
} bind

/typeprint {
dup type exec
} bind

/arraytype {
dup rcheck {
dup xcheck {
({) tprint {typeprint} forall (}) tprint
} {
([) tprint {typeprint} forall (]) tprint
} ifelse
} {
pop (-array- ) tprint
} ifelse
} bind

/packedarraytype 1 index

/stringtype{
dup rcheck {
(\() tprint tprint (\)) tprint
} {
pop (-string- ) tprint
} ifelse
} bind

/nametype {
dup xcheck not {
(/) tprint
} if
cvsprint
} bind

/marktype {pop (-mark- ) tprint} bind

/filetype {pop (-file- ) tprint} bind

/dicttype {
dup rcheck {
dup length 0 eq {
(<< >> ) tprint
} {
(<<) tprint linebreak
{
exch typeprint typeprint linebreak
} forall
(>> ) tprint
} ifelse
} {
pop (-dictionary- ) tprint
} ifelse
} bind

/nulltype {pop (-null- ) tprint} bind

/booleantype {cvsprint}

/realtype {cvsprint}

/operatortype {cvsprint}

/integertype {cvsprint}

/fonttype {pop (-font- ) tprint} bind

/savetype {pop (-save- ) tprint} bind

/graphicsstatetype {pop (-graphicsstate- ) tprint} bind

/canvastype {pop (-canvas- ) tprint} bind

/processtype {pop (-process- ) tprint} bind

>>

{
null begin
/cp 0 def typeprint NL print
end
}

dup 0 4 -1 roll put bind /== exchdef


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Some more useful printing procedures %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/stack {
count 1 sub 0 1 3 -1 roll {
index =
} for
} binddef

/pstack {
count 1 sub 0 1 3 -1 roll {
index ==
} for
} binddef


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% The escape for Freehand v2 jobs which use setcolor. The %%
%% interpreter calls this procedure if you execute setcolor in what %%
%% looks like a Freehand v2 job. %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/##_setcolor_## {
dup length 4 eq {
aload overprintprocess setcmykcolor
} {
aload 1 get spots exch get 5 get setinkoverprint setspotcolor
} ifelse
} binddef


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% A version of setcustomcolor which uses the /Separation colour %%
%% space so as to let you produce the spot colour you asked for. %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/findcmykcustomcolor {
5 array astore
} binddef

/setcustomcolorspace {
mark /Separation 2 index 4 get
/DeviceCMYK
{dup 0 mul exch dup 0 mul exch dup 0 mul exch 0 mul}
dup length array copy
dup 1 7 index 0 get put
dup 5 7 index 1 get put
dup 9 7 index 2 get put
dup 12 7 index 3 get put cvx
] setcolorspace
pop
} binddef

/setcustomcolor {
exch setcustomcolorspace setcolor
} binddef

%%/setseparationgray {
%% currentcolorspace 0 get dup /DeviceGray ne {
%% exch
%% 1 exch sub
%% exch
%% } if
%% /DeviceCMYK eq {
%% dup dup dup
%% } if
%% setcolor
%%} binddef

/customcolorimage {
setcustomcolorspace
10 dict begin
/DataSource exch def
/ImageMatrix exch def
/BitsPerComponent exch def
/Height exch def
/Width exch def
/ImageType 1 def
/Decode [1 0] def
currentdict end image
} binddef



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% $fbf is an undocumented procedure which seems to be needed if %%
%% the RIP provides makeblendedfont as an operator. I can't quite %%
%% see why it's necessary, other than because the PostScript code %%
%% assumes it's been defined. It certainly doesn't add any %%
%% functionality. %%
%% %%
%% This may have been a PostScript printer driver bug, as I'm sure %%
%% I've since seen code with $fbf that worked OK. %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/$fbf {
FontDirectory counttomark 3 add -1 roll known {
cleartomark pop findfont
} {
] exch findfont exch makeblendedfont
dup /Encoding currentfont /Encoding get put definefont
} ifelse
currentfont /ScaleMatrix get makefont setfont
} binddef



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% A procedure to render a PDF document from beginning to end. %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/PDFrun {
PDFfile
dup 1 PDFpagebbox
4 2 roll pop pop 2 array astore << /PageSize 3 -1 roll >> setpagedevice
1 1 2 index PDFpagecount {
1 index exch PDFpage showpage
} for
pop
} binddef


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Added to make color accuracy better when rasterizing AI 1.1 %%
%% files. C.C. - 2/26/96 %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/setcmybcolor
{
setcmykcolor
} bind def


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% Added to make processing EPSF files easier, per the instructions %%
%% on p. 726 of the PLRM. C.C. - 2/26/96 %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
userdict begin /enablelin true def end
/-moveto /moveto load def
/moveto {userdict begin enablelin {-moveto} {3000 sub -moveto}ifelse end} bind def
/-rmoveto /rmoveto load def
/rmoveto {userdict begin enablelin {-rmoveto} {pop pop -1000 -1000 -moveto}ifelse end} bind def
/-lineto /lineto load def
/lineto {userdict begin enablelin {-lineto} {pop pop} ifelse end} bind def
/-rlineto /rlineto load def
/rlineto {userdict begin enablelin {-rlineto} {pop pop} ifelse end} bind def
/-rectfill /rectfill load def
/rectfill {userdict begin enablelin {-rectfill} {pop pop pop pop} ifelse end} bind def
/-rectstroke /rectstroke load def
/rectstroke {userdict begin enablelin {-rectstroke} {pop pop pop pop} ifelse end} bind def
/-showpage /showpage load def
/showpage {userdict begin /enablelin false def (Showpage) print flush
-showpage
/enablelin true def (Showpage end)print flush end} bind def



/BeginEPSF
{
/TPro_b4_Inc_state save def
/TPro_dict_count countdictstack def
/TPro_op_count count 1 sub def
userdict begin
/setpagedevice {pop} def
/showpage {initgraphics} def
(Begin of page) print flush /enablelin true def
0 setgray 0 setlinecap
1 setlinewidth 0 setlinejoin
10 setmiterlimit [] 0 setdash newpath
/languagelevel where
{
pop languagelevel
1 ne {false setstrokeadjust false setoverprint} if
} if
} bind def

/EndEPSF
{
userdict begin (End of page) print flush /enablelin false def end
count TPro_op_count sub {pop} repeat
countdictstack TPro_dict_count sub {end} repeat
TPro_b4_Inc_state restore
} bind def


end % systemdict


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%
%% A veritable forest of paper sizes %%
%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

userdict begin %% Paper size compatibility operators go in userdict...

/A3 {<</PageSize [842 1190] /ImagingBBox null>> setpagedevice} def
/a3 /A3 load def
/A4 {<</PageSize [595 842] /ImagingBBox null>> setpagedevice} def
/a4 /A4 load def
/A5 {<</PageSize [421 595] /ImagingBBox null>> setpagedevice} def
/a5 /A5 load def
/B4 {<</PageSize [709 1001] /ImagingBBox null>> setpagedevice} def
/b4 /B4 load def
/B5 {<</PageSize [499 709] /ImagingBBox null>> setpagedevice} def
/b5 /B5 load def
/c5 {<</PageSize [459 649] /ImagingBBox null>> setpagedevice} def
/com10 {<</PageSize [297 684] /ImagingBBox null>> setpagedevice} def
/dl {<</PageSize [312 624] /ImagingBBox null>> setpagedevice} def
/execu {<</PageSize [522 756] /ImagingBBox null>> setpagedevice} def
/Legal {<</PageSize [612 1008] /ImagingBBox null>> setpagedevice} def
/legal /Legal load def
/Letter {<</PageSize [612 792] /ImagingBBox null>> setpagedevice} def
/letter /Letter load def
/monarch {<</PageSize [279 540] /ImagingBBox null>> setpagedevice} def
/Note {<</PageSize [554 732] /ImagingBBox null>> setpagedevice} def
/note /Note load def
/11x17 {<</PageSize [792 1224] /ImagingBBox null>> setpagedevice} def
/a4small {<</PageSize [595 842] /ImagingBBox [25 25 570 817]>> setpagedevice} def
/lettersmall {<</PageSize [612 792] /ImagingBBox [25 25 587 767]>> setpagedevice} def

%% Added for HP compatibility. C.C. - 2/26/96
/lettertray {<< /PageSize [612 792] >> setpagedevice} def

/setpage {statusdict begin setpage end} def

end % userdict
 
#12
К слову сказать, вышло обновление для PitStop 6. Раздаётся бесплатно с официального сайта.
 
#13
Спасибо за Transverter Pro. Это уже кое-что. Скачал демо, серийник ставить некуда, но eps с конвертацией в кривые делает. Инструкцию по utils.ps выполнил, хотя и не понял, зачем это все (я не силен в программировании).

Хотя не помешал бы плугин, которые делает то же самое для выделенного фрагмента страницы в Акробате.

> отсутствие опции

> Где? В настройках чего? Координаты точнее, pls.

Как где? Edit conversion settings/Job option/Compression при печати в Acrobat Distiller.

... пошел за обновлением Питстопа.
 
#14
>> не помешал бы плугин, которые делает то же самое для выделенного фрагмента страницы в Акробате
PDF и придуман для того, чтобы страница безо всякого скурвливания показывалась везде и всюду как надо :))))
 
#15
> Edit conversion settings/Job option/Compression

Всё там настраивается. Не знаю, что у тебя стряслось.
 
#16
Shlyapa wrote:
>
> > Edit conversion settings/Job option/Compression
>
> Всё там настраивается. Не знаю, что у тебя стряслось.

Найди в 6-м опцию Compress Text and Lineart (или похожую, не помню точно). В 5-м она находится внизу окна.
 
#17
Arkady wrote:
>
> >> не помешал бы плугин, которые делает то же самое для
> выделенного фрагмента страницы в Акробате
> PDF и придуман для того, чтобы страница безо всякого
> скурвливания показывалась везде и всюду как надо :))))

А как ведет себя пдф с внедренными шрифтами, например, будучи вставлен во Фрихенд? Тут бы кривые и не помешали бы.
 
#18
Дался тебе этот FreeHand — он уже морально устарел во времена 5-го Acrobat'а. Редактировать объекты можно прямо из PDF'а c помощью черной стрелки (TouchUp-tool'а).

>> Найди в 6-м опцию Compress Text and Lineart
Она теперь называется Object Level Compression: «You can use the CompressPages parameter to set the compression of text and line art. For
PDF 1.5, you can use the CompressObjects parameter to control object-level compression, which is the consolidation of small objects (each of which isn’t compressible itself ) into streams which can then be efficiently compressed.» («Acrobat Distiller Parameters» Technote #5151, may 2003. p.33)

Introduced with PDF 1.5. Controls objectlevel compression, which is the
consolidation of small objects (each of which isn’t compressible itself ) into streams which can then be efficiently compressed. A new method of referencing these objects had to be invented, causing a backward compatibility issue.
Off
PDF 1.5 object streams and cross reference streams will not be used.
Tags
PDF 1.5 object streams feature may be used to compress tags. The compressed tag information will no longer be usable in Acrobat 5 or earlier Adobe Readers.
The PDF files created using this setting will be openable and usable in Acrobat 5
and earlier Adobe Readers even though the tag information is not usable by
Acrobat 5 and earlier Adobe Readers. Acrobat 6 (and above) Adobe Readers
will, however, have full access to the tag information.
All
Maximum compression. Objects streams and cross reference streams may be used to reduce PDF file size. The compressed file will only be readable by Acrobat 6 and above.»
(Там же, стр. 51)
 
#19
А совсем полный аналог того, что раньше называлось «Compress…» убран из UI — там же, стр. 72 и по умолчанию поставлен в true. При желании его (как, собственно, и все остальные параметры) можно устанавливать/сбрасывать в PS-файле:

<</CompressPages true>> setdistillerparams
или
<</CompressPages true>> setdistillerparams
 
#20
Во блин!

С одной строны, я и не заметил пропажи «Compress Text and Lineart (или похожую, не помню точно). В 5-м она находится внизу окна.»

А с другой строны, никуда оно не делось, т.е. «Всё там настраивается».. :)
 
Сверху