📄 cover-template.ps
字号:
%!PS-Adobe-2.0 EPSF-2.0%%BoundingBox: 0 0 612 792%%Title: cover-template.ps%%Pages: 1 1%% This program in its initial form was contributed to the FlexFAX% distribution by Randolph J. Herber <herber@fnalv.fnal.gov>. It% was modified for more general use by other fax programs by Robert% LeBlanc <rjl@renaissoft.com>.%% Specifically, it relies on an E-mail-to-Fax gateway program of% some sort to perform variable substitutions. A program such as% Qfax will use this file as a template to create a final% PostScript cover page suitable for use with FlexFAX or Efax. In% particular, I wrote this to work with Efax in order to give it some% of the functionality that FlexFAX (now Hylafax) offers.%% You should not have to edit this file. All the data it uses is% gleaned from your E-mail headers and your fax database (phonebook)% by Qfax. In the event something just doesn't look right, you% can have a look at the section marked "Useful variable declarations";% the variables in this section are described there briefly, and% should be all you ever need to tweak.%% Send your comments and feedback to rjl@renaissoft.com. %%%EndComments% Prolog: Custom macros for use within this program./nullstring () def/D { bind def } bind def/X { exch def } D/IS { dup where {pop load S}{pop}ifelse} D/RS { dup stringwidth pop neg 0 rmoveto S } D/CS { dup stringwidth pop .5 mul neg 0 rmoveto S } D/M { moveto } D/S { show } D/R { rmoveto } D/L { lineto } D/down {/CurrY CurrY Leading sub def } D/Label { LabelCol CurrY M RS TextCol CurrY M IS down } D/SF { findfont FontSize scalefont setfont } D/RE { ReEncode } D%%EndProlog%%Page: 1 1% *** Renaissoft QFAX insertions begin here ***% *** End of Renaissoft QFAX insertions ***% Useful variable declarations./Center PWidth 2 div def % Horizontal page center/Leading 18 def % Line spacing/LabelCol 188 def % Column for labels/TextCol 206 def % Column for text/RuleLen 288 def % Text field width/LogoY PHeight 96 sub def % Starting line for logo/CurrY LogoY 36 sub def % Starting line% *** End of user-configurable options ***% You shouldn't have to edit anything below this point.% Set the actual page size.newpath clippath pathbbox /URy X /URx X /LLy X /LLx X/Width URx LLx sub 0.005 sub def/Height URy LLy sub 0.005 sub defLLx LLy translateWidth PWidth div Height PHeight div gt { /Y_size Height def /X_size PWidth PHeight div Y_size mul def /Scale Height PHeight div def } { /X_size Width def /Y_size PHeight PWidth div X_size mul def /Scale Width PWidth div def } ifelseWidth X_size sub 2 divHeight Y_size sub 2 div translateScale Scale scalegsavenewpath% Code to re-encode text into ISO-Latin-1 form/ReEncode { exch findfont dup length dict begin { 1 index/FID eq { pop pop } { def } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont pop} bind def% Standard code to break a long input line into several formatted% and word-wrapped lines./BreakIntoLines { 30 dict begin /proc exch def /linewidth exch def /text exch def /wordbreak ( ) def /breakwidth wordbreak stringwidth pop def /breakLines { /textstring exch def /curwidth 0 def /lastwordbreak 0 def /startchar 0 def /restoftext textstring def { restoftext wordbreak search % post match pre bool exch /nextword exch def % post match bool /wordwidth nextword stringwidth pop def % post match bool { pop % post /restoftext exch def % - curwidth wordwidth add linewidth gt { textstring startchar lastwordbreak startchar sub getinterval proc /startchar lastwordbreak def /curwidth wordwidth breakwidth add def } { /curwidth curwidth wordwidth add breakwidth add def } ifelse /lastwordbreak lastwordbreak nextword length add 1 add def } { exit } ifelse } loop curwidth wordwidth add linewidth gt { textstring startchar lastwordbreak startchar sub getinterval proc /startchar lastwordbreak def } if /lastchar textstring length def textstring startchar lastchar startchar sub getinterval proc } def { text (\n) search % post match pre bool { breakLines % post match pop % post /text exch def % - } { exit } ifelse % string } loop breakLinesend} def% Print the shadowed logo.gsave0 LogoY translatefrom-companyLogoFont /ISOfont RE/ISOfont findfont [LogoFontSize 0 LogoFontSize dup add LogoFontSize .8 mul 0 0] makefont setfont.8 setgraydup Center 0 M CS/FontSize LogoFontSize def/ISOfont SF.2 setgraydup Center 0 M CSgrestore% Print the formatted address block.0 setgray/FontSize AddressFontSize defAddressFont /ISOfont RE /ISOfont SFCenter CurrY M from-company-full-name CS downCenter CurrY M from-company-address CS downCenter CurrY M from-company-phones CS downdown% Begin defining the formatted portion of the page.2 setlinewidth/FontSize TitleFontSize defTitleFont /ISOfont RE /ISOfont SFCenter CurrY M label-title CSdowndown/FontSize MainLabelFontSize defMainLabelFont /ISOfont RE /ISOfont SF/to-company label-to-company Label/FontSize LabelFontSize defLabelFont /ISOfont RE /ISOfont SF/to label-to Label/to-voice-number label-to-voice-number Label/to-fax-number label-to-fax-number Labeldown/FontSize MainLabelFontSize defMainLabelFont /ISOfont RE /ISOfont SF/from label-from Label/FontSize LabelFontSize defLabelFont /ISOfont RE /ISOfont SF/from-email label-from-email Labeldown/FontSize MainLabelFontSize defMainLabelFont /ISOfont RE /ISOfont SF/todays-date label-todays-date Label/FontSize LabelFontSize defLabelFont /ISOfont RE /ISOfont SF/page-count label-page-count Labeldown/FontSize MainLabelFontSize defMainLabelFont /ISOfont RE /ISOfont SF/regarding label-regarding Label/FontSize LabelFontSize defLabelFont /ISOfont RE /ISOfont SFLabelCol CurrY M label-comments RS/comments where {pop comments RuleLen { TextCol CurrY M S down } BreakIntoLines} ifgrestoreshowpage
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -