Re: GhostScript ja Gs-view

[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!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.