📄 ps2txt.in
字号:
#!@PERL@## ps2txt - PostScript to ASCII converter## Usage: ps2txt filename## Uses ps2txt version 2.1 (as posted to alt.sources) as the main# PostScript conversion engine. This Perl program acts as a pre-# and post- processor to improve the quality of the ps2txt output.## Forks off the ps2txt command, and builds a pipeline to feed/filter it.## Darren Hardy, hardy@cs.colorado.edu, May 1994## $Id: ps2txt,v 2.1 1997/03/21 17:19:43 sxw Exp $################################################################################ Harvest Indexer http://www.tardis.ed.ac.uk/harvest/# ---------------------------------------------------## The Harvest Indexer is a continued development of code developed by# the Harvest Project. Development is carried out by numerous individuals# in the Internet community, and is not officially connected with the# original Harvest Project or its funding sources.## Please mail harvest@tardis.ed.ac.uk if you are interested in participating# in the development effort.## 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., 675 Mass Ave, Cambridge, MA 02139, USA.########################################################################## Copyright (c) 1994, 1995. All rights reserved.## The Harvest software was developed by the Internet Research Task# Force Research Group on Resource Discovery (IRTF-RD):## Mic Bowman of Transarc Corporation.# Peter Danzig of the University of Southern California.# Darren R. Hardy of the University of Colorado at Boulder.# Udi Manber of the University of Arizona.# Michael F. Schwartz of the University of Colorado at Boulder.# Duane Wessels of the University of Colorado at Boulder.## This copyright notice applies to software in the Harvest# ``src/'' directory only. Users should consult the individual# copyright notices in the ``components/'' subdirectories for# copyright information about other software bundled with the# Harvest source code distribution.## TERMS OF USE## The Harvest software may be used and re-distributed without# charge, provided that the software origin and research team are# cited in any use of the system. Most commonly this is# accomplished by including a link to the Harvest Home Page# (http://harvest.cs.colorado.edu/) from the query page of any# Broker you deploy, as well as in the query result pages. These# links are generated automatically by the standard Broker# software distribution.## The Harvest software is provided ``as is'', without express or# implied warranty, and with no support nor obligation to assist# in its use, correction, modification or enhancement. We assume# no liability with respect to the infringement of copyrights,# trade secrets, or any patents, and are not responsible for# consequential damages. Proper use of the Harvest software is# entirely the responsibility of the user.## DERIVATIVE WORKS## Users may make derivative works from the Harvest software, subject# to the following constraints:## - You must include the above copyright notice and these# accompanying paragraphs in all forms of derivative works,# and any documentation and other materials related to such# distribution and use acknowledge that the software was# developed at the above institutions.## - You must notify IRTF-RD regarding your distribution of# the derivative work.## - You must clearly notify users that your are distributing# a modified version and not the original Harvest software.## - Any derivative product is also subject to these copyright# and use restrictions.## Note that the Harvest software is NOT in the public domain. We# retain copyright, as specified above.## HISTORY OF FREE SOFTWARE STATUS## Originally we required sites to license the software in cases# where they were going to build commercial products/services# around Harvest. In June 1995 we changed this policy. We now# allow people to use the core Harvest software (the code found in# the Harvest ``src/'' directory) for free. We made this change# in the interest of encouraging the widest possible deployment of# the technology. The Harvest software is really a reference# implementation of a set of protocols and formats, some of which# we intend to standardize. We encourage commercial# re-implementations of code complying to this set of standards.##&usage() if ($#ARGV != 0);$filename = shift(@ARGV);$ps2txt_cmd = "ps2txt-2.1";$dviflag = "";$SIG{'INT'} = "cleanup";$SIG{'PIPE'} = "cleanup";$SIG{'TERM'} = "cleanup";## Read the PostScript file and strip the Prolog. Determine if the# PostScript was generated by dvips.#$start = 0;open(IN, "$filename") || die "Cannot read $filename: $!\n";while (<IN>) { $start = 1 if (/^%%EndProlog/o); $dviflag = "-dvi" if (/^%.*Creator:\s+dvips.*$/o); next if ($start == 0); last; # break the loop}seek(IN, 0, 0) if ($start == 0); # rewind the file to the beginning## this ps2txt# B--->A#pipe(A, B) || die "pipe"; # A is read, B is writedie "fork: $!" unless defined ($pid = fork());if ($pid == 0) { # child - ps2txt close(B); open(STDIN, "<&A") || die "open"; exec("$ps2txt_cmd $dviflag"); exit(0);}close(A);while (<IN>) { print B; # feed the ps file to the ps2txt process}close(IN);close(B); # finish off the pipe&cleanup();exit(0); # END OF PROGRAMsub cleanup { exit(0);}sub usage { print STDERR "Usage: ps2txt filename\n"; exit(1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -