diff options
Diffstat (limited to 'Master/xemtex/gslib/pdf2dsc.ps')
-rw-r--r-- | Master/xemtex/gslib/pdf2dsc.ps | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/Master/xemtex/gslib/pdf2dsc.ps b/Master/xemtex/gslib/pdf2dsc.ps deleted file mode 100644 index 168dbd91632..00000000000 --- a/Master/xemtex/gslib/pdf2dsc.ps +++ /dev/null @@ -1,166 +0,0 @@ -% Copyright (C) 1994, 1995, 1996, 1997, 1998 Aladdin Enterprises. All rights reserved. -% -% This program is free software; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by the -% Free Software Foundation; either version 2 of the License, or (at your -% option) any later version. -% -% This program is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -% Public License for more details. -% -% You should have received a copy of the GNU General Public License along -% with this program; if not, write to the Free Software Foundation, Inc., -% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. - -% $Id: pdf2dsc.ps,v 1.3.4.2.2.1 2003/04/12 14:02:39 giles Exp $ -% pdf2dsc.ps -% read pdf file and produce DSC "index" file. -% -% Input file is named PDFname -% Output file is named DSCname -% -% Run using: -% gs -dNODISPLAY -sPDFname=pdffilename -sDSCname=tempfilename pdf2dsc.ps -% Then display the PDF file with -% gs tempfilename -% -% Modified by Geoff Keating <geoffk@ozemail.com.au> 21/12/98: -% Add DocumentMedia, PageMedia comments -% Use inherited BoundingBox and Orientation -% Reformat, add new macro 'puts', generally clean up -% Modified by Johannes Plass <plass@dipmza.physik.uni-mainz.de> 1996-11-05: -% Adds BoundingBox and Orientation if available. -% Modified by rjl/lpd 9/19/96 -% Updates for compatibility with modified pdf_*.ps code for handling -% page ranges (i.e., partial files) better. -% Modified by Geoff Keating <Geoff.Keating@anu.edu.au> 7/3/96: -% include Title and CreationDate DSC comments (these are displayed by -% Ghostview); -% reduce the size of typical output files by a factor of about 3. -% Modified by L. Peter Deutsch 3/18/96: -% Removes unnecessary and error-prone code duplicated from pdf_main.ps -% Modified by L. Peter Deutsch for GS 3.33 -% Originally by Russell Lang 1995-04-26 - -/PDFfile PDFname (r) file def -/DSCfile DSCname (w) file def -systemdict /.setsafe known { .setsafe } if - -/puts { DSCfile exch writestring } bind def -/DSCstring 255 string def -/MediaTypes 10 dict def - -% (str1) (str2) concatstr (str1str2) -/concatstr { - 2 copy length exch length add string - dup dup 5 2 roll copy length -% stack: newstring newstring str2 str1-length - exch putinterval -} bind def - - GS_PDF_ProcSet begin - pdfdict begin - PDFfile - pdfopen begin - /FirstPage where { pop } { /FirstPage 1 def } ifelse - /LastPage where { pop } { /LastPage pdfpagecount def } ifelse - -% scan through for media sizes, keep them in the dictionary - FirstPage 1 LastPage { - pdfgetpage /MediaBox pget pop % MediaBox is a required attribute - aload pop - 3 -1 roll sub 3 1 roll exch sub exch - 2 array astore - aload 3 1 roll 10 string cvs exch 10 string cvs - (x) exch concatstr concatstr cvn - MediaTypes 3 1 roll exch put - } for - -% write header and prolog - (%!PS-Adobe-3.0\n) puts - Trailer /Info knownoget - { - dup /Title knownoget - { - (%%Title: ) puts - DSCfile exch write== - } - if - /CreationDate knownoget - { - (%%CreationDate: ) puts - DSCfile exch write== - } - if - } - if - % This is really supposed to be sorted by frequency of usage... - (%%DocumentMedia: ) - MediaTypes { - exch pop - 1 index puts - (y) puts dup 1 get DSCstring cvs puts - (x) puts dup 0 get DSCstring cvs puts - ( ) puts dup 0 get DSCstring cvs puts - ( ) puts 1 get DSCstring cvs puts - ( 70 white ()\n) puts - pop (%%+ ) - } forall - pop - - (%%Pages: ) puts - LastPage FirstPage sub 1 add DSCstring cvs puts - (\n%%EndComments\n) puts - (%%BeginProlog\n) puts - (/Page null def\n/Page# 0 def\n/PDFSave null def\n) puts - (/DSCPageCount 0 def\n) puts - (/DoPDFPage {dup /Page# exch store pdfgetpage pdfshowpage } def\n) puts - (GS_PDF_ProcSet begin\npdfdict begin\n) puts - (%%EndProlog\n) puts - (%%BeginSetup\n) puts - DSCfile PDFname write==only - ( \(r\) file pdfopen begin\n) puts - (%%EndSetup\n) puts - % process each page - FirstPage 1 LastPage { - (%%Page: ) puts - dup DSCstring cvs puts - ( ) puts - dup DSCstring cvs puts - (\n) puts - - dup pdfgetpage - dup /MediaBox pget pop - (%%PageMedia: y) puts - aload pop 3 -1 roll sub DSCstring cvs puts - (x) puts exch sub DSCstring cvs puts - (\n) puts - dup /CropBox pget { - (%%PageBoundingBox: ) puts - {DSCfile exch write=only ( ) puts} forall - (\n) puts - } if - /Rotate pget { - (%%PageOrientation: ) puts - 90 div cvi 4 mod dup 0 lt {4 add} if - [(Portrait) (Landscape) (UpsideDown) (Seascape)] exch get puts - (\n) puts - } if - - DSCfile exch DSCstring cvs writestring - ( DoPDFPage\n) puts - } for - currentdict pdfclose - end - end - end -% write trailer -(%%Trailer\n) puts -(currentdict pdfclose\nend\nend\nend\n) puts -(%%EOF\n) puts -% close output file and exit -DSCfile closefile -quit -% end of pdf2dsc.ps |