[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 26.2.2004 15:57 |
Tässä tulee uuden /GS-PDF-sukron listaus. /GS-PDF on suora mukaelma Kimmon /PS-PDF-sukrosta. /GS-PDF <nimi>.PS tekee PostScript tiedostosta vastaavan PDF-tiedoston Ghostscriptin avulla ja näyttää sen Adoben Acrobat Reader -ohjelmalla, jolloin kaikki PostScript-tulostukset voi hoitaa kätevästi ilman mitään maksullisia ulkoisia ohjelmia. Huom. Kimmo esitti jo aiemmin TEX-ohjelmaa koskevassa viestissä samannimisen sukron, joka teki PDF-tiedoston, mutta ei jatkanut suoraan näyttö- ja tulostuspuolelle. Allaoleva /GS-PDF on niin pitkälle kuin mahdollista täysin samanrakenteinen kuin /PS-PDF, jolloin myöhemmät täydennykset on helpompi tehdä tarvittaessa molempiin. En vielä tässä vaiheessa ole tehnyt mitään edellisessä viestissäni mainitsemieni /PS-UPDATE- ja /GS-UPDATE-sukrojen suhteen. Jos haluat kokeilla, siirrä seuraava listaus leikepöydän kautta tyhjään toimituskenttään ja talleta sukro. DELETE / Vie kohdistin kontrollisarakkeeseen ja aktivoi tämä rivi! *TUTSAVE G:\E\U\S\GS-PDF / Convert PS file to PDF file by Ghostscript and / show the result by Acrobat Reader. Full Acrobat package not required. / /GS-PDF K.PS / makes K.PDF in the same directory & opens it. / / This is a modification (26.2.2004/SM) of /PS-PDF made by / K.Vehkalahti 23.8.2001 (23.8.2001) (3.1.2002) (11.3.2002) / / --------------------------------------------------------------------- *{tempo -1}{init}{save stack}{disp off} - if W1 '=' RETURN then goto Back *{W1=GSPDF}{call SUR-SAVE}{break on}{del stack}{load stack} - if W1 '=' ? then goto Help - if W1 '=' (empty) then goto Help / / def Wps=W1 Wpdf=W2 Wdir=W3 Wline=W4 WGhst=W5 WAcro=W6 Wx=W7 Wi=W8 Wsys=W9 / def Wmsg1=W11 Wmsg2=W12 Wmsg3=W13 Wmsg4=W14 Wtimeout=W15 / *{save spec TIMEOUT Wtimeout}{line start}{erase}{erase}{pre}F *{jump 1,1,1,1}SCRATCH{erase}{erase}{act}{home}{form}/GS-PDF RETURN / {} *back to the previous work{R} *{R} *{ref set 1} / - if Wtimeout '<>' {} then goto CheckSys *{Wtimeout=30} + CheckSys: {Wsys=<Survo>\U\SYS\GSPATH.SYS}CHECK {print Wsys}{act} *{next word}{save word Wx}{line start}{erase} - if Wx '=' OK then goto LoadSys / + WHERE: {WGhst=Gswin32.exe}{WAcro=Acrord32.exe} *{Wmsg1= Looking for Ghostscript program...} *{Wmsg2= Looking for Adobe Acrobat Reader...} *{Wmsg3= Ghostscript program not found! Press ENTER!} *{Wmsg4= Adobe Acrobat Reader not found! Press ENTER!} / + Where1: {ref jump 1}SCRATCH{erase}{act}{home} / / 1) search from the "Program Files" folder (what ever the name is) / - assume that Survo was installed in there (the default way) / - F2-F4 gives the Survo system directory, e.g. "C:\PROGRA~1\Survo\" / - parse the name... *{pre}{disk}{line start}{r3}{find \}{r}{erase}{home}{save word Wx} *{erase} / ...into form "C:\PROGRA~1\" / *TUTSTACK=1 WHERE=FIRST{R} / *WHERE {print Wx}{print WGhst}{save stack}{message Wmsg1}{disp on} *{disp off}{act}{disp on}{message}@{line start}{erase}{disp off} *{print Wdir}{line start}{del stack}{load stack}{save word Wdir} *{erase} - if Wdir '=' {sp} then goto Where2 *{WGhst=Wdir&WGhst} / *WHERE {print Wx}{print WAcro}{save stack}{message Wmsg2}{disp on} *{disp off}{act}{disp on}{message}@{line start}{erase}{disp off} *{print Wdir}{line start}{del stack}{load stack}{save word Wdir} *{erase} - if Wdir '=' {sp} then goto Where2 *{WAcro=Wdir&WAcro} / *{goto SaveSys} / + Where2: {ref jump 1}SCRATCH{erase}{act}{home} / / 2) search from the whole system disk (all folders) / - fetch the name of the Windows directory / - use that disk as starting point / *INDEX /WINDOWS CUR{act}{home}{save char Wx}{erase} / *TUTSTACK=1 WHERE=FIRST{R} / *WHERE {print Wx}:{print WGhst}{save stack}{message Wmsg1}{disp on} *{disp off}{act}{disp on}{message}@{line start}{erase}{disp off} *{print Wdir}{line start}{del stack}{load stack}{save word Wdir} *{erase} - if Wdir '=' {sp} then goto Error2a *{WGhst=Wdir&WGhst} / *WHERE {print Wx}:{print WAcro}{save stack}{message Wmsg2}{disp on} *{disp off}{act}{disp on}{message}@{line start}{erase}{disp off} *{print Wdir}{line start}{del stack}{load stack}{save word Wdir} *{erase} - if Wdir '=' {sp} then goto Error2b *{WAcro=Wdir&WAcro} / *{goto SaveSys} / + Error2a: {ref jump 1}SCRATCH{erase}{act}{home}{message Wmsg3} *{goto ERR} + Error2b: {ref jump 1}SCRATCH{erase}{act}{home}{message Wmsg4} *{goto ERR} / + SaveSys: {disp on}{disp off}{ref jump 1}SCRATCH{erase}{act}{home} / *SAVEP {print Wsys}{R} ********************************************************************** *{R} *{print Wsys}{R} * Paths of Ghostscript and Acrobat Reader detected by sucro GS-PDF{R} * on{R} *DATE{act}{u}{line end}{merge}{del6}{R} *{R} *Ghostscript={print WGhst}{R} *Acrobat={print WAcro}{R} ********************************************************************** *{R} *{ref jump 1}{act} / + LoadSys: {ref jump 1}SCRATCH{erase}{act}{home} / *LOADP {print Wsys}{act}{save spec Ghostscript WGhst} *{save spec Acrobat WAcro}{ref jump 1}SCRATCH{erase}{act}{home} / *CHECK {print WGhst}{act}{next word}{save word Wx}{line start}{erase} - if Wx '<>' OK then goto WHERE *CHECK {print WAcro}{act}{next word}{save word Wx}{line start}{erase} - if Wx '<>' OK then goto WHERE / (labels A4,... inherited from previous versions of this sucro) *{save datapath Wdir}CHECK {print Wps}{act}{next word}{save word Wx} *{line start}{erase} - if Wx '=' OK then goto A4 *CHECK {print Wdir}{print Wps}{act}{next word}{save word Wx} *{line start}{erase} - if Wx '=' OK then goto a4 *{message} Given PostScript (PS) file does not exist! Press ENT *ER!@{goto ERR} + a4: {Wps=Wdir&Wps} + A4: {print Wps}{home}{find .}{erase}.pdf{l}{save word Wpdf} *{line start}{erase}{pre}F / *FILE DEL {print Wpdf}{act}{line start}{erase} / *REDIM 1000,200{act}{line start}{erase} / / Make a command line for Ghostscript: / *{line start}{erase}{ref set 1}{R} *>{print WGhst} {R} *-dNOPAUSE {R} *-dBATCH {R} *-sDEVICE=pdfwrite {R} *-sOutputFile={print Wpdf} {R} *{print Wps} {R} / /Move parts to a single line and activate: / *{ref jump 1}TRIM 200{act}{R}{act}{erase} / / Must wait 'til Ghostscript's ready! That's why PDF was deleted above. *{Wi=0} + A5: CHECK {print Wpdf}{act}{next word}{save word Wx}{message}@ - if Wx '=' OK then goto A6 *{line start}{erase}{Wi=Wi+1}WAIT 1{act}{home}{erase} *{Wmsg1= Waiting until Ghostscript is ready or time runs out (} *{Wx=Wtimeout-Wi}{Wmsg1=Wmsg1&Wx}{Wmsg1=Wmsg1&)...}{message Wmsg1} *{disp on}{disp off} - if Wi < Wtimeout then goto A5 *{message} Portable Document File (PDF) was not created! Press {} *ENTER!@{goto ERR} + A6: {line start}{erase}>START /MAX {print WAcro} {print Wpdf}{act} *{line start}{erase}{print Wline}{goto Back} + Help: {message} /GS-PDF <file.PS> creates and opens <file.PDF *> with Adobe Acrobat.@ + ERR: {disp on}{disp off} - on key - key _: continue - wait 600 *{message}@{goto Back} / def W1=W1 + Back: {W1=GSPDF}{call SUR-RESTORE}{pre}f{disp on}{message}@ *{tempo +1} + End: {end}
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!