]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | Xpdf |
2 | ==== | |
3 | ||
4 | version 2.02 | |
5 | 2003-mar-24 | |
6 | ||
7 | The Xpdf software and documentation are | |
8 | copyright 1996-2003 Glyph & Cog, LLC. | |
9 | ||
10 | Email: derekn@foolabs.com | |
11 | WWW: http://www.foolabs.com/xpdf/ | |
12 | ||
13 | The PDF data structures, operators, and specification are | |
14 | copyright 1985-2001 Adobe Systems Inc. | |
15 | ||
16 | ||
17 | What is Xpdf? | |
18 | ------------- | |
19 | ||
20 | Xpdf is an open source viewer for Portable Document Format (PDF) | |
21 | files. (These are also sometimes also called 'Acrobat' files, from | |
22 | the name of Adobe's PDF software.) The Xpdf project also includes a | |
23 | PDF text extractor, PDF-to-PostScript converter, and various other | |
24 | utilities. | |
25 | ||
26 | Xpdf runs under the X Window System on UNIX, VMS, and OS/2. The non-X | |
27 | components (pdftops, pdftotext, etc.) also run on Win32 systems and | |
28 | should run on pretty much any system with a decent C++ compiler. | |
29 | ||
30 | Xpdf is designed to be small and efficient. It can use Type 1, | |
31 | TrueType, or standard X fonts. | |
32 | ||
33 | ||
34 | Distribution | |
35 | ------------ | |
36 | ||
37 | Xpdf is licensed under the GNU General Public License (GPL), version | |
38 | 2. In my opinion, the GPL is a convoluted, confusing, ambiguous mess. | |
39 | But it's also pervasive, and I'm sick of arguing. And even if it is | |
40 | confusing, the basic idea is good. | |
41 | ||
42 | In order to cut down on the confusion a little bit, here are some | |
43 | informal clarifications: | |
44 | ||
45 | - I don't mind if you redistribute Xpdf in source and/or binary form, | |
46 | as long as you include all of the documentation: README, man pages | |
47 | (or help files), and COPYING. (Note that the README file contains a | |
48 | pointer to a web page with the source code.) | |
49 | ||
50 | - Selling a CD-ROM that contains Xpdf is fine with me, as long as it | |
51 | includes the documentation. I wouldn't mind receiving a sample | |
52 | copy, but it's not necessary. | |
53 | ||
54 | - If you make useful changes to Xpdf, please make the source code | |
55 | available -- post it on a web site, email it to me, whatever. | |
56 | ||
57 | If you're interested in commercial licensing, please see the Glyph & | |
58 | Cog web site: | |
59 | ||
60 | http://www.glyphandcog.com/ | |
61 | ||
62 | ||
63 | Compatibility | |
64 | ------------- | |
65 | ||
66 | Xpdf is developed and tested on a Linux 2.2 x86 system. | |
67 | ||
68 | In addition, it has been compiled by others on Solaris, AIX, HP-UX, | |
69 | SCO UnixWare, Digital Unix, Irix, and numerous other Unix | |
70 | implementations, as well as VMS and OS/2. It should work on pretty | |
71 | much any system which runs X11 and has Unix-like libraries. You'll | |
72 | need ANSI C++ and C compilers to compile it. | |
73 | ||
74 | The non-X components of Xpdf (pdftops, pdftotext, pdfinfo, pdffonts, | |
75 | pdfimages) can also be compiled on Win32 systems. See the Xpdf web | |
76 | page for details. | |
77 | ||
78 | If you compile Xpdf for a system not listed on the web page, please | |
79 | let me know. If you're willing to make your binary available by ftp | |
80 | or on the web, I'll be happy to add a link from the Xpdf web page. I | |
81 | have decided not to host any binaries I didn't compile myself (for | |
82 | disk space and support reasons). | |
83 | ||
84 | If you can't get Xpdf to compile on your system, send me email and | |
85 | I'll try to help. | |
86 | ||
87 | Xpdf has been ported to the Acorn, Amiga, BeOS, and EPOC. See the | |
88 | Xpdf web page for links. | |
89 | ||
90 | ||
91 | Getting Xpdf | |
92 | ------------ | |
93 | ||
94 | The latest version is available from: | |
95 | ||
96 | http://www.foolabs.com/xpdf/ | |
97 | ||
98 | or: | |
99 | ||
100 | ftp://ftp.foolabs.com/pub/xpdf/ | |
101 | ||
102 | Source code and several precompiled executables are available. | |
103 | ||
104 | Announcements of new versions are posted to several newsgroups | |
105 | (comp.text.pdf, comp.os.linux.announce, and others) and emailed to a | |
106 | list of people. If you'd like to receive email notification of new | |
107 | versions, just let me know. | |
108 | ||
109 | ||
110 | Running Xpdf | |
111 | ------------ | |
112 | ||
113 | To run xpdf, simply type: | |
114 | ||
115 | xpdf file.pdf | |
116 | ||
117 | To generate a PostScript file, hit the "print" button in xpdf, or run | |
118 | pdftops: | |
119 | ||
120 | pdftops file.pdf | |
121 | ||
122 | To generate a plain text file, run pdftotext: | |
123 | ||
124 | pdftotext file.pdf | |
125 | ||
126 | There are four additional utilities (which are fully described in | |
127 | their man pages): | |
128 | ||
129 | pdfinfo -- dumps a PDF file's Info dictionary (plus some other | |
130 | useful information) | |
131 | pdffonts -- lists the fonts used in a PDF file along with various | |
132 | information for each font | |
133 | pdftopbm -- converts a PDF file to a series of PBM-format bitmaps | |
134 | pdfimages -- extracts the images from a PDF file | |
135 | ||
136 | Command line options and many other details are described in the man | |
137 | pages (xpdf.1, etc.) and the VMS help files (xpdf.hlp, etc.). | |
138 | ||
139 | ||
140 | Upgrading from Xpdf 0.9x | |
141 | ------------------------ | |
142 | ||
143 | WARNING: Xpdf 1.x switched to a completely different config file setup | |
144 | than Xpdf 0.9x. | |
145 | ||
146 | Many of the configuration options that used to be X resources have | |
147 | been moved into the Xpdf config file. There are also lots of new and | |
148 | improved options. If you're upgrading from Xpdf 0.9x, please read | |
149 | through the sample config file (doc/sample-xpdfrc) and the xpdfrc(5) | |
150 | man page. | |
151 | ||
152 | The Asian language support has been pulled out into separate packages, | |
153 | loaded at run time. This is much cleaner than the 0.9x approach -- it | |
154 | makes the base distribution smaller, allows the language support | |
155 | packages to be upgraded separately, and lets users customize Xpdf for | |
156 | other text encodings without modifying the source. See the web site | |
157 | (http://www.foolabs.com/xpdf) for info on downloading the language | |
158 | support packages. | |
159 | ||
160 | All of the Xpdf tools, including the X viewer and the command line | |
161 | programs, read the same config file. They first attempt to read the | |
162 | user's personal config file: | |
163 | ||
164 | $HOME/.xpdfrc | |
165 | ||
166 | If it is not found, the Xpdf tools read a system-wide config file, | |
167 | typically something like: | |
168 | ||
169 | /usr/local/etc/xpdfrc | |
170 | ||
171 | (this location can be customized when building Xpdf). | |
172 | ||
173 | The Win32 command line tools look in the directory containing the | |
174 | executable, e.g.: | |
175 | ||
176 | C:/Program Files/Xpdf/xpdfrc | |
177 | ||
178 | Xpdf comes with a "sample-xpdfrc" file in the doc directory. This is | |
179 | a good starting point for constructing your own config file. | |
180 | ||
181 | For full details, please see the xpdfrc(5) man page. | |
182 | ||
183 | ||
184 | Fonts | |
185 | ----- | |
186 | ||
187 | By default, Xpdf will use X server fonts. It requires the following | |
188 | fonts: | |
189 | ||
190 | * Courier: medium-r, bold-r, medium-o, and bold-o | |
191 | * Helvetica: medium-r, bold-r, medium-o, and bold-o | |
192 | * Times: medium-r, bold-r, medium-i, and bold-i | |
193 | * Symbol: medium-r | |
194 | * Zapf Dingbats: medium-r | |
195 | ||
196 | Most X installations should already have all of these fonts (except | |
197 | maybe Zapf Dingbats). | |
198 | ||
199 | If Xpdf is built with support for t1lib (or FreeType 2), you can get | |
200 | much higher quality text by using Type 1 fonts instead of X server | |
201 | fonts. For example, you can use the Type 1 fonts that come with | |
202 | ghostscript. To do this, add the following lines to the xpdfrc file | |
203 | (e.g., /usr/local/etc/xpdfrc or $HOME/.xpdfrc): | |
204 | ||
205 | displayFontT1 Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb | |
206 | displayFontT1 Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb | |
207 | displayFontT1 Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb | |
208 | displayFontT1 Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb | |
209 | displayFontT1 Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb | |
210 | displayFontT1 Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb | |
211 | displayFontT1 Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb | |
212 | displayFontT1 Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb | |
213 | displayFontT1 Courier /usr/local/share/ghostscript/fonts/n022003l.pfb | |
214 | displayFontT1 Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb | |
215 | displayFontT1 Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb | |
216 | displayFontT1 Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb | |
217 | displayFontT1 Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb | |
218 | displayFontT1 ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb | |
219 | ||
220 | You will need to replace '/usr/local/share/ghostscript/fonts' with the | |
221 | appropriate path on your system. | |
222 | ||
223 | ||
224 | Compiling Xpdf | |
225 | -------------- | |
226 | ||
227 | See the separate file, INSTALL. | |
228 | ||
229 | ||
230 | Bugs | |
231 | ---- | |
232 | ||
233 | If you find a bug in Xpdf, i.e., if it prints an error message, | |
234 | crashes, or incorrectly displays a document, and you don't see that | |
235 | bug listed here, please send me email, with a pointer (URL, ftp site, | |
236 | etc.) to the PDF file. | |
237 | ||
238 | ||
239 | Acknowledgments | |
240 | --------------- | |
241 | ||
242 | Thanks to: | |
243 | ||
244 | * Patrick Voigt for help with the remote server code. | |
245 | * Patrick Moreau, Martin P.J. Zinser, and David Mathog for the VMS | |
246 | port. | |
247 | * David Boldt and Rick Rodgers for sample man pages. | |
248 | * Brendan Miller for the icon idea. | |
249 | * Olly Betts for help testing pdftotext. | |
250 | * Peter Ganten for the OS/2 port. | |
251 | * Michael Richmond for the Win32 port of pdftops and pdftotext and the | |
252 | xpdf/cygwin/XFree86 build instructions. | |
253 | * Frank M. Siegert for improvements in the PostScript code. | |
254 | * Leo Smiers for the decryption patches. | |
255 | * Rainer Menzner for creating t1lib, and for helping me adapt it to | |
256 | xpdf. | |
257 | * Pine Tree Systems A/S for funding the OPI and EPS support in | |
258 | pdftops. | |
259 | * Easy Software Products for funding the "sh" operator support. | |
260 | * Tom Kacvinsky for help with FreeType and for being my interface to | |
261 | the FreeType team. | |
262 | * Theppitak Karoonboonyanan for help with Thai support. | |
263 | * Leonard Rosenthol for help and contributions on a bunch of things. | |
264 | * Alexandros Diamantidis and Maria Adaloglou for help with Greek | |
265 | support. | |
266 | * Lawrence Lai for help with the CJK Unicode maps. | |
267 | ||
268 | Various people have contributed modifications made for use by the | |
269 | pdftex project: | |
270 | ||
271 | * Han The Thanh | |
272 |