home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / xpdf / freeware_readme.txt < prev    next >
Text File  |  1996-09-16  |  16KB  |  400 lines

  1. XPDF, Software, VMS/X11 reader for Adobe Acrobat etc. files
  2. xpdf
  3. ====
  4. and pdftops
  5.  
  6. version 0.5 (beta)
  7. 96-may-23
  8.  
  9. The xpdf and pdftops software and documentation are
  10. copyright 1996 Derek B. Noonburg.
  11.  
  12. Email: derekn@ece.cmu.edu
  13. WWW: http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
  14.  
  15. The PDF data structures, operators, and specification
  16. are copyright 1995 Adobe Systems Inc.
  17.  
  18.  
  19. What is xpdf?
  20. -------------
  21.  
  22. Xpdf is a viewer for Portable Document Format (PDF) files.  (These are
  23. also sometimes also called 'Acrobat' files, from the name of Adobe's
  24. PDF software.)  Xpdf runs under UNIX or VMS and the X Window System.
  25.  
  26. Xpdf is designed to be small and efficient.  It does not use the Motif
  27. or Xt libraries.  It uses standard X fonts.  Xpdf is quite usable on a
  28. 486-66 PC running Linux.
  29.  
  30.  
  31. Compatibility
  32. -------------
  33.  
  34. Xpdf is known to work on the following systems:
  35.  
  36. * x86, Linux 1.2.13 a.out, gcc 2.7.2
  37. * x86, Linux 1.2.13 ELF, gcc 2.7.2
  38. * PowerPC, AIX 4.1, gcc 2.7.0
  39. * SPARC, SunOS 4.1.3, gcc 2.7.2
  40. * MIPS, Ultrix 4.4, gcc 2.6.3
  41. * Alpha, OSF/1 3.2, gcc 2.7.0
  42. * HP-PA, HP-UX 9.05, gcc 2.7.2
  43.  
  44. It should work on pretty much any UNIX or VMS system which runs X11.
  45. You'll need ANSI C++ and C compilers to compile it.  If you compile it
  46. for a system not listed on the xpdf web page, please let me know.  If
  47. you're willing to make your binary available by ftp or on the web,
  48. I'll add a pointer to the web page.  If you can't get it to compile on
  49. your system, I'll try to help.
  50.  
  51.  
  52. Getting xpdf
  53. ------------
  54.  
  55. The latest version is available from:
  56.  
  57.   http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
  58.  
  59. or:
  60.  
  61.   ftp://ftp.andrew.cmu.edu/pub/xpdf/
  62.  
  63. Source code and several precompiled executables are available.
  64.  
  65. Announcements of new versions are posted to several newsgroups
  66. (comp.text.pdf, comp.os.linux.announce, and others) and emailed to a
  67. list of people.  If you'd like to receive email notification of new
  68. versions, just let me know.
  69.  
  70.  
  71. Running xpdf
  72. ------------
  73.  
  74. To run xpdf, simply type:
  75.  
  76.   xpdf file.pdf
  77.  
  78. where 'file.pdf' is your PDF file.  The file name can be followed by a
  79. number specifying the page which should be displayed first, e.g.:
  80.  
  81.   xpdf file.pdf 18
  82.  
  83. On-screen controls, at the bottom of the xpdf window:
  84.  
  85.   left/right arrow buttons:
  86.     Move to the previous/next page.
  87.  
  88.   'Page' entry box:
  89.     Move to a specific page number.  Click in the box to activate it,
  90.     type the page number, then hit return.
  91.  
  92.   magnifying glass buttons:
  93.     Increase and decrease the resolution, i.e., zoom in and zoom out.
  94.  
  95.   print button:
  96.     Bring up a dialog for generating a PostScript file.  The dialog
  97.     has options to set the pages to be printed and the PostScript file
  98.     name.
  99.  
  100.   curved arrow buttons:
  101.     Rotate the page clockwise and counterclockwise.  These are
  102.     intended primarily for PDF files where the rotation isn't
  103.     correctly specified in the file, but they're also useful if your X
  104.     server doesn't support font rotation.
  105.  
  106.   '?' button:
  107.     Bring up the 'about xpdf' window.
  108.  
  109.   'Quit' button:
  110.     Quit xpdf.
  111.  
  112. Links:
  113.  
  114.   Clicking on a hyperlink will jump to the link's destination.
  115.   Currently, only links within PDF documents or to another PDF file
  116.   are supported.  Clicking on a URL link just prints the URL.
  117.   Clicking on any other type of link (e.g., links to executable
  118.   programs) prints an error message.
  119.  
  120. Key bindings:
  121.  
  122.   n            move to the next page
  123.  
  124.   p            move to the previous page
  125.  
  126.   <Space>      scroll down on the current page; if already at bottom,
  127.   <PageDown>     move to next page
  128.   <Next>
  129.  
  130.   <Backspace>  scroll up on the current page; if already at top, move
  131.   <Delete>       to previous page
  132.   <PageUp> 
  133.   <Previous>
  134.  
  135.   <Home>       scroll to top of current page
  136.  
  137.   <End>        scroll to bottom of current page
  138.  
  139.   arrows       scroll the current page
  140.  
  141.   control-L    redraw the current page
  142.  
  143.   q            quit xpdf
  144.  
  145. Command line options and X resources:
  146.  
  147.   -err
  148.     Send error messages to /dev/tty instead of stderr (useful if xpdf
  149.     is started from another application, e.g., netscape which
  150.     otherwise pops up an annoying little window for every error).
  151.  
  152.   -z <number>                [xpdf.initialZoom]
  153.     Set the initial zoom factor (-5 .. 5).
  154.  
  155.   -g <geometry>              [xpdf.geometry]
  156.   -geometry <geometry>
  157.     Set the initial window geometry.
  158.  
  159.   -remote <name>
  160.     Start/contact xpdf remote server with specified name (see the
  161.     'Remote server mode' section below).
  162.  
  163.   -raise
  164.     Raise xpdf remote server window (with -remote only).
  165.  
  166.   -quit
  167.     Kill xpdf remote server (with -remote only).
  168.  
  169.   -rgb <number>
  170.     Set the size of largest RGB cube xpdf will try to allocate.  The
  171.     default is 5 (for a 5x5x5 cube); set to a smaller number to
  172.     conserve color table entries.
  173.  
  174.   -cmd
  175.     Print commands as they're executed (useful for debugging).
  176.  
  177.   -h or -help
  178.     Print usage information.
  179.  
  180. Several other standard X options and resources will work as expected:
  181.  
  182.   -display <display>         [xpdf.display]
  183.  
  184.   -foreground <color>        [xpdf.foreground]
  185.   -fg <color>
  186.  
  187.   -background <color>        [xpdf.background]
  188.   -bg <color>
  189.  
  190.   -font <font>               [xpdf.font]
  191.   -fn <font>
  192.  
  193. The color and font options only affect the user interface elements,
  194. not the PDF display (the 'paper').
  195.  
  196.  
  197. Web browsers
  198. ------------
  199.  
  200. If you want to run xpdf automatically from netscape or mosaic (and
  201. probably other browsers) when you click on a link to a PDF file, you
  202. need to edit (or create) the files '.mime.types' and '.mailcap' in
  203. your home directory.  In '.mime.types' add the line:
  204.  
  205.     application/pdf pdf
  206.  
  207. In '.mailcap' add the lines:
  208.  
  209.     # Use xpdf to view PDF files.
  210.     application/pdf; xpdf -err %s
  211.  
  212. Make sure that xpdf is on your executable search path.
  213.  
  214.  
  215. Remote server mode
  216. ------------------
  217.  
  218. Xpdf can be started in remote server mode by specifying a server name
  219. (in addition to the file name and page number).  For example:
  220.  
  221.   xpdf -remote myServer file.pdf
  222.  
  223. If there is currently no xpdf running in server mode with the name
  224. 'myServer', a new xpdf window will be opened.  If another command:
  225.  
  226.   xpdf -remote myServer another.pdf 9
  227.  
  228. is issued, a new copy of xpdf will not be started.  Instead, the first
  229. xpdf (the server) will load 'another.pdf' and display page nine.  If
  230. the file name is the same:
  231.  
  232.   xpdf -remote myServer another.pdf 4
  233.  
  234. the xpdf server will simply display the specified page.
  235.  
  236. The -raise option tells the server to raise its window; it can be
  237. specified with or without a file name and page number.
  238.  
  239. The -quit option tells the server to close its window and exit.
  240.  
  241.  
  242. Fonts
  243. -----
  244.  
  245. Xpdf uses X server fonts.  It requires the following fonts:
  246.  
  247. * courier: medium-r, bold-r, medium-o, and bold-o
  248. * helvetica: medium-r, bold-r, medium-o, and bold-o
  249. * times: medium-r, bold-r, medium-i, and bold-i
  250. * symbol: medium-r
  251. * Zapf Dingbats: medium-r
  252.  
  253. Most X installations should already have all of these fonts, except
  254. Zapf Dingbats (which isn't used very heavily anyway).
  255.  
  256. X servers, starting at R5, support font scaling.  Xpdf will
  257. automatically take advantage of this.  There are two types of scaling.
  258. The first type uses standard bitmap fonts: if a font doesn't exist in
  259. the requested size, the server will scale the bitmapped characters.
  260. This is reasonably fast, and the results are readable but not very
  261. pretty.  X servers can also handle true scalable, e.g., Type-1, fonts.
  262. (The free Adobe Acrobat Reader comes with a set of Type-1 fonts which
  263. can be used by X; see the mkfontdir(1) man page for details on setting
  264. these up.)  Scalable fonts are slower, especially since PDF documents
  265. tend to use lots of fonts, but they look much nicer.
  266.  
  267. Some X servers also support font rotation.  Xpdf will use this feature
  268. if available.
  269.  
  270.  
  271. PostScript output
  272. -----------------
  273.  
  274. Xpdf can generate PostScript files.  Click on the 'printer' button,
  275. select the pages you want to print and the name for the PostScript
  276. file, and click 'Ok' (or hit return).
  277.  
  278. There is also a separate program which converts PDF files to
  279. PostScript.  It runs from the command line, and can be compiled
  280. without the X includes and libraries.  To run it, type:
  281.  
  282.   pdftops file.pdf
  283.  
  284. to generate 'file.ps' or:
  285.  
  286.   pdftops file.pdf anotherfile.ps
  287.  
  288. to generate 'anotherfile.ps'.
  289.  
  290. You can specify a range of pages to convert:
  291.  
  292.   pdftops -f 3 -l 17 file.ps
  293.  
  294. will generate PostScript for pages 3 through 17.
  295.  
  296. Downloading fonts is not currently supported.  This means that if xpdf
  297. has trouble displaying the document, the PostScript output will
  298. probably look just as bad.
  299.  
  300. The generated PostScript is Level 2.  If you have an old printer which
  301. supports only Level 1 PostScript, you won't be able to print the
  302. files.  I'm not sure how many Level 1 printers are out there -- if you
  303. want Level 1 PostScript output, send me email, and if there's enough
  304. interest, I'll work on it.
  305.  
  306. The PostScript output has not been thoroughly tested yet.  Please send
  307. me email if you find any bugs.
  308.  
  309.  
  310. Distribution
  311. ------------
  312.  
  313. Xpdf may be distributed under the following conditions:
  314.  
  315. 1. The file 'README' is included, unmodified, in the distribution.
  316.  
  317. 2. The distribution includes:
  318.    a. all of the xpdf source code, unmodified; OR
  319.    b. one or more xpdf executables, compiled from the unmodified
  320.       source code; OR
  321.    c. both of the above.
  322.  
  323. If you distribute xpdf, I would appreciate receiving a pointer (ftp
  324. site, BBS phone number, etc.) or a copy (disk, CD-ROM, etc.).
  325.  
  326. Modified versions of xpdf or applications using some or all of the
  327. xpdf code (i.e., 'derivative works' under copyright law) may not be
  328. distributed without explicit permission.
  329.  
  330.  
  331. Bugs
  332. ----
  333.  
  334. This is an beta release of xpdf, and there are still a bunch of PDF
  335. features which I have yet to implement.
  336.  
  337. At this point, the biggest problem is that embedded fonts are not
  338. handled correctly.
  339.  
  340. If you find a bug in xpdf, i.e., if it prints an error message,
  341. crashes, or incorrectly displays a document, and you don't see that
  342. bug listed here, please send me email, with a pointer (URL, ftp site,
  343. etc.) to the PDF file.
  344.  
  345. This is a list of things which I plan to add (in approximate order of
  346. priority):
  347.  
  348. * forms
  349. * text search/select/copy
  350. * separate program to extract all text from PDF file
  351. * text annotations
  352. * bookmarks
  353. * support for Adobe Acrobat Amber optimized PDF files
  354. * article threads
  355. * index window or mode -- outline and/or thumbnails
  356. * distribute with a small demo PDF file
  357. * RunLength filter (I haven't found a PDF file which uses this)
  358. * encryption (if I can get documentation)
  359. * adding text to clipping path
  360. * miter limit
  361. * text rendering mode (X display and PostScript output)
  362. * separate pdftoppm program (args are PDF file, page number, and
  363.   resolution (in dpi))
  364.  
  365. There are also some problems which I know about.  This is a list of
  366. things which I plan to fix:
  367.  
  368. * handle embedded Type-1 and Type-3 fonts
  369.   - on screen (dump Type-1 fonts to file and let X server load them?)
  370.   - embed in PostScript files
  371. * "cancel" button to stop page computation
  372. * pan by dragging with button 2
  373. * do a better job of scaling and dithering images
  374.   - look at 'Interpolate' param;
  375. * rotated (non-90) images
  376. * fix trademark ('TM') constructed char to use smaller font
  377. * greek small fonts
  378. * deal better with file names in GoToR links
  379. * deal better with TrueColor visuals (don't use RGB cube)
  380. * option and resource for private color map
  381. * "load file" button, file dialog
  382. * mark links on screen
  383. * support other link types
  384. * some kind of 'configure' script to build Makefile.config
  385. * "save bitmap" (PPM) command (how to generate 24-bit image?)
  386. * efficiently handle very large files - don't read entire catalog,
  387.   xref, etc. (is this necessary?)
  388. * don't allocate full-size pixmap (optional?  only if > N bytes?)
  389.  
  390.  
  391. Acknowledgments
  392. ---------------
  393.  
  394. Thanks to:
  395.  
  396. * Patrick Voigt for help with the remote server code.
  397. * Patrick Moreau for the VMS port.
  398. * David Boldt and Rick Rodgers for sample man pages.
  399.